Function at 0x41de08
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xaf8
mov eax, dword [0x5a0b04]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ecx, ecx
push edi
push ecx
push ecx
mov eax, ecx
mov ebx, ecx
push 1
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xaf4], ecx
push ecx
mov dword [ebp - 0xaf4], ebx
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x5a70f8], eax
lea ecx, [ebp - 0x2a4]
xor eax, eax
push 0xf
mov dword [ebp - 0xaf4], eax
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x294], eax
mov al, byte [0x5a02a9]
pop esi
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x290], esi
call fcn.00408330
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x6dc]
call fcn.00406c00
xor eax, eax
mov dword [ebp - 0x2a8], esi
mov dword [ebp - 0x2bc], eax
lea ecx, [ebp - 0x28c]
mov dword [ebp - 0x2ac], eax
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x27c], eax
mov al, byte [0x59fdb1]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x3b0], esi
mov dword [ebp - 0x278], esi
call fcn.00408330
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.00406c00
mov al, byte [0x59ffa2]
xor ecx, ecx
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x184], ecx
push 1
mov dword [ebp - 0x174], ecx
push ecx
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x170], esi
call fcn.004083b0
push eax
lea ecx, [ebp - 0x5a4]
call fcn.00406c00
push 0x10
xor ecx, ecx
mov dword [ebp - 0x68], esi
pop edi
cmp dword [0x5a0174], edi
mov esi, 0x5a0160
mov eax, esi
mov dword [ebp - 0x7c], ecx
cmovae eax, dword [0x5a0160]
mov dword [ebp - 0x6c], ecx
mov al, byte [eax + 5]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
push 1
push ecx
lea ecx, [ebp - 0x7c]
call fcn.004083b0
push eax
lea ecx, [ebp - 0x58c]
call fcn.00406c00
xor eax, eax
push 0xf
pop ecx
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1bc], eax
movsx eax, byte [0x59ff20]
push eax
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x1b8], ecx
call fcn.004d769c
pop ecx
mov byte [ebp - 0xae8], al
lea ecx, [ebp - 0x1cc]
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x49c]
call fcn.00406c00
mov al, byte [0x59fdb1]
lea ecx, [ebp - 0x49c]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x574]
call fcn.00406c00
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x574]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0xae4]
call fcn.00408480
lea eax, [ebp - 0x58c]
push eax
lea eax, [ebp - 0xae4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0xacc]
call fcn.00408480
lea eax, [ebp - 0x5a4]
push eax
lea eax, [ebp - 0xacc]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0xab4]
call fcn.00408480
lea eax, [ebp - 0x5bc]
push eax
lea eax, [ebp - 0xab4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x484]
call fcn.00408480
mov al, byte [0x59ff61]
lea ecx, [ebp - 0x484]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0xa9c]
call fcn.00406c00
lea eax, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0xa9c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0xa84]
call fcn.00408480
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0xa84]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x46c]
call fcn.00408480
mov al, byte [0x5a0328]
lea ecx, [ebp - 0x46c]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x46c]
push eax
lea ecx, [ebp - 0xa6c]
call fcn.00406c00
lea eax, [ebp - 0x6dc]
push eax
lea eax, [ebp - 0xa6c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x424]
call fcn.00408480
cmp dword [ebp - 0x410], edi
lea eax, [ebp - 0x424]
cmovae eax, dword [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x5a7100], eax
test eax, eax
je 0x41e612
mov al, byte [0x59fd73]
lea ecx, [ebp - 0x274]
and dword [ebp - 0x274], ebx
and dword [ebp - 0x264], ebx
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
mov dword [ebp - 0x260], 0xf
call fcn.00408330
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0xa54]
call fcn.00406c00
mov al, byte [0x59fbda]
xor ecx, ecx
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
mov dword [ebp - 0x64], ecx
push 1
mov dword [ebp - 0x54], ecx
push ecx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0xf
call fcn.004083b0
push eax
lea ecx, [ebp - 0xa3c]
call fcn.00406c00
xor ecx, ecx
cmp dword [0x5a0174], edi
push 0xf
pop eax
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x38], eax
mov eax, esi
cmovae eax, dword [0x5a0160]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x394], ecx
mov al, byte [eax + 5]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
mov dword [ebp - 0x384], ecx
push 1
push ecx
lea ecx, [ebp - 0x4c]
call fcn.004083b0
push eax
lea ecx, [ebp - 0xa24]
call fcn.00406c00
xor ecx, ecx
mov dword [ebp - 0x20], 0xf
cmp dword [0x59fec4], edi
mov eax, 0x59feb0
mov dword [ebp - 0x34], ecx
cmovae eax, dword [0x59feb0]
mov dword [ebp - 0x24], ecx
mov al, byte [eax + 1]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
push 1
push ecx
lea ecx, [ebp - 0x34]
call fcn.004083b0
push eax
lea ecx, [ebp - 0xa0c]
call fcn.00406c00
movsx eax, byte [0x5a01fd]
and dword [ebp - 0x1b4], ebx
and dword [ebp - 0x1a4], ebx
push eax
mov dword [ebp - 0x1a0], 0xf
call fcn.004d769c
pop ecx
mov byte [ebp - 0xaec], al
lea ecx, [ebp - 0x1b4]
push dword [ebp - 0xaec]
push 1
push ebx
call fcn.004083b0
push eax
lea ecx, [ebp - 0x9f4]
call fcn.00406c00
push 0xf
pop eax
mov dword [ebp - 0x368], eax
xor ecx, ecx
mov dword [ebp - 0x188], eax
mov al, byte [0x5a01fb]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
mov dword [ebp - 0x37c], ecx
push 1
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x18c], ecx
push ecx
lea ecx, [ebp - 0x19c]
call fcn.004083b0
push eax
lea ecx, [ebp - 0x9dc]
call fcn.00406c00
push 0xf
pop eax
mov dword [ebp - 0x350], eax
xor ecx, ecx
mov dword [ebp - 8], eax
mov al, byte [0x59fdb1]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
mov dword [ebp - 0x364], ecx
push 1
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], ecx
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004083b0
push eax
lea ecx, [ebp - 0x9c4]
call fcn.00406c00
xor ecx, ecx
mov dword [ebp - 0x158], 0xf
cmp dword [0x5a0174], edi
mov dword [ebp - 0x16c], ecx
cmovae esi, dword [0x5a0160]
mov dword [ebp - 0x15c], ecx
mov al, byte [esi + 1]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
push 1
push ecx
lea ecx, [ebp - 0x16c]
call fcn.004083b0
push eax
lea ecx, [ebp - 0x9ac]
call fcn.00406c00
movsx eax, byte [0x59fcf0]
and dword [ebp - 0x25c], ebx
and dword [ebp - 0x24c], ebx
push eax
mov dword [ebp - 0x248], 0xf
call fcn.004d769c
pop ecx
mov byte [ebp - 0xaec], al
lea ecx, [ebp - 0x25c]
push dword [ebp - 0xaec]
call fcn.00408330
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x994]
call fcn.00406c00
lea eax, [ebp - 0x9ac]
push eax
lea eax, [ebp - 0x994]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x97c]
call fcn.00408480
lea eax, [ebp - 0x9c4]
push eax
lea eax, [ebp - 0x97c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x964]
call fcn.00408480
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x964]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x454]
call fcn.00408480
mov al, byte [0x59fbda]
lea ecx, [ebp - 0x454]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
call fcn.00408330
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x94c]
call fcn.00406c00
lea eax, [ebp - 0x9dc]
push eax
lea eax, [ebp - 0x94c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x934]
call fcn.00408480
lea eax, [ebp - 0x37c]
push eax
lea eax, [ebp - 0x934]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x43c]
call fcn.00408480
mov al, byte [0x59fdb1]
lea ecx, [ebp - 0x43c]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
call fcn.00408330
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x91c]
call fcn.00406c00
lea eax, [ebp - 0x9f4]
push eax
lea eax, [ebp - 0x91c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x904]
call fcn.00408480
lea eax, [ebp - 0xa0c]
push eax
lea eax, [ebp - 0x904]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x8ec]
call fcn.00408480
lea eax, [ebp - 0xa24]
push eax
lea eax, [ebp - 0x8ec]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x8d4]
call fcn.00408480
lea eax, [ebp - 0x394]
push eax
lea eax, [ebp - 0x8d4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x544]
call fcn.00408480
mov al, byte [0x59fdb1]
lea ecx, [ebp - 0x544]
mov byte [ebp - 0xaec], al
push dword [ebp - 0xaec]
call fcn.00408330
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0x8bc]
call fcn.00406c00
lea eax, [ebp - 0xa3c]
push eax
lea eax, [ebp - 0x8bc]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x8a4]
call fcn.00408480
lea eax, [ebp - 0xa54]
push eax
lea eax, [ebp - 0x8a4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x40c]
call fcn.00408480
cmp dword [ebp - 0x3f8], edi
lea eax, [ebp - 0x40c]
cmovae eax, dword [ebp - 0x40c]
push eax
push dword [0x5a7100]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, eax
or eax, 0xffffffff
push 7
pop ecx
mov dword [ebp - 0xaec], eax
jmp 0x41ee09
mov al, byte [0x5a02a9]
lea ecx, [ebp - 0x244]
and dword [ebp - 0x244], ebx
and dword [ebp - 0x234], ebx
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x230], 0xf
call fcn.00408330
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x88c]
call fcn.00406c00
xor eax, eax
push 0xf
pop ecx
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x21c], eax
mov al, byte [0x59fdb1]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x218], ecx
lea ecx, [ebp - 0x22c]
call fcn.00408330
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x874]
call fcn.00406c00
mov al, byte [0x59ffa2]
xor ecx, ecx
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x154], ecx
push 1
mov dword [ebp - 0x144], ecx
push ecx
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x140], 0xf
call fcn.004083b0
push eax
lea ecx, [ebp - 0x85c]
call fcn.00406c00
xor ecx, ecx
mov dword [ebp - 0x128], 0xf
cmp dword [0x5a0174], edi
mov eax, esi
mov dword [ebp - 0x13c], ecx
cmovae eax, dword [0x5a0160]
mov dword [ebp - 0x12c], ecx
mov al, byte [eax + 5]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
push 1
push ecx
lea ecx, [ebp - 0x13c]
call fcn.004083b0
push eax
lea ecx, [ebp - 0x844]
call fcn.00406c00
xor eax, eax
push 0xf
pop ecx
mov dword [ebp - 0x31c], eax
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x204], eax
movsx eax, byte [0x59ff20]
push eax
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x200], ecx
call fcn.004d769c
pop ecx
mov byte [ebp - 0xae8], al
lea ecx, [ebp - 0x214]
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x52c]
call fcn.00406c00
mov al, byte [0x59fdb1]
lea ecx, [ebp - 0x52c]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x82c]
call fcn.00406c00
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x82c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x814]
call fcn.00408480
lea eax, [ebp - 0x844]
push eax
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x7fc]
call fcn.00408480
lea eax, [ebp - 0x85c]
push eax
lea eax, [ebp - 0x7fc]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x7e4]
call fcn.00408480
lea eax, [ebp - 0x874]
push eax
lea eax, [ebp - 0x7e4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x514]
call fcn.00408480
mov al, byte [0x59ff61]
lea ecx, [ebp - 0x514]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x514]
push eax
lea ecx, [ebp - 0x7cc]
call fcn.00406c00
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x7cc]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x7b4]
call fcn.00408480
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x7b4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x4fc]
call fcn.00408480
mov al, byte [0x5a0328]
lea ecx, [ebp - 0x4fc]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x79c]
call fcn.00406c00
lea eax, [ebp - 0x88c]
push eax
lea eax, [ebp - 0x79c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x3f4]
call fcn.00408480
lea eax, [ebp - 0x3f4]
cmp dword [ebp - 0x3e0], edi
cmovae eax, dword [ebp - 0x3f4]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x5a7100], eax
test eax, eax
je 0x41ee02
mov al, byte [0x59fd73]
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 0xae8], al
xor ebx, ebx
push dword [ebp - 0xae8]
mov dword [ebp - 0x1fc], ebx
mov dword [ebp - 0x1ec], ebx
mov dword [ebp - 0x1e8], 0xf
call fcn.00408330
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x784]
call fcn.00406c00
mov al, byte [0x59fbda]
lea ecx, [ebp - 0x124]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x124], ebx
push 1
push ebx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x110], 0xf
call fcn.004083b0
push eax
lea ecx, [ebp - 0x76c]
call fcn.00406c00
cmp dword [0x5a0174], edi
lea ecx, [ebp - 0x10c]
push 0xf
pop eax
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0xf8], eax
mov eax, esi
cmovae eax, dword [0x5a0160]
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x304], ebx
mov al, byte [eax + 5]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x2f4], ebx
push 1
push ebx
call fcn.004083b0
push eax
lea ecx, [ebp - 0x754]
call fcn.00406c00
cmp dword [0x59fec4], edi
lea ecx, [ebp - 0xf4]
mov eax, 0x59feb0
mov dword [ebp - 0xf4], ebx
cmovae eax, dword [0x59feb0]
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], 0xf
mov al, byte [eax + 1]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
push 1
push ebx
call fcn.004083b0
push eax
lea ecx, [ebp - 0x73c]
call fcn.00406c00
movsx eax, byte [0x5a01fd]
push eax
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], 0xf
call fcn.004d769c
pop ecx
mov byte [ebp - 0xae8], al
lea ecx, [ebp - 0xdc]
push dword [ebp - 0xae8]
push 1
push ebx
call fcn.004083b0
push eax
lea ecx, [ebp - 0x724]
call fcn.00406c00
mov dword [ebp - 0x2ec], ebx
mov dword [ebp - 0x2dc], ebx
push 0xf
pop eax
mov dword [ebp - 0x2d8], eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xb0], eax
mov al, byte [0x5a01fb]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0xc4], ebx
push 1
push ebx
mov dword [ebp - 0xb4], ebx
call fcn.004083b0
push eax
lea ecx, [ebp - 0x70c]
call fcn.00406c00
push 0xf
pop eax
mov dword [ebp - 0x2c0], eax
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x98], eax
mov al, byte [0x59fdb1]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
mov dword [ebp - 0x2d4], ebx
push 1
push ebx
mov dword [ebp - 0x2c4], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x9c], ebx
call fcn.004083b0
push eax
lea ecx, [ebp - 0x6f4]
call fcn.00406c00
cmp dword [0x5a0174], edi
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], ebx
cmovae esi, dword [0x5a0160]
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], 0xf
mov al, byte [esi + 1]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
push 1
push ebx
call fcn.004083b0
push eax
lea ecx, [ebp - 0x61c]
call fcn.00406c00
movsx eax, byte [0x59fcf0]
push eax
mov dword [ebp - 0x1e4], ebx
mov dword [ebp - 0x1d4], ebx
mov dword [ebp - 0x1d0], 0xf
call fcn.004d769c
pop ecx
mov byte [ebp - 0xae8], al
lea ecx, [ebp - 0x1e4]
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebp - 0x6c4]
call fcn.00406c00
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x6c4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x6ac]
call fcn.00408480
lea eax, [ebp - 0x6f4]
push eax
lea eax, [ebp - 0x6ac]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x694]
call fcn.00408480
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x694]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x4e4]
call fcn.00408480
mov al, byte [0x59fbda]
lea ecx, [ebp - 0x4e4]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x67c]
call fcn.00406c00
lea eax, [ebp - 0x70c]
push eax
lea eax, [ebp - 0x67c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x664]
call fcn.00408480
lea eax, [ebp - 0x2ec]
push eax
lea eax, [ebp - 0x664]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x4cc]
call fcn.00408480
mov al, byte [0x59fdb1]
lea ecx, [ebp - 0x4cc]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x4cc]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00406c00
lea eax, [ebp - 0x724]
push eax
lea eax, [ebp - 0x64c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x634]
call fcn.00408480
lea eax, [ebp - 0x73c]
push eax
lea eax, [ebp - 0x634]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x55c]
call fcn.00408480
lea eax, [ebp - 0x754]
push eax
lea eax, [ebp - 0x55c]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x604]
call fcn.00408480
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x604]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x4b4]
call fcn.00408480
mov al, byte [0x59fdb1]
lea ecx, [ebp - 0x4b4]
mov byte [ebp - 0xae8], al
push dword [ebp - 0xae8]
call fcn.00408330
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x5ec]
call fcn.00406c00
lea eax, [ebp - 0x76c]
push eax
lea eax, [ebp - 0x5ec]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x5d4]
call fcn.00408480
lea eax, [ebp - 0x784]
push eax
lea eax, [ebp - 0x5d4]
push eax
push dword [ebp - 0xaf4]
lea ecx, [ebp - 0x3dc]
call fcn.00408480
cmp dword [ebp - 0x3c8], edi
lea eax, [ebp - 0x3dc]
cmovae eax, dword [ebp - 0x3dc]
push eax
push dword [0x5a7100]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0xfffffffffffffff8
mov edx, eax
mov ebx, 0x1fffffff
pop ecx
jmp 0x41ee09
xor edx, edx
mov ecx, 0x3fffff8
lea eax, [ebp - 0xaf4]
mov dword [ebp - 0xaf8], ecx
push eax
xor eax, eax
push eax
push eax
push 0x41b037
push eax
push eax
call edx
test ebx, 0x10000000
je 0x41ee3c
lea ecx, [ebp - 0x3dc]
and ebx, 0xefffffff
call fcn.00407090
test ebx, 0x8000000
je 0x41ee55
lea ecx, [ebp - 0x5d4]
and ebx, 0xf7ffffff
call fcn.00407090
test ebx, 0x4000000
je 0x41ee6e
lea ecx, [ebp - 0x5ec]
and ebx, 0xfbffffff
call fcn.00407090
test ebx, 0x2000000
je 0x41ee87
lea ecx, [ebp - 0x4b4]
and ebx, 0xfdffffff
call fcn.00407090
test ebx, 0x1000000
je 0x41eea0
lea ecx, [ebp - 0x604]
and ebx, 0xfeffffff
call fcn.00407090
test ebx, 0x800000
je 0x41eeb9
lea ecx, [ebp - 0x55c]
and ebx, 0xff7fffff
call fcn.00407090
test ebx, 0x400000
je 0x41eed2
lea ecx, [ebp - 0x634]
and ebx, 0xffbfffff
call fcn.00407090
test ebx, 0x200000
je 0x41eeeb
lea ecx, [ebp - 0x64c]
and ebx, 0xffdfffff
call fcn.00407090
test ebx, 0x100000
je 0x41ef04
lea ecx, [ebp - 0x4cc]
and ebx, 0xffefffff
call fcn.00407090
test ebx, 0x80000
je 0x41ef1d
lea ecx, [ebp - 0x664]
and ebx, 0xfff7ffff
call fcn.00407090
test ebx, 0x40000
je 0x41ef36
lea ecx, [ebp - 0x67c]
and ebx, 0xfffbffff
call fcn.00407090
test ebx, 0x20000
je 0x41ef4f
lea ecx, [ebp - 0x4e4]
and ebx, 0xfffdffff
call fcn.00407090
test ebx, 0x10000
je 0x41ef68
lea ecx, [ebp - 0x694]
and ebx, 0xfffeffff
call fcn.00407090
test ebx, 0x8000
je 0x41ef81
lea ecx, [ebp - 0x6ac]
and ebx, 0xffff7fff
call fcn.00407090
test ebx, 0x4000
je 0x41ef9a
lea ecx, [ebp - 0x6c4]
and ebx, 0xffffbfff
call fcn.00407090
mov esi, 0x1000
test ebx, 0x2000
je 0x41eff8
mov eax, dword [ebp - 0x1d0]
and ebx, 0xffffdfff
cmp eax, edi
jb 0x41eff8
mov ecx, dword [ebp - 0x1e4]
inc eax
mov dword [ebp - 0xaf0], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41efef
lea eax, [ebp - 0xaf0]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaf0]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test esi, ebx
je 0x41f00d
lea ecx, [ebp - 0x61c]
and ebx, 0xffffefff
call fcn.00407090
test ebx, 0x800
je 0x41f078
mov eax, dword [ebp - 0x80]
and ebx, 0xfffff7ff
cmp eax, edi
jb 0x41f063
mov ecx, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f05a
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0xf
mov byte [ebp - 0x94], 0
test ebx, 0x400
je 0x41f091
lea ecx, [ebp - 0x6f4]
and ebx, 0xfffffbff
call fcn.00407090
test ebx, 0x200
je 0x41f102
mov eax, dword [ebp - 0x98]
and ebx, 0xfffffdff
cmp eax, edi
jb 0x41f0ea
mov ecx, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f0e1
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
mov byte [ebp - 0xac], 0
test ebx, 0x100
je 0x41f15b
mov eax, dword [ebp - 0x2c0]
and ebx, 0xfffffeff
cmp eax, edi
jb 0x41f15b
mov ecx, dword [ebp - 0x2d4]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f152
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test bl, bl
jns 0x41f170
lea ecx, [ebp - 0x70c]
and ebx, 0xffffff7f
call fcn.00407090
test bl, 0x40
je 0x41f1db
mov eax, dword [ebp - 0xb0]
and ebx, 0xffffffbf
cmp eax, edi
jb 0x41f1c3
mov ecx, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f1ba
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
mov byte [ebp - 0xc4], 0
test bl, 0x20
je 0x41f22e
mov eax, dword [ebp - 0x2d8]
and ebx, 0xffffffdf
cmp eax, edi
jb 0x41f22e
mov ecx, dword [ebp - 0x2ec]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f225
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test bl, 0x10
je 0x41f241
lea ecx, [ebp - 0x724]
and ebx, 0xffffffef
call fcn.00407090
test bl, 8
je 0x41f2ac
mov eax, dword [ebp - 0xc8]
and ebx, 0xfffffff7
cmp eax, edi
jb 0x41f294
mov ecx, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f28b
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0xf
mov byte [ebp - 0xdc], 0
test bl, 4
je 0x41f2bf
lea ecx, [ebp - 0x73c]
and ebx, 0xfffffffb
call fcn.00407090
test bl, 2
je 0x41f32a
mov eax, dword [ebp - 0xe0]
and ebx, 0xfffffffd
cmp eax, edi
jb 0x41f312
mov ecx, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f309
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xf
mov byte [ebp - 0xf4], 0
test bl, 1
je 0x41f33a
lea ecx, [ebp - 0x754]
call fcn.00407090
mov ebx, dword [ebp - 0xaf8]
test ebx, ebx
jns 0x41f3ad
mov eax, dword [ebp - 0xf8]
and ebx, 0x7fffffff
cmp eax, edi
jb 0x41f395
mov ecx, dword [ebp - 0x10c]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f38c
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
test ebx, 0x40000000
je 0x41f406
mov eax, dword [ebp - 0x2f0]
and ebx, 0xbfffffff
cmp eax, edi
jb 0x41f406
mov ecx, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f3fd
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test ebx, 0x20000000
je 0x41f41f
lea ecx, [ebp - 0x76c]
and ebx, 0xdfffffff
call fcn.00407090
test ebx, 0x10000000
je 0x41f490
mov eax, dword [ebp - 0x110]
and ebx, 0xefffffff
cmp eax, edi
jb 0x41f478
mov ecx, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f46f
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
test ebx, 0x8000000
je 0x41f4a9
lea ecx, [ebp - 0x784]
and ebx, 0xf7ffffff
call fcn.00407090
test ebx, 0x4000000
je 0x41f502
mov eax, dword [ebp - 0x1e8]
and ebx, 0xfbffffff
cmp eax, edi
jb 0x41f502
mov ecx, dword [ebp - 0x1fc]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f4f9
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test ebx, 0x2000000
je 0x41f51b
lea ecx, [ebp - 0x3f4]
and ebx, 0xfdffffff
call fcn.00407090
test ebx, 0x1000000
je 0x41f534
lea ecx, [ebp - 0x79c]
and ebx, 0xfeffffff
call fcn.00407090
test ebx, 0x800000
je 0x41f54d
lea ecx, [ebp - 0x4fc]
and ebx, 0xff7fffff
call fcn.00407090
test ebx, 0x400000
je 0x41f566
lea ecx, [ebp - 0x7b4]
and ebx, 0xffbfffff
call fcn.00407090
test ebx, 0x200000
je 0x41f57f
lea ecx, [ebp - 0x7cc]
and ebx, 0xffdfffff
call fcn.00407090
test ebx, 0x100000
je 0x41f598
lea ecx, [ebp - 0x514]
and ebx, 0xffefffff
call fcn.00407090
test ebx, 0x80000
je 0x41f5b1
lea ecx, [ebp - 0x7e4]
and ebx, 0xfff7ffff
call fcn.00407090
test ebx, 0x40000
je 0x41f5ca
lea ecx, [ebp - 0x7fc]
and ebx, 0xfffbffff
call fcn.00407090
test ebx, 0x20000
je 0x41f5e3
lea ecx, [ebp - 0x814]
and ebx, 0xfffdffff
call fcn.00407090
test ebx, 0x10000
je 0x41f5fc
lea ecx, [ebp - 0x82c]
and ebx, 0xfffeffff
call fcn.00407090
test ebx, 0x8000
je 0x41f615
lea ecx, [ebp - 0x52c]
and ebx, 0xffff7fff
call fcn.00407090
test ebx, 0x4000
je 0x41f66e
mov eax, dword [ebp - 0x200]
and ebx, 0xffffbfff
cmp eax, edi
jb 0x41f66e
mov ecx, dword [ebp - 0x214]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f665
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test ebx, 0x2000
je 0x41f6c7
mov eax, dword [ebp - 0x308]
and ebx, 0xffffdfff
cmp eax, edi
jb 0x41f6c7
mov ecx, dword [ebp - 0x31c]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f6be
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test esi, ebx
je 0x41f6dc
lea ecx, [ebp - 0x844]
and ebx, 0xffffefff
call fcn.00407090
test ebx, 0x800
je 0x41f74d
mov eax, dword [ebp - 0x128]
and ebx, 0xfffff7ff
cmp eax, edi
jb 0x41f735
mov ecx, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f72c
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
test ebx, 0x400
je 0x41f766
lea ecx, [ebp - 0x85c]
and ebx, 0xfffffbff
call fcn.00407090
test ebx, 0x200
je 0x41f7d7
mov eax, dword [ebp - 0x140]
and ebx, 0xfffffdff
cmp eax, edi
jb 0x41f7bf
mov ecx, dword [ebp - 0x154]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f7b6
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
test ebx, 0x100
je 0x41f7f0
lea ecx, [ebp - 0x874]
and ebx, 0xfffffeff
call fcn.00407090
test bl, bl
jns 0x41f845
mov eax, dword [ebp - 0x218]
and ebx, 0xffffff7f
cmp eax, edi
jb 0x41f845
mov ecx, dword [ebp - 0x22c]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f83c
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test bl, 0x40
je 0x41f898
mov eax, dword [ebp - 0x320]
and ebx, 0xffffffbf
cmp eax, edi
jb 0x41f898
mov ecx, dword [ebp - 0x334]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f88f
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test bl, 0x20
je 0x41f8eb
mov eax, dword [ebp - 0x338]
and ebx, 0xffffffdf
cmp eax, edi
jb 0x41f8eb
mov ecx, dword [ebp - 0x34c]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f8e2
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test bl, 0x10
je 0x41f8fe
lea ecx, [ebp - 0x88c]
and ebx, 0xffffffef
call fcn.00407090
test bl, 8
je 0x41f951
mov eax, dword [ebp - 0x230]
and ebx, 0xfffffff7
cmp eax, edi
jb 0x41f951
mov ecx, dword [ebp - 0x244]
inc eax
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xaf0], ecx
cmp eax, esi
jb 0x41f948
lea eax, [ebp - 0xae8]
push eax
lea eax, [ebp - 0xaf0]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xae8]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xaf0]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test bl, 4
je 0x41f961
lea ecx, [ebp - 0x40c]
call fcn.00407090
test bl, 2
je 0x41f971
lea ecx, [ebp - 0x8a4]
call fcn.00407090
test bl, 1
je 0x41f981
lea ecx, [ebp - 0x8bc]
call fcn.00407090
mov ebx, dword [ebp - 0xaec]
test ebx, ebx
jns 0x41f99c
lea ecx, [ebp - 0x544]
and ebx, 0x7fffffff
call fcn.00407090
test ebx, 0x40000000
je 0x41f9b5
lea ecx, [ebp - 0x8d4]
and ebx, 0xbfffffff
call fcn.00407090
test ebx, 0x20000000
je 0x41f9ce
lea ecx, [ebp - 0x8ec]
and ebx, 0xdfffffff
call fcn.00407090
test ebx, 0x10000000
je 0x41f9e7
lea ecx, [ebp - 0x904]
and ebx, 0xefffffff
call fcn.00407090
test ebx, 0x8000000
je 0x41fa00
lea ecx, [ebp - 0x91c]
and ebx, 0xf7ffffff
call fcn.00407090
test ebx, 0x4000000
je 0x41fa19
lea ecx, [ebp - 0x43c]
and ebx, 0xfbffffff
call fcn.00407090
test ebx, 0x2000000
je 0x41fa32
lea ecx, [ebp - 0x934]
and ebx, 0xfdffffff
call fcn.00407090
test ebx, 0x1000000
je 0x41fa4b
lea ecx, [ebp - 0x94c]
and ebx, 0xfeffffff
call fcn.00407090
test ebx, 0x800000
je 0x41fa64
lea ecx, [ebp - 0x454]
and ebx, 0xff7fffff
call fcn.00407090
test ebx, 0x400000
je 0x41fa7d
lea ecx, [ebp - 0x964]
and ebx, 0xffbfffff
call fcn.00407090
test ebx, 0x200000
je 0x41fa96
lea ecx, [ebp - 0x97c]
and ebx, 0xffdfffff
call fcn.00407090
test ebx, 0x100000
je 0x41faaf
lea ecx, [ebp - 0x994]
and ebx, 0xffefffff
call fcn.00407090
test ebx, 0x80000
je 0x41fb08
mov eax, dword [ebp - 0x248]
and ebx, 0xfff7ffff
cmp eax, edi
jb 0x41fb08
mov ecx, dword [ebp - 0x25c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41faff
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test ebx, 0x40000
je 0x41fb21
lea ecx, [ebp - 0x9ac]
and ebx, 0xfffbffff
call fcn.00407090
test ebx, 0x20000
je 0x41fb92
mov eax, dword [ebp - 0x158]
and ebx, 0xfffdffff
cmp eax, edi
jb 0x41fb7a
mov ecx, dword [ebp - 0x16c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fb71
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
test ebx, 0x10000
je 0x41fbab
lea ecx, [ebp - 0x9c4]
and ebx, 0xfffeffff
call fcn.00407090
test ebx, 0x8000
je 0x41fc0d
mov eax, dword [ebp - 8]
and ebx, 0xffff7fff
cmp eax, edi
jb 0x41fbfe
mov ecx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fbf5
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
test ebx, 0x4000
je 0x41fc66
mov eax, dword [ebp - 0x350]
and ebx, 0xffffbfff
cmp eax, edi
jb 0x41fc66
mov ecx, dword [ebp - 0x364]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fc5d
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test ebx, 0x2000
je 0x41fc7f
lea ecx, [ebp - 0x9dc]
and ebx, 0xffffdfff
call fcn.00407090
test esi, ebx
je 0x41fcec
mov eax, dword [ebp - 0x188]
and ebx, 0xffffefff
cmp eax, edi
jb 0x41fcd4
mov ecx, dword [ebp - 0x19c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fccb
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
mov byte [ebp - 0x19c], 0
test ebx, 0x800
je 0x41fd45
mov eax, dword [ebp - 0x368]
and ebx, 0xfffff7ff
cmp eax, edi
jb 0x41fd45
mov ecx, dword [ebp - 0x37c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fd3c
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test ebx, 0x400
je 0x41fd5e
lea ecx, [ebp - 0x9f4]
and ebx, 0xfffffbff
call fcn.00407090
test ebx, 0x200
je 0x41fdcf
mov eax, dword [ebp - 0x1a0]
and ebx, 0xfffffdff
cmp eax, edi
jb 0x41fdb7
mov ecx, dword [ebp - 0x1b4]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fdae
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0xf
mov byte [ebp - 0x1b4], 0
test ebx, 0x100
je 0x41fde8
lea ecx, [ebp - 0xa0c]
and ebx, 0xfffffeff
call fcn.00407090
test bl, bl
jns 0x41fe46
mov eax, dword [ebp - 0x20]
and ebx, 0xffffff7f
cmp eax, edi
jb 0x41fe37
mov ecx, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fe2e
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
test bl, 0x40
je 0x41fe59
lea ecx, [ebp - 0xa24]
and ebx, 0xffffffbf
call fcn.00407090
test bl, 0x20
je 0x41feb5
mov eax, dword [ebp - 0x38]
and ebx, 0xffffffdf
cmp eax, edi
jb 0x41fea6
mov ecx, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41fe9d
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
test bl, 0x10
je 0x41ff08
mov eax, dword [ebp - 0x380]
and ebx, 0xffffffef
cmp eax, edi
jb 0x41ff08
mov ecx, dword [ebp - 0x394]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41feff
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
test bl, 8
je 0x41ff1b
lea ecx, [ebp - 0xa3c]
and ebx, 0xfffffff7
call fcn.00407090
test bl, 4
je 0x41ff77
mov eax, dword [ebp - 0x50]
and ebx, 0xfffffffb
cmp eax, edi
jb 0x41ff68
mov ecx, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41ff5f
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
and dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
test bl, 2
je 0x41ff8a
lea ecx, [ebp - 0xa54]
and ebx, 0xfffffffd
call fcn.00407090
test bl, 1
je 0x41ffda
mov eax, dword [ebp - 0x260]
cmp eax, edi
jb 0x41ffda
mov ecx, dword [ebp - 0x274]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x41ffd1
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
lea ecx, [ebp - 0x424]
call fcn.00407090
lea ecx, [ebp - 0xa6c]
call fcn.00407090
lea ecx, [ebp - 0x46c]
call fcn.00407090
lea ecx, [ebp - 0xa84]
call fcn.00407090
lea ecx, [ebp - 0xa9c]
call fcn.00407090
lea ecx, [ebp - 0x484]
call fcn.00407090
lea ecx, [ebp - 0xab4]
call fcn.00407090
lea ecx, [ebp - 0xacc]
call fcn.00407090
lea ecx, [ebp - 0xae4]
call fcn.00407090
lea ecx, [ebp - 0x574]
call fcn.00407090
lea ecx, [ebp - 0x49c]
call fcn.00407090
mov eax, dword [ebp - 0x1b8]
cmp eax, edi
jb 0x42009e
mov ecx, dword [ebp - 0x1cc]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x420095
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
mov eax, dword [ebp - 0x398]
cmp eax, edi
jb 0x4200e9
mov ecx, dword [ebp - 0x3ac]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x4200e0
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
lea ecx, [ebp - 0x58c]
call fcn.00407090
mov eax, dword [ebp - 0x68]
cmp eax, edi
jb 0x420139
mov ecx, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x420130
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
xor ebx, ebx
mov dword [ebp - 0x68], 0xf
lea ecx, [ebp - 0x5a4]
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x7c], bl
call fcn.00407090
mov eax, dword [ebp - 0x170]
cmp eax, edi
jb 0x42019e
mov ecx, dword [ebp - 0x184]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x420195
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], 0xf
mov byte [ebp - 0x184], bl
call fcn.00407090
mov eax, dword [ebp - 0x278]
cmp eax, edi
jb 0x42020a
mov ecx, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x420201
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
mov eax, dword [ebp - 0x3b0]
cmp eax, edi
jb 0x420255
mov ecx, dword [ebp - 0x3c4]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x42024c
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
mov eax, dword [ebp - 0x2a8]
cmp eax, edi
jb 0x4202a0
mov ecx, dword [ebp - 0x2bc]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x420297
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
lea ecx, [ebp - 0x6dc]
call fcn.00407090
mov eax, dword [ebp - 0x290]
cmp eax, edi
jb 0x4202f6
mov ecx, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], ecx
cmp eax, esi
jb 0x4202ed
lea eax, [ebp - 0xaec]
push eax
lea eax, [ebp - 0xae8]
push eax
call fcn.00402d60
mov eax, dword [ebp - 0xaec]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xae8]
push eax
push ecx
call fcn.0049c0a8
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049badb
leave
ret