E004022E0(intOrPtr __eax, void* __rbx, signed long long __rcx, intOrPtr __rdx, void* __rdi, void* __rsi, intOrPtr __r8, long long __r12, signed long long __r13, long long _a8, long long _a16) {
void* _v40;
char _v44;
signed long long _v56;
signed int _v60;
void* _v80;
intOrPtr _v84;
intOrPtr _v96;
char _v104;
char _v120;
intOrPtr _v132;
void* _v144;
char _v168;
char _v304;
intOrPtr _t72;
void* _t73;
long _t74;
long _t75;
int _t76;
char _t80;
long _t81;
intOrPtr _t87;
intOrPtr _t88;
int _t93;
signed int _t97;
signed int _t110;
void* _t111;
void* _t113;
long long _t115;
signed int* _t124;
signed long long _t129;
signed int _t130;
void* _t132;
signed char* _t140;
intOrPtr* _t143;
intOrPtr _t153;
intOrPtr _t162;
intOrPtr _t164;
intOrPtr _t172;
long long _t178;
signed int _t207;
long long _t212;
_t218 = __r13;
_t212 = __r12;
_t196 = __r8;
_t153 = __rdx;
_t72 = __eax;
_push(__r13);
_push(__r12);
_push(_t178);
_push(__rdi);
_push(__rsi);
_push(__rbx);
_t129 = __rcx;
_t164 = __rdx;
_t172 = __r8;
if(__r8 != 0) {
_t97 = *0x44a360;
__eflags = _t97;
if(__eflags <= 0) {
goto L7;
} else {
_t116 = *0x44a358;
_t113 = 0;
asm("o16 nop [eax+eax]");
do {
_t153 = *((intOrPtr*)(_t116 + 8));
__eflags = _t129 - _t153;
if(_t129 < _t153) {
goto L6;
} else {
_t196 = *((intOrPtr*)(_t116 + 0x10));
r8d = *(_t196 + 8);
_t153 = _t153 + _t196;
__eflags = _t129 - _t153;
if(_t129 < _t153) {
L17:
_t178 = VirtualQuery;
L11:
r8d = 0x30;
_t154 = &_v168;
_t75 = VirtualQuery(??, ??, ??);
__eflags = _t116;
if(_t116 == 0) {
L25:
_t140 = " VirtualQuery failed for %d bytes at address %p";
_t198 = _t129;
_t76 = E00402270(_t75, _t129, _t140, _t154, _t164, _t172, _t198, _t207, _t212, _t218);
_push(_t178);
_push(_t212);
_push(_t164);
_push(_t172);
_push(_t129);
r12d = *0x44a350;
__eflags = r12d;
if(__eflags == 0) {
*0x44a350 = 1;
E004029A0(__eflags);
_t76 = E00403100(_t116);
_t130 = 0x447310;
*0x44a360 = 0;
*0x44a358 = &_v304;
__eflags = 0x447310 - 7;
if(0x447310 <= 7) {
goto L27;
} else {
__eflags = 0 - 0xb;
if(0 <= 0xb) {
L43:
r9d = *_t130;
__eflags = r9d;
if(r9d != 0) {
goto L32;
} else {
r8d = *(_t130 + 4);
__eflags = r8d;
if(r8d != 0) {
goto L32;
} else {
goto L45;
}
}
} else {
_t110 = *0x447310; // 0x0
__eflags = _t110;
if(_t110 != 0) {
L32:
__eflags = _t130 - 0x447310;
if(_t130 >= 0x447310) {
goto L27;
} else {
do {
r8d = 4;
_t140 = &(_t140[0x400000]);
_t80 = *_t140 + *_t130;
_t130 = _t130 + 8;
_v44 = _t80;
_t76 = E004022E0(_t80, _t130, _t140, &_v44, 0x400000, 0x447310, _t198, _t212, _t218);
__eflags = _t130 - 0x447310;
} while (_t130 < 0x447310);
goto L35;
}
} else {
r11d = *0x447314; // 0x0
__eflags = r11d;
if(r11d == 0) {
r10d = *0x447318; // 0x0
__eflags = r10d;
if(r10d != 0) {
L45:
__eflags = *(_t130 + 8) - 1;
if( *(_t130 + 8) != 1) {
L74:
_t143 = " Unknown pseudo relocation protocol version %d.\n";
E00402270(_t76, _t130, _t143, _t154, _t164, 0x447310, _t198, _t207, _t212, _t218);
0;
0;
__eflags = *_t143 - 0x5a4d;
if( *_t143 != 0x5a4d) {
L76:
asm("repe ret");
}
_t143 = _t143 + *((intOrPtr*)(_t143 + 0x3c));
__eflags = *_t143 - 0x4550;
if( *_t143 != 0x4550) {
goto L76;
}
__eflags = *((short*)(_t143 + 0x18)) - 0x20b;
_t71 = *((short*)(_t143 + 0x18)) == 0x20b;
__eflags = _t71;
return 0 | _t71;
} else {
_t132 = _t130 + 0xc;
__eflags = _t132 - 0x447310;
if(_t132 < 0x447310) {
do {
r8d = *(_t132 + 8);
_t76 = r8b & 0xffffffff;
_t154 = _t154 + 0x400000;
_t140 = &(_t140[0x400000]);
__eflags = _t76 - 0x10;
_t207 = *_t154;
if(__eflags == 0) {
r8d = *_t140 & 0x0000ffff;
__eflags = r8d & 0x00008000;
if((r8d & 0x00008000) == 0) {
goto L61;
} else {
_t198 = (_t198 | 0xffff0000) - _t154 + _t207;
__eflags = _t198;
_v56 = _t198;
goto L60;
}
} else {
if(__eflags > 0) {
L52:
__eflags = _t76 - 0x20;
if(_t76 == 0x20) {
r8d = *_t140;
__eflags = r8d & 0x80000000;
if((r8d & 0x80000000) == 0) {
goto L61;
} else {
_t198 = (_t198 | 0x00000000) - _t154 + _t207;
__eflags = _t198;
_v56 = _t198;
goto L67;
}
} else {
__eflags = _t76 - 0x40;
if(_t76 != 0x40) {
goto L51;
} else {
_t207 = _t207 - _t154 + *_t140;
__eflags = _t207;
_v56 = _t207;
goto L55;
}
}
} else {
__eflags = _t76 - 8;
if(_t76 == 8) {
r8d = *_t140 & 0x000000ff;
__eflags = r8b & 0x00000080;
if((r8b & 0x00000080) == 0) {
L61:
_t198 = _t198 - _t154;
_t207 = _t207 + _t198;
__eflags = _t76 - 0x10;
_v56 = _t207;
if(__eflags == 0) {
L60:
_t154 = &_v56;
r8d = 2;
_t76 = E004022E0(_t76, _t132, _t140, _t154, 0x400000, 0x447310, _t198, 0, _t218);
} else {
if(__eflags > 0) {
__eflags = _t76 - 0x20;
if(_t76 == 0x20) {
L67:
_t154 = &_v56;
r8d = 4;
_t76 = E004022E0(_t76, _t132, _t140, _t154, 0x400000, 0x447310, _t198, 0, _t218);
} else {
__eflags = _t76 - 0x40;
if(_t76 == 0x40) {
L55:
_t154 = &_v56;
r8d = 8;
_t76 = E004022E0(_t76, _t132, _t140, _t154, 0x400000, 0x447310, _t198, 0, _t218);
}
}
} else {
__eflags = _t76 - 8;
if(_t76 == 8) {
goto L64;
}
}
}
} else {
_t198 = (_t198 | 0xffffff00) - _t154 + _t207;
_v56 = _t198;
L64:
_t154 = &_v56;
r8d = 1;
_t76 = E004022E0(_t76, _t132, _t140, _t154, 0x400000, 0x447310, _t198, 0, _t218);
}
} else {
L51:
_t140 = " Unknown pseudo relocation bit size %d.\n";
_v56 = 0;
_t76 = E00402270(_t76, _t132, _t140, _t154, 0x400000, 0x447310, _t198, _t207, 0, _t218);
goto L52;
}
}
}
_t132 = _t132 + 0xc;
__eflags = _t132 - 0x447310;
} while (_t132 < 0x447310);
L35:
__eflags = *0x44a360;
if( *0x44a360 > 0) {
_t111 = 0;
_t212 = VirtualQuery;
_t164 = VirtualProtect;
do {
_t124 = _t130 + *0x44a358;
__eflags = *_t124;
if( *_t124 == 0) {
goto L37;
} else {
r8d = 0x30;
_t154 = &_v104;
_t81 = VirtualQuery(??, ??, ??);
__eflags = _t124;
if(_t124 == 0) {
_t130 = _t130 + *0x44a358;
__eflags = _t130;
_t198 = *(_t130 + 8);
_t76 = E00402270(_t81, _t130, " VirtualQuery failed for %d bytes at address %p", &_v104, _t164, 0x447310, *(_t130 + 8), _t207, _t212, _t218);
goto L74;
} else {
_t207 = &_v44;
r8d = *( *0x44a358 + _t130);
_t76 = VirtualProtect(??, ??, ??, ??);
goto L37;
}
}
goto L80;
L37:
_t111 = _t111 + 1;
_t130 = _t130 + 0x18;
__eflags = _t111 - *0x44a360;
} while (_t111 < *0x44a360);
}
}
goto L27;
}
} else {
_t130 = 0x44731c;
goto L43;
}
} else {
goto L32;
}
}
}
}
} else {
L27:
return _t76;
}
} else {
_t88 = _v132;
__eflags = _t88 - 4;
if(_t88 == 4) {
L13:
return memcpy();
}
__eflags = _t88 - 0x40;
if(_t88 == 0x40) {
goto L13;
}
r8d = 0x40;
VirtualProtect(??, ??, ??, ??);
memcpy(??, ??, ??);
_t72 = _v132;
__eflags = _t72 - 0x40;
if(_t72 == 0x40) {
goto L1;
} else {
__eflags = _t72 - 4;
if(_t72 == 4) {
goto L1;
} else {
r8d = _v60;
return VirtualProtect(??, ??, ??, ??);
}
}
}
} else {
goto L6;
}
}
goto L80;
L6:
_t113 = _t113 + 1;
_t116 = _t116 + 0x18;
__eflags = _t113 - _t97;
} while (__eflags != 0);
L7:
_t73 = E00402960(__eflags, _t129, _t164, _t172, _t196, _t207);
__eflags = _t115;
_t212 = _t115;
if(__eflags == 0) {
_t154 = _t129;
_t74 = E00402270(_t73, _t129, "Address %p has no image-section", _t154, _t164, _t172, _t196, _t207, _t212, _t218);
goto L24;
} else {
_t218 = 0 << 3;
_a16 = _t115;
*((0 << 3) + *0x44a358) = 0;
E00402A50(__eflags, _t153);
r8d = 0x30;
_t154 = &_v120;
_a8 = _t115 + _t153;
_t116 = *0x44a358;
_t178 = VirtualQuery;
_t74 = VirtualQuery(??, ??, ??);
__eflags = _t116;
if(_t116 == 0) {
L24:
_t116 = *0x44a358;
_t75 = E00402270(_t74, _t129, " VirtualQuery failed for %d bytes at address %p", _t154, _t164, _t172, *((intOrPtr*)( *0x44a358 + _t218 + 8)), _t207, _t212, _t218);
goto L25;
} else {
_t87 = _v84;
__eflags = _t87 - 4;
if(_t87 != 4) {
__eflags = _t87 - 0x40;
if(_t87 == 0x40) {
goto L10;
} else {
r8d = 0x40;
_t162 = _v96;
_t207 = *0x44a358 + (0 << 3);
_t93 = VirtualProtect(??, ??, ??, ??);
__eflags = _t93;
if(_t93 != 0) {
goto L10;
} else {
E00402270(GetLastError(), _t129, " VirtualProtect failed with code 0x%x", _t162, _t164, _t172, _t196, _t207, _t212, 0 << 3);
goto L17;
}
}
} else {
L10:
*0x44a360 = *0x44a360 + 1;
__eflags = *0x44a360;
}
goto L11;
}
}
}
} else {
L1:
return _t72;
}
L80:
}
0x004022e0
0x004022e0
0x004022e0
0x004022e0
0x004022e0
0x004022e0
0x004022e2
0x004022e4
0x004022e5
0x004022e6
0x004022e7
0x004022f2
0x004022f5
0x004022f8
0x004022fb
0x00402310
0x00402316
0x00402318
0x00000000
0x0040231e
0x0040231e
0x00402325
0x00402327
0x00402330
0x00402330
0x00402334
0x00402337
0x00000000
0x00402339
0x00402339
0x0040233d
0x00402341
0x00402344
0x00402347
0x00402460
0x00402460
0x004023d7
0x004023d7
0x004023dd
0x004023e5
0x004023e7
0x004023ea
0x0040251a
0x0040251a
0x00402521
0x00402529
0x00402530
0x00402534
0x00402536
0x00402537
0x00402538
0x0040253d
0x00402544
0x00402547
0x00402554
0x0040255e
0x00402575
0x00402581
0x00402588
0x0040259a
0x004025a7
0x004025ab
0x00000000
0x004025ad
0x004025ad
0x004025b1
0x004026a0
0x004026a0
0x004026a3
0x004026a6
0x00000000
0x004026ac
0x004026ac
0x004026b0
0x004026b3
0x00000000
0x00000000
0x00000000
0x00000000
0x004026b3
0x004025b7
0x004025b7
0x004025bd
0x004025bf
0x004025d1
0x004025d1
0x004025d4
0x00000000
0x004025da
0x004025e1
0x004025e8
0x004025ee
0x004025f3
0x004025f5
0x004025f9
0x004025fc
0x00402601
0x00402601
0x00000000
0x004025e1
0x004025c1
0x004025c1
0x004025c8
0x004025cb
0x00402688
0x0040268f
0x00402692
0x004026b9
0x004026bc
0x004026bf
0x00402827
0x00402827
0x0040282e
0x00402839
0x0040283d
0x00402842
0x00402847
0x00402849
0x00402849
0x00402849
0x00402854
0x00402857
0x0040285d
0x00000000
0x00000000
0x00402861
0x00402867
0x00402867
0x0040286a
0x004026c5
0x004026c5
0x004026c9
0x004026cc
0x004026e3
0x004026e8
0x004026ec
0x004026f0
0x004026f3
0x004026f6
0x004026f9
0x004026fc
0x00402756
0x0040275a
0x00402761
0x00000000
0x00402763
0x0040276d
0x0040276d
0x00402770
0x00000000
0x00402770
0x004026fe
0x004026fe
0x00402721
0x00402721
0x00402724
0x004027ac
0x004027af
0x004027b6
0x00000000
0x004027b8
0x004027be
0x004027be
0x004027c1
0x00000000
0x004027c1
0x0040272a
0x0040272a
0x0040272d
0x00000000
0x0040272f
0x00402732
0x00402732
0x00402735
0x00000000
0x00402735
0x0040272d
0x00402700
0x00402700
0x00402703
0x004027d9
0x004027dd
0x004027e1
0x00402785
0x00402785
0x00402788
0x0040278b
0x0040278e
0x00402792
0x00402774
0x00402774
0x00402778
0x0040277e
0x00402794
0x00402794
0x004027f6
0x004027f9
0x004027c5
0x004027c5
0x004027c9
0x004027cf
0x004027fb
0x004027fb
0x004027fe
0x00402739
0x00402739
0x0040273d
0x00402743
0x00402743
0x004027fe
0x00402796
0x00402796
0x00402799
0x00000000
0x00000000
0x00402799
0x00402794
0x004027e3
0x004027ed
0x004027f0
0x0040279b
0x0040279b
0x0040279f
0x004027a5
0x004027a5
0x00402709
0x00402709
0x00402709
0x00402714
0x0040271c
0x00000000
0x0040271c
0x00402703
0x004026fe
0x00402748
0x0040274c
0x0040274c
0x00402606
0x0040260c
0x0040260e
0x00402616
0x00402618
0x0040261f
0x00402643
0x00402646
0x0040264f
0x00402651
0x00000000
0x00402653
0x00402657
0x0040265d
0x00402661
0x00402664
0x00402667
0x00402809
0x00402809
0x0040281b
0x00402822
0x00000000
0x0040266d
0x00402674
0x00402680
0x00402684
0x00000000
0x00402684
0x00402667
0x00000000
0x00402630
0x00402630
0x00402633
0x00402637
0x00402637
0x00402643
0x0040260e
0x00000000
0x004026cc
0x00402694
0x00402694
0x00000000
0x00402694
0x00000000
0x00000000
0x00000000
0x004025cb
0x004025bf
0x004025b1
0x00402549
0x00402549
0x00402553
0x00402553
0x004023f0
0x004023f0
0x004023f4
0x004023f7
0x004023f9
0x00403158
0x00403158
0x00402470
0x00402473
0x00000000
0x00000000
0x0040247d
0x00402494
0x0040249f
0x004024a4
0x004024a8
0x004024ab
0x00000000
0x004024b1
0x004024b1
0x004024b4
0x00000000
0x004024ba
0x004024ba
0x004024e6
0x004024e6
0x004024b4
0x004024ab
0x00000000
0x00000000
0x00000000
0x00402347
0x00000000
0x0040234d
0x0040234d
0x00402350
0x00402354
0x00402354
0x00402358
0x0040235b
0x00402360
0x00402363
0x00402366
0x004024f5
0x004024f8
0x00000000
0x0040236c
0x00402374
0x00402382
0x00402386
0x0040238d
0x00402397
0x004023a0
0x004023a5
0x004023a9
0x004023b0
0x004023bc
0x004023be
0x004023c1
0x004024fd
0x004024fd
0x00402515
0x00000000
0x004023c7
0x004023c7
0x004023cb
0x004023ce
0x00402420
0x00402423
0x00000000
0x00402425
0x0040242c
0x00402432
0x0040243c
0x0040243f
0x00402445
0x00402447
0x00000000
0x00402449
0x00402458
0x00000000
0x00402458
0x00402447
0x004023d0
0x004023d0
0x004023d0
0x004023d0
0x004023d0
0x00000000
0x004023ce
0x004023c1
0x00402366
0x004022fd
0x004022fd
0x0040230c
0x0040230c
0x00000000