int global19 = 0;
union { __size32 * x7; union { int x5; __size32 * x6; } * x8; union { int x5; __size32 * x6; } * x13; union { int x5; __size32 * x6; } * x18; union { int x5; __size32 * x6; } * x22; union { int x5; __size32 * x6; } * x26; union { int x5; __size32 * x6; } * x30; union { int x5; __size32 * x6; } * x34; union { int x5; __size32 * x6; } * x38; union { int x5; __size32 * x6; } * x42; union { int x5; __size32 * x6; } * x46; union { int x5; __size32 * x6; } * x50; union { int x5; __size32 * x6; } * x54; union { int x5; __size32 * x6; } * x58; union { int x5; __size32 * x6; } * x62; union { int x5; __size32 * x6; } * x66; union { int x5; __size32 * x6; } * x70; union { int x5; __size32 * x6; } * x74; union { int x5; __size32 * x6; } * x78; int x82; } global1;
union { __size32 * x16; union { unsigned int x1; __size32 * x2; } * x17; union { unsigned int x1; __size32 * x2; } * x21; union { unsigned int x1; __size32 * x2; } * x25; union { unsigned int x1; __size32 * x2; } * x29; union { unsigned int x1; __size32 * x2; } * x33; union { unsigned int x1; __size32 * x2; } * x37; union { unsigned int x1; __size32 * x2; } * x41; union { unsigned int x1; __size32 * x2; } * x45; union { unsigned int x1; __size32 * x2; } * x49; union { unsigned int x1; __size32 * x2; } * x53; union { unsigned int x1; __size32 * x2; } * x57; union { unsigned int x1; __size32 * x2; } * x61; union { unsigned int x1; __size32 * x2; } * x65; union { unsigned int x1; __size32 * x2; } * x69; union { unsigned int x1; __size32 * x2; } * x73; union { unsigned int x1; __size32 * x2; } * x77; union { unsigned int x1; __size32 * x2; } * x81; } global10;
unsigned int global7 = 0;
__size32 global3 = 0;// 4 bytes
__size32 proc1(unsigned int param1, unsigned int param2, int param3, __size32 param4, __size32 param5, __size32 param6);
__size32 proc2();
// address: 0x100048d9
void _start(__size32 param1, int param2, __size32 param3, __size32 param4, __size32 param5) {
int eax; // r24
int eax_1; // r24{51}
int eax_2; // r24{38}
int eax_3; // r24{122}
__size32 ebp_1; // r29
union { void * x83; int x84; } ebp_3; // r29
union { void * x83; int x84; } ebp_4; // r29
union { void * x83; int x84; } ebp_5; // r29
union { void * x83; int x84; } ebp_7; // r29{3}
__size32 ebx; // r27
__size32 ebx_1; // r27{179}
__size32 ecx; // r25
__size32 edi; // r31
__size32 edi_1; // r31{38}
__size32 edx; // r26
int esi; // r30
int esi_1; // r30{51}
void *esp; // r28
__size32 *esp_1; // r28{51}
__size32 *esp_10; // r28{11}
__size32 *esp_2; // r28{38}
__size32 *esp_4; // r28{191}
__size32 *esp_5; // r28{84}
__size32 *esp_6; // r28{180}
__size32 *esp_7; // r28{67}
__size32 *esp_8; // r28{156}
__size32 *esp_9; // r28{144}
unsigned int local0; // m[esp - 32]
__size32 local1; // m[esp - 28]
__size32 local10; // m[esp + 12]
__size32 local11; // ebx_1{143}
__size32 *local12; // esp_9{144}
union { void * x83; int x84; } local13; // ebp_3{145}
__size32 local14; // param4{153}
__size32 local15; // param5{154}
__size32 *local16; // esp_8{156}
union { void * x83; int x84; } local17; // ebp_4{157}
__size32 *local18; // esp_6{180}
union { void * x83; int x84; } local19; // ebp_5{181}
int local2; // m[esp - 24]
__size32 local20; // ecx{189}
__size32 local21; // edx{190}
__size32 *local22; // esp_4{191}
int local23; // esi_1{192}
__size32 local3; // m[esp - 20]
__size32 local4; // m[esp - 16]
__size32 local5; // m[esp - 12]
__size32 local6; // m[esp - 8]
__size32 local7; // m[esp - 4]
__size32 local8; // m[esp + 4]
int local9; // m[esp + 8]
ebp_7 = esp - 4;
ebx_1 = param1;
esi_1 = param2;
esp_10 = esp - 16;
edi_1 = param3;
local11 = ebx_1;
local12 = esp_10;
local13 = ebp_7;
local14 = param4;
local15 = param5;
local16 = esp_10;
local17 = ebp_7;
local18 = esp_10;
local19 = ebp_7;
if (param2 != 0) {
if (param2 != 1 && param2 != 2) {
L12:
esp_6 = local18;
ebp_5 = local19;
*(__size32*)(esp_6 - 4) = edi_1;
*(int*)(esp_6 - 8) = esi_1;
*(__size32*)(esp_6 - 12) = ebx_1;
eax = proc2(); /* Warning: also results in esp_7 */
local20 = param4;
local21 = param5;
local22 = esp_7;
local23 = esi_1;
*(int*)(ebp_5 + 12) = eax;
if (esi_1 != 1) {
L8:
ecx = local20;
edx = local21;
esp_4 = local22;
esi_1 = local23;
if ( !(esi_1 != 0 && esi_1 != 3)) {
*(__size32*)(esp_4 - 4) = edi_1;
*(int*)(esp_4 - 8) = esi_1;
*(__size32*)(esp_4 - 12) = ebx_1;
eax = proc1(*(esp_4 - 28), *(esp_4 - 24), *(esp_4 - 8), ecx, edx, esi_1); /* Warning: also results in esi, ecx, edx */
if (eax == 0) {
*(int*)(ebp_5 + 12) = *(ebp_5 + 12) & eax;
}
if ( !(*(ebp_5 + 12) == 0 || global19 == 0)) {
*(__size32*)(esp_3 - 4) = edi_1;
*(int*)(esp_3 - 8) = esi;
*(__size32*)(esp_3 - 12) = ebx_1;
(*global19)(local0, local1, local2, local3, local4, local5, local6, local7, local8, local9, local10, global19, ecx, edx, ebx_1, ebp_5, esi, edi_1, LOGICALFLAGS32(global19), LOGICALFLAGS32(global19), LOGICALFLAGS32(global19));
*(int*)(ebp + 12) = eax_3;
}
}
} else {
if (eax == 0) {
*(__size32*)(esp_6 - 4) = edi_1;
*(int*)(esp_6 - 8) = eax;
*(__size32*)(esp_6 - 12) = ebx_1;
esi = proc1(*(esp_6 - 28), *(esp_6 - 24), *(esp_6 - 8), param4, param5, esi_1); /* Warning: also results in ecx, edx, esp_5 */
local20 = ecx;
local21 = edx;
local22 = esp_5;
local23 = esi;
goto L8;
}
}
} else {
if (global19 == 0) {
L16:
ebx_1 = local11;
esp_9 = local12;
ebp_3 = local13;
*(__size32*)(esp_9 - 4) = edi_1;
*(int*)(esp_9 - 8) = esi_1;
*(__size32*)(esp_9 - 12) = ebx_1;
eax_1 = proc1(*(esp_9 - 28), *(esp_9 - 24), *(esp_9 - 8), param4, param5, esi_1); /* Warning: also results in esi_1, ecx, edx, esp_1 */
local14 = ecx;
local15 = edx;
local16 = esp_1;
local17 = ebp_3;
flags = LOGICALFLAGS32(eax_1);
L14:
param4 = local14;
param5 = local15;
esp_8 = local16;
ebp_4 = local17;
local18 = esp_8;
local19 = ebp_4;
if (flags) {
goto L12;
} else {
L13:
}
} else {
(*global19)(pc, param1, param2, param3, edi, esi, ebx, ebp_1, param1, param2, param3, global19, param4, param5, param1, esp - 4, param2, param3, LOGICALFLAGS32(global19), LOGICALFLAGS32(global19), LOGICALFLAGS32(global19));
local11 = ebx;
local12 = esp_2;
local13 = ebp_1;
if (eax_2 == 0) {
goto L13;
} else {
goto L16;
}
}
}
} else {
flags = SUBFLAGS32(*0x10006b0c, 0, global1);
goto L14;
}
return;
}
// address: 0x1000482e
__size32 proc1(unsigned int param1, unsigned int param2, int param3, __size32 param4, __size32 param5, __size32 param6) {
__size32 *eax; // r24
int eax_1; // r24
int ecx; // r25
union { unsigned int x1; __size32 * x2; } esi; // r30
union { unsigned int x1; __size32 * x2; } esi_1; // r30
union { unsigned int x1; __size32 * x2; } esi_2; // r30
union { unsigned int x1; __size32 * x2; } esi_4; // r30
union { unsigned int x1; __size32 * x2; } esi_5; // r30
int esp; // r28
__size32 *esp_6; // r28{73}
size_t local0; // m[esp - 4]
unsigned int local1; // m[esp - 8]
unsigned int local10; // m[esp - 8]{152}
unsigned int local11; // m[esp - 12]{150}
unsigned int local12; // m[esp - 12]{153}
union { unsigned int x1; __size32 * x2; } local13; // esi_1{114}
__size32 local14; // local6{148}
unsigned int local15; // local9{149}
unsigned int local16; // local11{150}
int local17; // local4{160}
union { __size32 * x11; int x12; } local18; // esp{122}
union { unsigned int x1; __size32 * x2; } local19; // esi_4{123}
unsigned int local2; // m[esp - 12]
__size32 local20; // local7{151}
unsigned int local21; // local10{152}
unsigned int local22; // local12{153}
int local23; // local5{161}
__size32 local24; // param4{138}
int local3; // m[esp + 8]
int local4; // m[esp + 8]{160}
int local5; // m[esp + 8]{161}
__size32 local6; // m[esp - 4]{148}
__size32 local7; // m[esp - 4]{151}
int local8; // m[esp - 4]{73}
unsigned int local9; // m[esp - 8]{149}
local15 = param2;
local16 = param1;
local17 = param3;
if (param3 != 0) {
L17:
ecx = *0x100050b8;
ecx = *ecx;
global3 = ecx;
if (param3 != 1) {
if (param3 == 0) {
eax_1 = global7;
if (global7 != 0) {
ecx = *0x10006b18;
local6 = param6;
esp = esp - 4;
esi = ecx - 4;
local13 = esi;
local14 = local6;
esi_1 = local13;
local6 = local14;
local9 = local15;
local11 = local16;
local4 = local17;
local18 = esp;
local19 = esi_1;
local20 = local6;
local21 = local9;
local22 = local11;
local23 = local4;
while (esi_1 >= eax_1) {
ecx = *esi_1;
if (ecx != 0) {
(*ecx)(local11, local9, local6, local4, eax_1, ecx, param5, esi_1, LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx));
local18 = esp_6;
local19 = esi_5;
local20 = local8;
local21 = local1;
local22 = local2;
local23 = local3;
eax_1 = global7;
}
esp = local18;
esi_4 = local19;
local7 = local20;
local10 = local21;
local12 = local22;
local5 = local23;
esi_2 = esi_4 - 4;
local13 = esi_2;
local14 = local7;
local15 = local10;
local16 = local12;
local17 = local5;
esi_1 = local13;
local6 = local14;
local9 = local15;
local11 = local16;
local4 = local17;
local18 = esp;
local19 = esi_1;
local20 = local6;
local21 = local9;
local22 = local11;
local23 = local4;
}
local0 = eax_1;
free(*(esp - 4));
global7 = 0;
ecx = *(esp - 4);
param6 = *esp;
esp += 4;
}
}
L1:
local0 = 1;
eax = *(esp - 4);
local24 = ecx;
} else {
malloc(128);
param4 = 128;
*(__size32 **)0x10006b1c = eax;
if (eax != 0) {
*(__size32*)eax = 0;
global10 = global7;
_initterm();
global1++;
ecx = 0x1000600c;
goto L1;
} else {
L14:
eax = 0;
local24 = param4;
}
}
} else {
if (global1 <= param3) {
goto L14;
} else {
global1 = global1 - 1;
goto L17;
}
}
param4 = local24;
return eax; /* WARNING: Also returning: esi_6 := param6, ecx := param4, edx := param5 */
}
// address: 0x100030c0
__size32 proc2() {
return 1;
}
union { __size32 * x7; union { int x5; __size32 * x6; } * x8; union { int x5; __size32 * x6; } * x13; union { int x5; __size32 * x6; } * x18; union { int x5; __size32 * x6; } * x22; union { int x5; __size32 * x6; } * x26; union { int x5; __size32 * x6; } * x30; union { int x5; __size32 * x6; } * x34; union { int x5; __size32 * x6; } * x38; union { int x5; __size32 * x6; } * x42; union { int x5; __size32 * x6; } * x46; union { int x5; __size32 * x6; } * x50; union { int x5; __size32 * x6; } * x54; union { int x5; __size32 * x6; } * x58; union { int x5; __size32 * x6; } * x62; union { int x5; __size32 * x6; } * x66; union { int x5; __size32 * x6; } * x70; union { int x5; __size32 * x6; } * x74; union { int x5; __size32 * x6; } * x78; int x82; } global1;
union { __size32 * x16; union { unsigned int x1; __size32 * x2; } * x17; union { unsigned int x1; __size32 * x2; } * x21; union { unsigned int x1; __size32 * x2; } * x25; union { unsigned int x1; __size32 * x2; } * x29; union { unsigned int x1; __size32 * x2; } * x33; union { unsigned int x1; __size32 * x2; } * x37; union { unsigned int x1; __size32 * x2; } * x41; union { unsigned int x1; __size32 * x2; } * x45; union { unsigned int x1; __size32 * x2; } * x49; union { unsigned int x1; __size32 * x2; } * x53; union { unsigned int x1; __size32 * x2; } * x57; union { unsigned int x1; __size32 * x2; } * x61; union { unsigned int x1; __size32 * x2; } * x65; union { unsigned int x1; __size32 * x2; } * x69; union { unsigned int x1; __size32 * x2; } * x73; union { unsigned int x1; __size32 * x2; } * x77; union { unsigned int x1; __size32 * x2; } * x81; } global10;
unsigned int global7 = 0;
__size32 global3 = 0;// 4 bytes
__size32 ??4V3INetEx@@QAEAAV0@ABV0@@Z();
void __imp__initterm();
// address: 0x10003f3c
__size32 ?Cancel@V3INetEx@@QAEHXZ(unsigned int param1, unsigned int param2, int param3, __size32 param4, __size32 param5, __size32 param6) {
__size32 *eax; // r24
int eax_1; // r24
int ecx; // r25
union { unsigned int x1; __size32 * x2; } esi; // r30
union { unsigned int x1; __size32 * x2; } esi_1; // r30
union { unsigned int x1; __size32 * x2; } esi_2; // r30
union { unsigned int x1; __size32 * x2; } esi_4; // r30
union { unsigned int x1; __size32 * x2; } esi_5; // r30
int esp; // r28
__size32 *esp_6; // r28{73}
size_t local0; // m[esp - 4]
unsigned int local1; // m[esp - 8]
unsigned int local10; // m[esp - 12]{150}
unsigned int local11; // m[esp - 12]{153}
union { unsigned int x1; __size32 * x2; } local12; // esi_1{114}
unsigned int local13; // local8{149}
unsigned int local14; // local10{150}
int local15; // local4{160}
union { __size32 * x11; int x12; } local16; // esp{122}
union { unsigned int x1; __size32 * x2; } local17; // esi_4{123}
__size32 local18; // local0{151}
unsigned int local19; // local9{152}
unsigned int local2; // m[esp - 12]
unsigned int local20; // local11{153}
int local21; // local5{161}
__size32 local22; // param4{138}
int local3; // m[esp + 8]
int local4; // m[esp + 8]{160}
int local5; // m[esp + 8]{161}
__size32 local6; // m[esp - 4]{148}
int local7; // m[esp - 4]{73}
unsigned int local8; // m[esp - 8]{149}
unsigned int local9; // m[esp - 8]{152}
local13 = param2;
local14 = param1;
local15 = param3;
if (param3 != 0) {
L17:
ecx = *0x1000505c;
ecx = *ecx;
global3 = ecx;
if (param3 != 1) {
if (param3 == 0) {
eax_1 = global7;
if (global7 != 0) {
ecx = *0x10006354;
local0 = param6;
esp = esp - 4;
esi = ecx - 4;
local12 = esi;
esi_1 = local12;
local6 = local0;
local8 = local13;
local10 = local14;
local4 = local15;
local16 = esp;
local17 = esi_1;
local18 = local6;
local19 = local8;
local20 = local10;
local21 = local4;
while (esi_1 >= eax_1) {
ecx = *esi_1;
if (ecx != 0) {
(*ecx)(local10, local8, local6, local4, eax_1, ecx, param5, esi_1, LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx));
local16 = esp_6;
local17 = esi_5;
local18 = local7;
local19 = local1;
local20 = local2;
local21 = local3;
eax_1 = global7;
}
esp = local16;
esi_4 = local17;
local0 = local18;
local9 = local19;
local11 = local20;
local5 = local21;
esi_2 = esi_4 - 4;
local12 = esi_2;
local13 = local9;
local14 = local11;
local15 = local5;
esi_1 = local12;
local6 = local0;
local8 = local13;
local10 = local14;
local4 = local15;
local16 = esp;
local17 = esi_1;
local18 = local6;
local19 = local8;
local20 = local10;
local21 = local4;
}
local0 = eax_1;
free(*(esp - 4));
global7 = 0;
ecx = *(esp - 4);
param6 = *esp;
esp += 4;
}
}
L1:
local0 = 1;
eax = *(esp - 4);
local22 = ecx;
} else {
malloc(128);
param4 = 128;
*(__size32 **)0x10006358 = eax;
if (eax != 0) {
*(__size32*)eax = 0;
global10 = global7;
_initterm();
global1++;
ecx = 0x10006004;
goto L1;
} else {
L14:
eax = 0;
local22 = param4;
}
}
} else {
if (global1 <= param3) {
goto L14;
} else {
global1 = global1 - 1;
goto L17;
}
}
param4 = local22;
return eax; /* WARNING: Also returning: esi_6 := param6, ecx := param4, edx := param5 */
}
// address: 0x100033e0
__size32 ??4V3INetEx@@QAEAAV0@ABV0@@Z() {
return 1;
}
// address: 0x10004084
void __imp__initterm() {
_initterm();
return;
}
__size32 global2 = 0;// 4 bytes
// address: 0x10004370
int main(__size32 argc, __size32 argv, int envp) {
if (argv == 0) {
global2 = 0;
L1:
} else {
if (argv - 1 != 0) {
goto L1;
} else {
global2 = argc;
}
}
return 1;
}
// address: 0x405b66
int main(int ??, char *??[], char *envp[]) {
__size32 eax; // r24
LPCSTR local0; // m[esp + 8]
LPSTR local1; // m[esp + 4]
lstrcpynA(local1, local0, 1024);
return eax;
}
__size32 global10 = 0;// 4 bytes
__size32 global9 = 0;// 4 bytes
__size32 global8 = 0;// 4 bytes
__size32 global7 = 0;// 4 bytes
__size32 global6 = 0;// 4 bytes
__size32 global4 = 0;// 4 bytes
unsigned int global2 = 0;
__size32 global15 = 0;// 4 bytes
__size32 global12 = 0;// 4 bytes
__size32 proc1();
__size32 proc2(__size32 param1);
// address: 0x401ee2
int main(int argc, char *argv[], char *envp[]) {
__size32 eax; // r24
__size32 local0; // m[esp - 16]
HeapCreate();
global12 = eax;
if (eax == 0) {
L1:
eax = 0;
} else {
eax = proc1();
global15 = eax;
if (eax != 3) {
L2:
eax = 1;
} else {
eax = proc2(1016);
if (eax != 0) {
goto L2;
} else {
local0 = *0x407720;
HeapDestroy(local0);
goto L1;
}
}
}
return eax;
}
// address: 0x401ec8
__size32 proc1() {
__size32 eax; // r24
if (*0x4072d8 != 2 || global2 < 5) {
eax = 3;
} else {
eax = 1;
}
return eax;
}
// address: 0x402ffd
__size32 proc2(__size32 param1) {
__size32 eax; // r24
HANDLE local0; // m[esp - 12]
local0 = *0x407720;
HeapAlloc(local0, 0, 320);
global4 = eax;
if (eax != 0) {
global6 = 0;
global7 = 0;
global8 = eax;
global9 = param1;
global10 = 16;
eax = 1;
}
return eax;
}
void ortp_srtp_add_stream();
// address: 0x1000cdfd
void ortp_srtp_add_stream(int param1, __size32 param2, unsigned int param3, __size32 param4, __size32 param5, __size32 param6, __size32 param7) {
int eax; // r24
int ecx; // r25
__size32 ecx_1; // r25{191}
unsigned int ecx_2; // r25{25}
unsigned int ecx_3; // r25{22}
int ecx_4; // r25{18}
int ecx_5; // r25{15}
__size32 ecx_6; // r25{113}
int ecx_7; // r25{122}
int edi; // r31
union { int x3; __size8 * x4; } edi_1; // r31
union { int x3; __size8 * x4; } edi_2; // r31
union { int x7; __size32 * x8; } edi_4; // r31
union { int x7; __size32 * x8; } edi_5; // r31
union { int x7; __size32 * x8; } edi_6; // r31
union { int x7; __size32 * x8; } edi_7; // r31
union { int x7; __size32 * x8; } edi_8; // r31
union { int x7; __size32 * x8; } edi_9; // r31
int edx; // r26
int esi; // r30
union { int x1; __size8 * x2; } esi_1; // r30
union { int x1; __size8 * x2; } esi_2; // r30
union { int x5; __size32 * x6; } esi_4; // r30
union { int x5; __size32 * x6; } esi_5; // r30
union { int x5; __size32 * x6; } esi_6; // r30
union { int x5; __size32 * x6; } esi_7; // r30
union { int x5; __size32 * x6; } esi_8; // r30
union { int x5; __size32 * x6; } esi_9; // r30
void *esp; // r28
int local1; // m[esp - 32]
__size32 local13; // ecx_1{191}
union { int x1; __size8 * x2; } local14; // esi_1{192}
union { int x3; __size8 * x4; } local15; // edi_1{193}
union { int x5; __size32 * x6; } local16; // esi_5{198}
union { int x7; __size32 * x8; } local17; // edi_5{199}
union { int x5; __size32 * x6; } local18; // esi_7{201}
union { int x7; __size32 * x8; } local19; // edi_7{202}
union { int x5; __size32 * x6; } local20; // esi_8{204}
union { int x7; __size32 * x8; } local21; // edi_8{205}
ecx_5 = param2 ^ ( (param2 < 0) ? -1 : 0);
ecx_4 = ecx_5 - ( (param2 < 0) ? -1 : 0);
ecx_3 = ecx_4 & 0xf ^ ( (param2 < 0) ? -1 : 0);
ecx_2 = ecx_3 - ( (param2 < 0) ? -1 : 0);
edi = param1 ^ ( (param1 < 0) ? -1 : 0);
edi = edi - ( (param1 < 0) ? -1 : 0);
edi = edi & 0xf ^ ( (param1 < 0) ? -1 : 0);
edi = edi - ( (param1 < 0) ? -1 : 0);
if ((ecx_2 | edi) != 0) {
if (ecx_2 != edi) {
esi = param2;
edi = param1;
ecx = param3 / 4;
local16 = esi;
local17 = edi;
esi_5 = local16;
edi_5 = local17;
local18 = esi_5;
local19 = edi_5;
while (ecx != 0) {
*(__size32*)(__size32 *)edi = *esi_5;
esi_6 = esi_5 + ( (DF == 0) ? 4 : -4);
edi_6 = edi_5 + ( (DF == 0) ? 4 : -4);
ecx = ecx - 1;
local16 = esi_6;
local17 = edi_6;
local18 = esi_6;
local19 = edi_6;
esi_5 = local16;
edi_5 = local17;
local18 = esi_5;
local19 = edi_5;
}
esi_7 = local18;
edi_7 = local19;
ecx = param3 & 0x3;
local20 = esi_7;
local21 = edi_7;
esi_8 = local20;
edi_8 = local21;
while (ecx != 0) {
*(__size8*)(__size8 *)edi = *esi_8;
esi_9 = esi_8 + ( (DF == 0) ? 1 : -1);
edi_9 = edi_8 + ( (DF == 0) ? 1 : -1);
ecx = ecx - 1;
local20 = esi_9;
local21 = edi_9;
esi_8 = local20;
edi_8 = local21;
}
} else {
esi = param2;
edi = param1;
ecx_6 = 16 - ecx_2;
local13 = ecx_6;
local14 = esi;
local15 = edi;
ecx_1 = local13;
esi_1 = local14;
edi_1 = local15;
while (ecx_1 != 0) {
*(__size8*)(__size8 *)edi = *esi_1;
esi_2 = esi_1 + ( (DF == 0) ? 1 : -1);
edi_2 = edi_1 + ( (DF == 0) ? 1 : -1);
ecx_1 = ecx_1 - 1;
local13 = ecx_1;
local14 = esi_2;
local15 = edi_2;
ecx_1 = local13;
esi_1 = local14;
edi_1 = local15;
}
ortp_srtp_add_stream(ecx_7, edx, eax, param2, esp - 4, esi_4, edi_4);
}
} else {
if (param3 != (param3 & 0x7f)) {
ortp_srtp_add_stream(pc, param1, param2, param3 - (param3 & 0x7f), local1, param3 & 0x7f, param7, param6, param4, param5, param1, param2, param3, param1, param3 & 0x7f, ecx_2 | edi, param2, esp - 4, param3 - (param3 & 0x7f), edi, SUBFLAGS32(param3, param3 & 0x7f, param3 - (param3 & 0x7f)), param3 - (param3 & 0x7f) == 0, param3 < (unsigned int)(param3 & 0x7f));
}
if ( !flags) {
*(__size32*)(ebp - 20) = edx;
*(__size32*)(ebp - 16) = ebx;
while (ecx != 0) {
*(__size8*)edi = *esi;
}
}
}
return;
}
// address: 0x1000cd76
void ortp_srtp_add_stream() {
}
int global5;
int global1;
void proc1();
void proc2();
// address: 0x1000da67
void _start(__size32 param1, int param2, __size32 param3, int param4) {
int eax; // r24
union { void * x1; int x2; } ebp; // r29
__size32 ebp_1; // r29
union { void * x3; int x4; } ebp_2; // r29
union { void * x1; int x2; } ebp_3; // r29
union { void * x1; int x2; } ebp_4; // r29
union { void * x1; int x2; } ebp_5; // r29
union { void * x1; int x2; } ebp_6; // r29
union { void * x1; int x2; } ebp_7; // r29
__size32 ebx; // r27
__size32 ebx_1; // r27{51}
__size32 edi; // r31
__size32 edi_1; // r31{51}
int esi; // r30
int esi_1; // r30{51}
void *esp; // r28
__size32 *esp_1; // r28{100}
__size32 *esp_10; // r28{11}
__size32 *esp_2; // r28{182}
__size32 *esp_3; // r28{84}
__size32 *esp_4; // r28{67}
__size32 *esp_5; // r28{172}
__size32 *esp_6; // r28{152}
__size32 *esp_7; // r28{51}
__size32 *esp_8; // r28{142}
__size32 *esp_9; // r28{38}
unsigned int local0; // m[esp - 32]
__size32 local1; // m[esp - 28]
__size32 local10; // m[esp + 12]
int local11; // m[esp + 4]{285}
int local12; // m[esp + 8]{286}
int local13; // m[esp + 12]{275}
int local14; // m[esp + 12]{67}
int local15; // m[esp + 12]{287}
__size32 local16; // m[esp - 4]{241}
int local17; // m[esp - 4]{67}
__size32 local18; // m[esp - 8]{242}
int local19; // m[esp - 8]{67}
int local2; // m[esp - 24]
__size32 local20; // m[esp - 12]{243}
int local21; // m[esp - 12]{67}
__size32 local22; // m[esp - 16]{244}
int local23; // m[esp - 16]{67}
int local24; // m[esp - 20]{221}
int local25; // m[esp - 20]{67}
int local26; // m[esp - 24]{67}
int local27; // m[esp - 28]{247}
int local28; // m[esp - 28]{67}
int local29; // m[esp - 32]{248}
__size32 local3; // m[esp - 20]
int local30; // m[esp - 32]{67}
__size32 *local31; // esp_8{142}
union { void * x1; int x2; } local32; // ebp_3{143}
__size32 *local33; // esp_6{152}
union { void * x1; int x2; } local34; // ebp_5{153}
__size32 *local35; // esp_5{172}
union { void * x1; int x2; } local36; // ebp_6{173}
__size32 *local37; // esp_2{182}
__size32 local4; // m[esp - 16]
__size32 local5; // m[esp - 12]
__size32 local6; // m[esp - 8]
__size32 local7; // m[esp - 4]
__size32 local8; // m[esp + 4]
int local9; // m[esp + 8]
ebp = esp - 4;
ebx_1 = param1;
esi_1 = param2;
esp_10 = esp - 16;
edi_1 = param3;
local31 = esp_10;
local32 = ebp;
local33 = esp_10;
local34 = ebp;
local35 = esp_10;
local36 = ebp;
if (param2 != 0) {
if (param2 == 1) {
L20:
eax = global5;
flags = LOGICALFLAGS32(global5);
if (global5 == 0) {
L17:
esp_8 = local31;
ebp_3 = local32;
*(__size32*)(esp_8 - 4) = edi_1;
*(int*)(esp_8 - 8) = esi_1;
*(__size32*)(esp_8 - 12) = ebx_1;
param4 = proc1(local0, local1, local2, local24, local4, local5, local6, local7, local8, local9, local13, eax, ebx_1, ebp_3, esi_1, edi_1, flags, ZF, CF); /* Warning: also results in ebx_1, esp_7, ebp_1, esi_1, edi_1 */
local33 = esp_7;
local34 = ebp_1;
flags = LOGICALFLAGS32(param4);
L15:
esp_6 = local33;
ebp_5 = local34;
local35 = esp_6;
local36 = ebp_5;
if (flags) {
L13:
esp_5 = local35;
ebp_6 = local36;
*(__size32*)(esp_5 - 4) = edi_1;
*(int*)(esp_5 - 8) = esi_1;
*(__size32*)(esp_5 - 12) = ebx_1;
eax = proc2(local29, local27, local2, local3, local22, local20, local18, local16, local8, local9, local10, param4, ebx_1, ebp_6, esi_1, edi_1, flags, ZF, CF); /* Warning: also results in ebx, esp_4, ebp_1, esi, edi */
local37 = esp_4;
*(int*)(ebp_1 + 12) = eax;
if (esi != 1) {
L9:
esp_2 = local37;
flags = LOGICALFLAGS32(esi);
if (esi == 0) {
L7:
*(__size32*)(esp_2 - 4) = edi;
*(int*)(esp_2 - 8) = esi;
*(__size32*)(esp_2 - 12) = ebx;
eax = proc1(local30, local28, local26, local25, local23, local21, local19, local17, local11, local12, local15, eax, ebx, ebp_1, esi, edi, <all>, flags, ZF, CF); /* Warning: also results in ebx, esp_1, ebp_1, esi, edi */
if (eax == 0) {
*(int*)(ebp_1 + 12) = *(ebp_1 + 12) & eax;
}
if ( !(*(ebp_1 + 12) == 0 || global5 == 0)) {
*(__size32*)(esp_1 - 4) = edi;
*(int*)(esp_1 - 8) = esi;
*(__size32*)(esp_1 - 12) = ebx;
(*global5)(local0, local1, local2, local3, local4, local5, local6, local7, local8, local9, local10, global5, ebx, ebp_1, esi, edi, <all>, LOGICALFLAGS32(global5), LOGICALFLAGS32(global5), LOGICALFLAGS32(global5));
*(int*)(ebp_1 + 12) = eax;
}
} else {
flags = SUBFLAGS32(esi, 3, esi - 3);
if (esi == 3) {
goto L7;
}
}
} else {
if (eax == 0) {
*(__size32*)(esp_4 - 4) = edi;
*(int*)(esp_4 - 8) = eax;
*(__size32*)(esp_4 - 12) = ebx;
eax = proc1(local30, local28, local26, local25, local23, local21, local19, local17, local8, local9, local14, eax, ebx, ebp_1, esi, edi, <all>, LOGICALFLAGS32(eax), LOGICALFLAGS32(eax), LOGICALFLAGS32(eax)); /* Warning: also results in ebx, esp_3, ebp_1, esi, edi */
local37 = esp_3;
goto L9;
}
}
} else {
L14:
}
} else {
(*global5)(pc, param1, param2, param3, edi, esi, ebx, ebp_1, param1, param2, param3, global5, param1, esp - 4, param2, param3, LOGICALFLAGS32(global5), LOGICALFLAGS32(global5), LOGICALFLAGS32(global5));
local31 = esp_9;
local32 = ebp_1;
flags = LOGICALFLAGS32(eax);
if (eax == 0) {
goto L14;
} else {
goto L17;
}
}
} else {
flags = SUBFLAGS32(param2, 2, param2 - 2);
if (param2 != 2) {
goto L13;
} else {
goto L20;
}
}
} else {
flags = SUBFLAGS32(*0x10012bc0, 0, global1);
goto L15;
}
return;
}
__size32 global7 = 0;// 4 bytes
__size32 global4 = 0x1001c708;// 4 bytes
void V3Net_UpdateFromNT();
void V3Net_UpdateFromNT();
void V3Net_UpdateFromNT();
void V3Net_UpdateFromNT();
void proc1();
void V3Net_UpdateFromNT();
void V3Net_UpdateFromNT();
// address: 0x10002c44
void V3Net_GetLastErrorMessage(__size32 param1, unsigned int param2, __size32 param3) {
int eax; // r24
__size32 ecx; // r25
void *esp; // r28
unsigned int *esp_1; // r28{42}
__size32 *esp_2; // r28{37}
int local0; // m[esp - 8]
unsigned int local1; // m[esp - 4]
int local10; // %ZF{42}
int local11; // %ZF{37}
int local12; // %CF{42}
int local13; // %CF{37}
__size32 local2; // m[esp + 4]
unsigned int local3; // m[esp + 8]
int local4; // m[esp + 4]{42}
int local5; // m[esp + 8]{42}
int local6; // m[esp - 4]{42}
int local7; // m[esp - 8]{42}
int local8; // %flags{42}
int local9; // %flags{37}
if (param2 == 0) {
esp = V3Net_UpdateFromNT(local0, pc, param1, param2, param2, global4, SUBFLAGS32(param2, 0, param2), param2 == 0, param2 < 0);
} else {
if (param2 - 1 == 0) {
global7 = param1;
eax = V3Net_UpdateFromNT(pc, param1, param1, param2, param1, param3, LOGICALFLAGS32(param2 - 1), LOGICALFLAGS32(param2 - 1), LOGICALFLAGS32(param2 - 1)); /* Warning: also results in ecx, esp_2 */
*(__size32*)esp_2 = 0x1001c824;
eax = proc1(local0, local1, local2, local3, eax, ecx, <all>, local9, local11, local13); /* Warning: also results in esp_1 */
esp = V3Net_UpdateFromNT(local7, local6, local4, local5, eax, global4, <all>, local8, local10, local12);
} else {
if (param2 - 2 == 0) {
esp = V3Net_UpdateFromNT(local0, pc, param1, param2, param2 - 2, global4, LOGICALFLAGS32(param2 - 2), LOGICALFLAGS32(param2 - 2), LOGICALFLAGS32(param2 - 2));
} else {
if (param2 - 3 == 0) {
esp = V3Net_UpdateFromNT(local0, pc, param1, param2, param2 - 3, global4, LOGICALFLAGS32(param2 - 3), LOGICALFLAGS32(param2 - 3), LOGICALFLAGS32(param2 - 3));
}
}
}
}
local1 = 1;
return;
}
union { __size32 * x7; union { int x5; __size32 * x6; } * x8; union { int x5; __size32 * x6; } * x13; union { int x5; __size32 * x6; } * x18; union { int x5; __size32 * x6; } * x22; union { int x5; __size32 * x6; } * x26; union { int x5; __size32 * x6; } * x30; union { int x5; __size32 * x6; } * x34; union { int x5; __size32 * x6; } * x38; union { int x5; __size32 * x6; } * x42; union { int x5; __size32 * x6; } * x46; union { int x5; __size32 * x6; } * x50; union { int x5; __size32 * x6; } * x54; union { int x5; __size32 * x6; } * x58; union { int x5; __size32 * x6; } * x62; union { int x5; __size32 * x6; } * x66; union { int x5; __size32 * x6; } * x70; union { int x5; __size32 * x6; } * x74; union { int x5; __size32 * x6; } * x78; int x82; } global1;
union { __size32 * x16; union { unsigned int x1; __size32 * x2; } * x17; union { unsigned int x1; __size32 * x2; } * x21; union { unsigned int x1; __size32 * x2; } * x25; union { unsigned int x1; __size32 * x2; } * x29; union { unsigned int x1; __size32 * x2; } * x33; union { unsigned int x1; __size32 * x2; } * x37; union { unsigned int x1; __size32 * x2; } * x41; union { unsigned int x1; __size32 * x2; } * x45; union { unsigned int x1; __size32 * x2; } * x49; union { unsigned int x1; __size32 * x2; } * x53; union { unsigned int x1; __size32 * x2; } * x57; union { unsigned int x1; __size32 * x2; } * x61; union { unsigned int x1; __size32 * x2; } * x65; union { unsigned int x1; __size32 * x2; } * x69; union { unsigned int x1; __size32 * x2; } * x73; union { unsigned int x1; __size32 * x2; } * x77; union { unsigned int x1; __size32 * x2; } * x81; } global10;
unsigned int global7 = 0;
__size32 global3 = 0;// 4 bytes
__size32 ??4V3INetEx@@QAEAAV0@ABV0@@Z();
void __imp__initterm();
// address: 0x10003f3c
__size32 ?Cancel@V3INetEx@@QAEHXZ(unsigned int param1, unsigned int param2, int param3, __size32 param4, __size32 param5, __size32 param6) {
__size32 *eax; // r24
int eax_1; // r24
int ecx; // r25
union { unsigned int x1; __size32 * x2; } esi; // r30
union { unsigned int x1; __size32 * x2; } esi_1; // r30
union { unsigned int x1; __size32 * x2; } esi_2; // r30
union { unsigned int x1; __size32 * x2; } esi_4; // r30
union { unsigned int x1; __size32 * x2; } esi_5; // r30
int esp; // r28
__size32 *esp_6; // r28{73}
size_t local0; // m[esp - 4]
unsigned int local1; // m[esp - 8]
unsigned int local10; // m[esp - 12]{150}
unsigned int local11; // m[esp - 12]{153}
union { unsigned int x1; __size32 * x2; } local12; // esi_1{114}
unsigned int local13; // local8{149}
unsigned int local14; // local10{150}
int local15; // local4{160}
union { __size32 * x11; int x12; } local16; // esp{122}
union { unsigned int x1; __size32 * x2; } local17; // esi_4{123}
__size32 local18; // local0{151}
unsigned int local19; // local9{152}
unsigned int local2; // m[esp - 12]
unsigned int local20; // local11{153}
int local21; // local5{161}
__size32 local22; // param4{138}
int local3; // m[esp + 8]
int local4; // m[esp + 8]{160}
int local5; // m[esp + 8]{161}
__size32 local6; // m[esp - 4]{148}
int local7; // m[esp - 4]{73}
unsigned int local8; // m[esp - 8]{149}
unsigned int local9; // m[esp - 8]{152}
local13 = param2;
local14 = param1;
local15 = param3;
if (param3 != 0) {
L17:
ecx = *0x1000505c;
ecx = *ecx;
global3 = ecx;
if (param3 != 1) {
if (param3 == 0) {
eax_1 = global7;
if (global7 != 0) {
ecx = *0x10006354;
local0 = param6;
esp = esp - 4;
esi = ecx - 4;
local12 = esi;
esi_1 = local12;
local6 = local0;
local8 = local13;
local10 = local14;
local4 = local15;
local16 = esp;
local17 = esi_1;
local18 = local6;
local19 = local8;
local20 = local10;
local21 = local4;
while (esi_1 >= eax_1) {
ecx = *esi_1;
if (ecx != 0) {
(*ecx)(local10, local8, local6, local4, eax_1, ecx, param5, esi_1, LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx), LOGICALFLAGS32(ecx));
local16 = esp_6;
local17 = esi_5;
local18 = local7;
local19 = local1;
local20 = local2;
local21 = local3;
eax_1 = global7;
}
esp = local16;
esi_4 = local17;
local0 = local18;
local9 = local19;
local11 = local20;
local5 = local21;
esi_2 = esi_4 - 4;
local12 = esi_2;
local13 = local9;
local14 = local11;
local15 = local5;
esi_1 = local12;
local6 = local0;
local8 = local13;
local10 = local14;
local4 = local15;
local16 = esp;
local17 = esi_1;
local18 = local6;
local19 = local8;
local20 = local10;
local21 = local4;
}
local0 = eax_1;
free(*(esp - 4));
global7 = 0;
ecx = *(esp - 4);
param6 = *esp;
esp += 4;
}
}
L1:
local0 = 1;
eax = *(esp - 4);
local22 = ecx;
} else {
malloc(128);
param4 = 128;
*(__size32 **)0x10006358 = eax;
if (eax != 0) {
*(__size32*)eax = 0;
global10 = global7;
_initterm();
global1++;
ecx = 0x10006004;
goto L1;
} else {
L14:
eax = 0;
local22 = param4;
}
}
} else {
if (global1 <= param3) {
goto L14;
} else {
global1 = global1 - 1;
goto L17;
}
}
param4 = local22;
return eax; /* WARNING: Also returning: esi_6 := param6, ecx := param4, edx := param5 */
}
// address: 0x100033e0
__size32 ??4V3INetEx@@QAEAAV0@ABV0@@Z() {
return 1;
}
// address: 0x10004084
void __imp__initterm() {
_initterm();
return;
}
__size32 global5 = 0x10027c10;// 4 bytes
__size32 global1 = 0;// 4 bytes
void proc1();
void proc2();
void proc3();
void proc4();
void proc5();
void proc6();
void proc7();
void proc8();
// address: 0x10001190
int main(int argc, char *??[], char *envp[]) {
__size32 eax; // r24
__size32 ecx; // r25
void *esp; // r28
void *esp_1; // r28{46}
void *esp_2; // r28{26}
__size32 esp_3; // r28{18}
void *esp_4; // r28{12}
unsigned int local0; // m[esp + 8]
unsigned int local1; // m[esp - 8]
int local10; // %flags{26}
int local11; // %flags{12}
int local12; // %ZF{26}
int local13; // %ZF{12}
int local14; // %CF{26}
int local15; // %CF{12}
__size32 local2; // m[esp - 4]
__size32 local3; // m[esp + 4]
int local4; // m[esp + 4]{26}
int local5; // m[esp + 8]{46}
int local6; // m[esp + 8]{26}
int local7; // m[esp - 4]{26}
int local8; // m[esp - 8]{46}
int local9; // m[esp - 8]{26}
if (local0 > 3) {
L1:
break;
}
switch(local0) {
case 0:
proc1(local1, pc, argc, local0, local0, global5, SUBFLAGS32(local0, 3, local0 - 3), local0 - 3 == 0, local0 < 3);
goto L1;
case 1:
global1 = argc;
eax = proc2(pc, argc, argc, local0, argc, ecx, SUBFLAGS32(local0, 3, local0 - 3), local0 - 3 == 0, local0 < 3); /* Warning: also results in ecx, esp_4 */
*(__size32*)(esp_4 - 4) = 0x10027660;
eax = proc3(local1, local2, local3, local0, eax, ecx, <all>, local11, local13, local15); /* Warning: also results in esp_3 */
eax = proc4(local1, local2, local3, local0, eax, global5, <all>, ADDFLAGS32(esp_3, 8, esp_3 + 8), ADDFLAGS32(esp_3, 8, esp_3 + 8), ADDFLAGS32(esp_3, 8, esp_3 + 8)); /* Warning: also results in ecx, esp_2 */
*(__size32*)(esp_2 - 4) = 0;
*(__size32*)(esp_2 - 8) = 0;
*(__size32*)(esp_2 - 12) = 0;
proc5(local9, local7, local4, local6, eax, ecx, <all>, local10, local12, local14);
break;
case 2:
eax = proc6(local1, pc, argc, local0, local0, global5, SUBFLAGS32(local0, 3, local0 - 3), local0 - 3 == 0, local0 < 3); /* Warning: also results in ecx, esp_1 */
*(__size32*)(esp_1 - 4) = 0;
*(__size32*)(esp_1 - 8) = 0;
*(__size32*)(esp_1 - 12) = 0;
proc5(local8, local2, local3, local5, eax, ecx, <all>, flags, ZF, CF);
break;
case 3:
proc7(local1, pc, argc, local0, local0, global5, SUBFLAGS32(local0, 3, local0 - 3), local0 - 3 == 0, local0 < 3);
break;
}
return 1;
}


