Skip to content

Instantly share code, notes, and snippets.

@nathan130200
Last active February 25, 2018 01:01
Show Gist options
  • Save nathan130200/5427ca88d82b2fd577a1a42eed33a117 to your computer and use it in GitHub Desktop.
Save nathan130200/5427ca88d82b2fd577a1a42eed33a117 to your computer and use it in GitHub Desktop.
OperacoesMatematicasTest
int __cdecl main(int argc, char **argv)
{
__int64 v2; // rax@1
__int64 v3; // rax@1
__int64 v4; // rax@1
__int64 v5; // rax@1
__int64 v6; // rax@1
__int64 v7; // rax@1
__int64 v8; // rax@1
int v9; // eax@8
__int64 v10; // rdi@8
int v11; // ebx@8
__int64 v12; // rsi@8
__int64 v13; // rax@8
__int64 v14; // rax@8
__int64 v15; // rax@8
__int64 v16; // rax@8
__int64 v17; // rax@8
int v18; // eax@9
__int64 v19; // rdi@9
int v20; // ebx@9
__int64 v21; // rsi@9
__int64 v22; // rax@9
__int64 v23; // rax@9
__int64 v24; // rax@9
__int64 v25; // rax@9
__int64 v26; // rax@9
int v27; // eax@10
__int64 v28; // rdi@10
int v29; // ebx@10
__int64 v30; // rsi@10
__int64 v31; // rax@10
__int64 v32; // rax@10
__int64 v33; // rax@10
__int64 v34; // rax@10
__int64 v35; // rax@10
int v36; // eax@11
__int64 v37; // rdi@11
int v38; // ebx@11
__int64 v39; // rsi@11
__int64 v40; // rax@11
__int64 v41; // rax@11
__int64 v42; // rax@11
__int64 v43; // rax@11
__int64 v44; // rax@11
__int64 v45; // rax@12
char operacao[1024]; // [sp+30h] [bp-50h]@1
int in2; // [sp+438h] [bp+3B8h]@1
int in1; // [sp+43Ch] [bp+3BCh]@1
_main();
LODWORD(v2) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"Digite um numero: ",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v2);
ZNSirsERi(*(_QWORD *)&argc, argv, &in1, &ZSt3cin);
LODWORD(v3) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"Digite outro numero: ",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v3);
ZNSirsERi(*(_QWORD *)&argc, argv, &in2, &ZSt3cin);
LODWORD(v4) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"Digite uma das opcoes abaixo: ",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v4);
LODWORD(v5) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"+ Para Adicao.",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v5);
LODWORD(v6) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"- Para Subtracao.",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v6);
LODWORD(v7) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"* Para Multiplicacao.",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v7);
LODWORD(v8) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"/ Para Divisao.",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v8);
ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_(*(_QWORD *)&argc, argv, operacao, &ZSt3cin);
if ( operacao[0] == 43 )
{
v9 = ZN10Matematica20OperacoesMatematicas6AdicaoEii(
*(Matematica::OperacoesMatematicas *const *)&argc,
(int)argv,
in1);
v10 = (unsigned int)v9;
v11 = in2;
v12 = (unsigned int)in1;
LODWORD(v13) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
(unsigned int)v9,
(unsigned int)in1,
"A Adicao entre ",
&ZSt4cout);
LODWORD(v14) = ZNSolsEi(v10, v12, (unsigned int)v12, v13);
LODWORD(v15) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v10, v12, " e ", v14);
LODWORD(v16) = ZNSolsEi(v10, v12, (unsigned int)v11, v15);
LODWORD(v17) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v10, v12, " e igual a: ", v16);
ZNSolsEi(v10, v12, (unsigned int)v10, v17);
}
else if ( operacao[0] > 43 )
{
if ( operacao[0] == 45 )
{
v18 = ZN10Matematica20OperacoesMatematicas9SubtracaoEii(
*(Matematica::OperacoesMatematicas *const *)&argc,
(int)argv,
in1);
v19 = (unsigned int)v18;
v20 = in2;
v21 = (unsigned int)in1;
LODWORD(v22) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
(unsigned int)v18,
(unsigned int)in1,
"A Subtracao entre ",
&ZSt4cout);
LODWORD(v23) = ZNSolsEi(v19, v21, (unsigned int)v21, v22);
LODWORD(v24) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v19, v21, " e ", v23);
LODWORD(v25) = ZNSolsEi(v19, v21, (unsigned int)v20, v24);
LODWORD(v26) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v19, v21, " e igual a: ", v25);
ZNSolsEi(v19, v21, (unsigned int)v19, v26);
}
else
{
if ( operacao[0] != 47 )
goto LABEL_12;
v36 = ZN10Matematica20OperacoesMatematicas7DivisaoEii(
*(Matematica::OperacoesMatematicas *const *)&argc,
(int)argv,
in1);
v37 = (unsigned int)v36;
v38 = in2;
v39 = (unsigned int)in1;
LODWORD(v40) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
(unsigned int)v36,
(unsigned int)in1,
"A Divisao entre ",
&ZSt4cout);
LODWORD(v41) = ZNSolsEi(v37, v39, (unsigned int)v39, v40);
LODWORD(v42) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v37, v39, " e ", v41);
LODWORD(v43) = ZNSolsEi(v37, v39, (unsigned int)v38, v42);
LODWORD(v44) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v37, v39, " e igual a: ", v43);
ZNSolsEi(v37, v39, (unsigned int)v37, v44);
}
}
else
{
if ( operacao[0] != 42 )
{
LABEL_12:
LODWORD(v45) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
*(_QWORD *)&argc,
argv,
"Hm infelizmente a operacao digitada nao e valida!",
&ZSt4cout);
ZNSolsEPFRSoS_E(
*(__int64 *)&argc,
(__int64)argv,
(__int64)&ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_,
v45);
return 0;
}
v27 = ZN10Matematica20OperacoesMatematicas13MultiplicacaoEii(
*(Matematica::OperacoesMatematicas *const *)&argc,
(int)argv,
in1);
v28 = (unsigned int)v27;
v29 = in2;
v30 = (unsigned int)in1;
LODWORD(v31) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(
(unsigned int)v27,
(unsigned int)in1,
"A Multiplicacao entre ",
&ZSt4cout);
LODWORD(v32) = ZNSolsEi(v28, v30, (unsigned int)v30, v31);
LODWORD(v33) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v28, v30, " e ", v32);
LODWORD(v34) = ZNSolsEi(v28, v30, (unsigned int)v29, v33);
LODWORD(v35) = ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(v28, v30, " e igual a: ", v34);
ZNSolsEi(v28, v30, (unsigned int)v28, v35);
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment