Function at 0x53f3c0
Capabilities:
Check for peb ntglobalflag flag
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x8a
push 0
push 0
dec ecx
jne 0x53f3c8
push ebx
push esi
push edi
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x278]
mov edx, dword [0x46ec40]
call fcn.00407644
xor eax, eax
push ebp
push 0x540e9d
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00517240
mov edx, dword [ebp - 0x27c]
mov byte [edx + 5], al
mov dl, 1
mov eax, dword [0x512f40]
call fcn.00513db0
mov dword [ebp - 0x280], eax
mov dl, 1
mov eax, dword [0x4a1e7c]
call fcn.004a2138
mov dword [ebp - 0x28c], eax
mov dl, 1
mov eax, dword [0x48bccc]
call fcn.00492014
mov dword [ebp - 0x294], eax
xor edx, edx
push ebp
push 0x540e4a
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x27c]
call fcn.0053ee44
mov edx, dword [ebp - 0x27c]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x27c]
mov dword [eax + 8], 0x60
mov edx, 0x80000001
mov eax, dword [ebp - 0x28c]
call fcn.004a21d8
mov edx, 0x540eb8
mov eax, dword [ebp - 0x28c]
call fcn.004a2368
test al, al
je 0x53f4c9
xor eax, eax
push ebp
push 0x53f4bf
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x540f0c
mov eax, dword [ebp - 0x28c]
call fcn.004a2ab0
mov edx, dword [ebp - 0x27c]
mov dword [edx + 8], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53f4c9
xor eax, eax
push ebp
push 0x53f4fa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x27c]
fild dword [eax + 8]
fdiv dword [0x540f24]
mov eax, dword [ebp - 0x27c]
fstp qword [eax + 0x10]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53f516
lea ecx, [ebp - 0x29c]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
xor edx, edx
call fcn.0051378c
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 0x298]
call fcn.0047a824
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x27c]
add eax, 0x1c
call fcn.00406ba8
lea ecx, [ebp - 0x2a4]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 1
call fcn.0051378c
mov eax, dword [ebp - 0x2a4]
lea edx, [ebp - 0x2a0]
call fcn.0047a824
mov edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x27c]
add eax, 0x20
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x27c]
add eax, 0x24
mov ecx, 0x540f34
call fcn.00406f8c
lea ecx, [ebp - 0x2ac]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xc
call fcn.0051378c
mov eax, dword [ebp - 0x2ac]
lea edx, [ebp - 0x2a8]
call fcn.0047a824
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x27c]
add eax, 0x30
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 0x30], 0
je 0x53f658
lea edx, [ebp - 0x2b8]
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0x30]
call fcn.0047a874
mov eax, dword [ebp - 0x2b8]
lea edx, [ebp - 0x2b4]
call fcn.00471f60
mov eax, dword [ebp - 0x2b4]
lea edx, [ebp - 0x2b0]
call fcn.0047a824
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x27c]
add eax, 0x2c
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x27c]
add eax, 0x54
mov ecx, 0x540f54
call fcn.00406f8c
lea ecx, [ebp - 0x2c0]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xd
call fcn.0051378c
mov eax, dword [ebp - 0x2c0]
lea edx, [ebp - 0x2bc]
call fcn.0047a824
mov edx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x27c]
add eax, 0x34
call fcn.00406ba8
lea ecx, [ebp - 0x2c8]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xb
call fcn.0051378c
mov eax, dword [ebp - 0x2c8]
lea edx, [ebp - 0x2c4]
call fcn.0047a824
mov edx, dword [ebp - 0x2c4]
mov eax, dword [ebp - 0x27c]
add eax, 0x28
call fcn.00406ba8
lea ecx, [ebp - 0x2d0]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
xor edx, edx
call fcn.00513650
mov eax, dword [ebp - 0x2d0]
lea edx, [ebp - 0x2cc]
call fcn.0047a824
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x27c]
add eax, 0x40
call fcn.00406ba8
lea eax, [ebp - 0x2d4]
call fcn.00514d70
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x27c]
add eax, 0x44
call fcn.00406ba8
lea ecx, [ebp - 0x2dc]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 8
call fcn.0051378c
mov eax, dword [ebp - 0x2dc]
lea edx, [ebp - 0x2d8]
call fcn.0047a824
mov edx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x27c]
add eax, 0x48
call fcn.00406ba8
lea ecx, [ebp - 0x2e4]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 3
call fcn.00513650
mov eax, dword [ebp - 0x2e4]
lea edx, [ebp - 0x2e0]
call fcn.0047a824
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x27c]
add eax, 0x4c
call fcn.00406ba8
lea ecx, [ebp - 0x2ec]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 2
call fcn.00513650
mov eax, dword [ebp - 0x2ec]
lea edx, [ebp - 0x2e8]
call fcn.0047a824
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x27c]
add eax, 0x50
call fcn.00406ba8
lea ecx, [ebp - 0x2f4]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xf
call fcn.0051378c
mov eax, dword [ebp - 0x2f4]
lea edx, [ebp - 0x2f0]
call fcn.0047a824
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x27c]
add eax, 0x58
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
cmp byte [eax + 5], 0
je 0x53f866
movzx eax, byte [0x540fa8]
push eax
lea eax, [ebp - 0x2f8]
push eax
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0x58]
mov ecx, 0x540fb8
mov edx, 0x540fe0
call fcn.0047b2a4
mov edx, dword [ebp - 0x2f8]
mov eax, dword [ebp - 0x27c]
add eax, 0x58
call fcn.00406ba8
lea ecx, [ebp - 0x300]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xf
call fcn.0051378c
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x2fc]
call fcn.0047a824
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x27c]
add eax, 0x5c
call fcn.00406ba8
lea edx, [ebp - 0x30c]
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0x1c]
call fcn.0047a874
mov eax, dword [ebp - 0x30c]
lea edx, [ebp - 0x308]
call fcn.00471f60
mov eax, dword [ebp - 0x308]
lea edx, [ebp - 0x304]
call fcn.0047a824
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x27c]
add eax, 0x18
call fcn.00406ba8
lea ecx, [ebp - 0x314]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0x1e
call fcn.0051378c
mov eax, dword [ebp - 0x314]
lea edx, [ebp - 0x310]
call fcn.0047a824
mov edx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x27c]
add eax, 0x60
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
cmp byte [eax + 5], 0
je 0x53f971
movzx eax, byte [0x540fa8]
push eax
lea eax, [ebp - 0x318]
push eax
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0x60]
mov ecx, 0x540fb8
mov edx, 0x540fe0
call fcn.0047b2a4
mov edx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x27c]
add eax, 0x60
call fcn.00406ba8
lea ecx, [ebp - 0x320]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0x1f
call fcn.0051378c
mov eax, dword [ebp - 0x320]
lea edx, [ebp - 0x31c]
call fcn.0047a824
mov edx, dword [ebp - 0x31c]
mov eax, dword [ebp - 0x27c]
add eax, 0x64
call fcn.00406ba8
lea ecx, [ebp - 0x328]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 7
call fcn.0051378c
mov eax, dword [ebp - 0x328]
lea edx, [ebp - 0x324]
call fcn.0047a824
mov edx, dword [ebp - 0x324]
mov eax, dword [ebp - 0x27c]
add eax, 0x68
call fcn.00406ba8
lea ecx, [ebp - 0x330]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 1
call fcn.00513650
mov eax, dword [ebp - 0x330]
lea edx, [ebp - 0x32c]
call fcn.0047a824
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x27c]
add eax, 0x6c
call fcn.00406ba8
lea ecx, [ebp - 0x338]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0x23
call fcn.0051378c
mov eax, dword [ebp - 0x338]
lea edx, [ebp - 0x334]
call fcn.0047a824
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x27c]
add eax, 0x70
call fcn.00406ba8
lea ecx, [ebp - 0x340]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 8
call fcn.00513650
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0x33c]
call fcn.0047a824
mov edx, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x27c]
add eax, 0x74
call fcn.00406ba8
lea ecx, [ebp - 0x348]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0x1b
call fcn.0051378c
mov eax, dword [ebp - 0x348]
lea edx, [ebp - 0x344]
call fcn.0047a824
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x27c]
add eax, 0x78
call fcn.00406ba8
lea ecx, [ebp - 0x350]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xb
call fcn.00513650
mov eax, dword [ebp - 0x350]
lea edx, [ebp - 0x34c]
call fcn.0047a824
mov edx, dword [ebp - 0x34c]
mov eax, dword [ebp - 0x27c]
add eax, 0x7c
call fcn.00406ba8
lea ecx, [ebp - 0x358]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0x18
call fcn.0051378c
mov eax, dword [ebp - 0x358]
lea edx, [ebp - 0x354]
call fcn.0047a824
mov edx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x27c]
add eax, 0x80
call fcn.00406ba8
lea ecx, [ebp - 0x360]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xa
call fcn.00513650
mov eax, dword [ebp - 0x360]
lea edx, [ebp - 0x35c]
call fcn.0047a824
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x27c]
add eax, 0x84
call fcn.00406ba8
lea ecx, [ebp - 0x368]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0x19
call fcn.0051378c
mov eax, dword [ebp - 0x368]
lea edx, [ebp - 0x364]
call fcn.0047a824
mov edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x27c]
add eax, 0x88
call fcn.00406ba8
lea ecx, [ebp - 0x370]
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov edx, 0xc
call fcn.00513650
mov eax, dword [ebp - 0x370]
lea edx, [ebp - 0x36c]
call fcn.0047a824
mov edx, dword [ebp - 0x36c]
mov eax, dword [ebp - 0x27c]
add eax, 0x8c
call fcn.00406ba8
push 0x541008
call sub.kernel32.dll_LoadLibraryW
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 0
jbe 0x53fdcf
xor edx, edx
push ebp
push 0x53fdc8
push dword fs:[edx]
mov dword fs:[edx], esp
push 0x541020
mov eax, dword [ebp - 0x288]
push eax
call fcn.0040a198
mov esi, eax
mov ebx, esi
test esi, esi
je 0x53fdae
lea eax, [ebp - 0x284]
push eax
push 0
push 0
push 0x690868
call ebx
test eax, eax
jne 0x53fcb2
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x284]
call fcn.00406d64
lea edx, [ebp - 0x374]
mov eax, dword [ebp - 4]
call fcn.0047a824
mov edx, dword [ebp - 0x374]
mov eax, dword [ebp - 0x27c]
add eax, 0x38
call fcn.00406ba8
mov eax, dword [ebp - 0x284]
push eax
call sub.ole32.dll_CoTaskMemFree
lea eax, [ebp - 0x284]
push eax
push 0
push 0
push 0x690878
call ebx
test eax, eax
jne 0x53fd06
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x284]
call fcn.00406d64
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 4]
call fcn.0047a824
mov edx, dword [ebp - 0x378]
mov eax, dword [ebp - 0x27c]
add eax, 0x90
call fcn.00406ba8
mov eax, dword [ebp - 0x284]
push eax
call sub.ole32.dll_CoTaskMemFree
lea eax, [ebp - 0x284]
push eax
push 0
push 0
push 0x690888
call ebx
test eax, eax
jne 0x53fd5a
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x284]
call fcn.00406d64
lea edx, [ebp - 0x37c]
mov eax, dword [ebp - 4]
call fcn.0047a824
mov edx, dword [ebp - 0x37c]
mov eax, dword [ebp - 0x27c]
add eax, 0x94
call fcn.00406ba8
mov eax, dword [ebp - 0x284]
push eax
call sub.ole32.dll_CoTaskMemFree
lea eax, [ebp - 0x284]
push eax
push 0
push 0
push 0x690858
call ebx
test eax, eax
jne 0x53fdae
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x284]
call fcn.00406d64
lea edx, [ebp - 0x380]
mov eax, dword [ebp - 4]
call fcn.0047a824
mov edx, dword [ebp - 0x380]
mov eax, dword [ebp - 0x27c]
add eax, 0x98
call fcn.00406ba8
mov eax, dword [ebp - 0x284]
push eax
call sub.ole32.dll_CoTaskMemFree
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53fdcf
mov eax, dword [ebp - 0x288]
push eax
call sub.kernel32.dll_FreeLibrary_1
ret
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 0x38], 0
jne 0x53fe2a
lea edx, [ebp - 0x38c]
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0x34]
call fcn.0047a874
mov eax, dword [ebp - 0x38c]
lea edx, [ebp - 0x388]
call fcn.00471f60
mov eax, dword [ebp - 0x388]
lea edx, [ebp - 0x384]
call fcn.0047a824
mov edx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x27c]
add eax, 0x38
mov ecx, 0x541058
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
cmp byte [eax + 4], 5
jne 0x53fe76
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x27c]
add eax, 0x3c
mov ecx, 0x541078
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0x3c]
call fcn.00471a8c
test al, al
jne 0x53fe86
mov eax, dword [ebp - 0x27c]
add eax, 0x3c
xor edx, edx
call fcn.00406ba8
jmp 0x53fe86
mov eax, dword [ebp - 0x27c]
add eax, 0x3c
xor edx, edx
call fcn.00406ba8
mov dl, 1
mov eax, dword [0x48bccc]
call fcn.00492014
mov ebx, eax
mov eax, dword [ebp - 0x27c]
mov dword [eax + 0xb0], ebx
lea edx, [ebp - 0x390]
mov eax, dword [ebp - 0x27c]
call fcn.0053f15c
mov edx, dword [ebp - 0x390]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 0x30], 0
jne 0x53fede
mov eax, dword [ebp - 0x27c]
add eax, 0xa4
xor edx, edx
call fcn.00406ba8
jmp 0x53fefc
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x27c]
add eax, 0xa4
mov ecx, 0x5410c4
call fcn.00406f8c
lea eax, [ebp - 0x394]
call fcn.00514800
mov edx, dword [ebp - 0x394]
mov eax, dword [ebp - 0x27c]
add eax, 0xa8
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
call fcn.0053ec74
mov edx, dword [ebp - 0x27c]
mov byte [edx + 0xac], al
mov eax, dword [ebp - 0x27c]
call fcn.0053ed08
mov edx, dword [ebp - 0x27c]
mov byte [edx + 0x104], al
lea edx, [ebp - 0x3a0]
mov eax, dword [0x699f50]
mov eax, dword [eax]
call fcn.0050e648
mov eax, dword [ebp - 0x3a0]
lea edx, [ebp - 0x39c]
call fcn.00471f60
mov eax, dword [ebp - 0x39c]
lea edx, [ebp - 0x398]
call fcn.0047a824
mov edx, dword [ebp - 0x398]
mov eax, dword [ebp - 0x27c]
add eax, 0x9c
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
add eax, 0xa0
mov edx, dword [ebp - 0x27c]
mov edx, dword [edx + 0x9c]
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
xor edx, edx
mov dword [eax + 0x108], edx
mov dword [eax + 0x10c], edx
mov eax, dword [ebp - 0x27c]
add eax, 0xb4
mov edx, 0x541104
call fcn.00406ba8
mov eax, dword [ebp - 0x28c]
call fcn.004a21a8
mov edx, 0x80000002
mov eax, dword [ebp - 0x28c]
call fcn.004a21d8
mov edx, 0x541124
mov eax, dword [ebp - 0x28c]
call fcn.004a2368
test al, al
je 0x540142
mov edx, 0x5411b8
mov eax, dword [ebp - 0x28c]
call fcn.004a2c34
test al, al
je 0x540050
lea eax, [ebp - 0x3a4]
push eax
xor ecx, ecx
mov edx, 0x5411b8
mov eax, dword [ebp - 0x28c]
call fcn.004a28e4
mov edx, dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x27c]
add eax, 0xb4
call fcn.00406ba8
mov edx, 0x5411e4
mov eax, dword [ebp - 0x28c]
call fcn.004a2c34
test al, al
je 0x54009b
lea eax, [ebp - 0x3a8]
push eax
xor ecx, ecx
mov edx, 0x5411e4
mov eax, dword [ebp - 0x28c]
call fcn.004a28e4
mov edx, dword [ebp - 0x3a8]
mov eax, dword [ebp - 0x27c]
call fcn.0053f25c
mov eax, dword [ebp - 0x27c]
fstp qword [eax + 0x108]
wait
mov edx, 0x541208
mov eax, dword [ebp - 0x28c]
call fcn.004a2c34
test al, al
je 0x540142
lea eax, [ebp - 0x3ac]
push eax
xor ecx, ecx
mov edx, 0x541208
mov eax, dword [ebp - 0x28c]
call fcn.004a28e4
mov edx, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x27c]
add eax, 0xa0
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0xa0]
call fcn.00471a8c
test al, al
je 0x540126
lea edx, [ebp - 0x3b0]
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax + 0xa0]
call fcn.0047a824
mov edx, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x27c]
add eax, 0xa0
call fcn.00406ba8
jmp 0x540142
mov eax, dword [ebp - 0x27c]
add eax, 0xa0
mov edx, dword [ebp - 0x27c]
mov edx, dword [edx + 0x9c]
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xa0]
lea eax, [ebp - 0x3b4]
mov ecx, 0x541234
call fcn.00406f8c
mov eax, dword [ebp - 0x3b4]
call fcn.00471a44
test al, al
je 0x5401c0
lea eax, [ebp - 0x3b8]
push eax
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xa0]
lea eax, [ebp - 0x3bc]
mov ecx, 0x541234
call fcn.00406f8c
mov eax, dword [ebp - 0x3bc]
mov ecx, 0x541268
mov edx, 3
call fcn.00516dd0
mov edx, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x27c]
add eax, 0xb8
call fcn.00406ba8
jmp 0x540280
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
lea eax, [ebp - 0x3c0]
mov ecx, 0x541234
call fcn.00406f8c
mov eax, dword [ebp - 0x3c0]
call fcn.00471a44
test al, al
je 0x54023b
lea eax, [ebp - 0x3c4]
push eax
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
lea eax, [ebp - 0x3c8]
mov ecx, 0x541234
call fcn.00406f8c
mov eax, dword [ebp - 0x3c8]
mov ecx, 0x541268
mov edx, 3
call fcn.00516dd0
mov edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x27c]
add eax, 0xb8
call fcn.00406ba8
jmp 0x540280
lea eax, [ebp - 0x3cc]
push eax
lea ecx, [ebp - 0x3d0]
xor edx, edx
mov eax, dword [ebp - 0x27c]
call fcn.0053edf4
mov eax, dword [ebp - 0x3d0]
mov ecx, 0x541268
mov edx, 3
call fcn.00516dd0
mov edx, dword [ebp - 0x3cc]
mov eax, dword [ebp - 0x27c]
add eax, 0xb8
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xbc
mov ecx, 0x541284
call fcn.00406f8c
mov byte [ebp - 0x28d], 1
lea ecx, [ebp - 0x28d]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xbc]
mov eax, dword [0x6e16a0]
call fcn.0053e3d0
xor al, 1
or al, byte [ebp - 0x28d]
je 0x5402e0
mov eax, dword [ebp - 0x27c]
add eax, 0xbc
xor edx, edx
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xc0
mov ecx, 0x5412a8
call fcn.00406f8c
mov byte [ebp - 0x28d], 1
lea ecx, [ebp - 0x28d]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xc0]
mov eax, dword [0x6e16a0]
call fcn.0053e3d0
xor al, 1
or al, byte [ebp - 0x28d]
je 0x540340
mov eax, dword [ebp - 0x27c]
add eax, 0xc0
xor edx, edx
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xc4
mov ecx, 0x5412e4
call fcn.00406f8c
mov byte [ebp - 0x28d], 1
lea ecx, [ebp - 0x28d]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xc4]
mov eax, dword [0x6e16a0]
call fcn.0053e3d0
xor al, 1
or al, byte [ebp - 0x28d]
je 0x5403a0
mov eax, dword [ebp - 0x27c]
add eax, 0xc4
xor edx, edx
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xc8
mov ecx, 0x54130c
call fcn.00406f8c
mov byte [ebp - 0x28d], 1
lea ecx, [ebp - 0x28d]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xc8]
mov eax, dword [0x6e16a0]
call fcn.0053e3d0
xor al, 1
or al, byte [ebp - 0x28d]
je 0x540400
mov eax, dword [ebp - 0x27c]
add eax, 0xc8
xor edx, edx
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xcc
mov ecx, 0x541330
call fcn.00406f8c
mov byte [ebp - 0x28d], 1
lea ecx, [ebp - 0x28d]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xcc]
mov eax, dword [0x6e16a0]
call fcn.0053e3d0
xor al, 1
or al, byte [ebp - 0x28d]
je 0x540460
mov eax, dword [ebp - 0x27c]
add eax, 0xcc
xor edx, edx
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xd0
mov ecx, 0x541354
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xd4
mov ecx, 0x541380
call fcn.00406f8c
mov byte [ebp - 0x28d], 1
lea ecx, [ebp - 0x28d]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xd4]
mov eax, dword [0x6e16a0]
call fcn.0053e3d0
xor al, 1
or al, byte [ebp - 0x28d]
je 0x5404e1
mov eax, dword [ebp - 0x27c]
add eax, 0xd4
xor edx, edx
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 0x40], 0
je 0x54050b
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x27c]
add eax, 0xd8
mov ecx, 0x5410c4
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 0xd8], 0
je 0x54053b
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xd8]
mov eax, dword [ebp - 0x27c]
add eax, 0xdc
mov ecx, 0x5413b0
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 0xa4], 0
je 0x5405d4
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x27c]
add eax, 0xe4
mov ecx, 0x5413e4
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xa4]
mov eax, dword [ebp - 0x27c]
add eax, 0xe0
mov ecx, 0x541414
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xa4]
mov eax, dword [ebp - 0x27c]
add eax, 0xf8
mov ecx, 0x541434
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0xa4]
mov eax, dword [ebp - 0x27c]
add eax, 0xfc
mov ecx, 0x54144c
call fcn.00406f8c
jmp 0x540658
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xe4
mov ecx, 0x5413e4
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xe0
mov ecx, 0x541414
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xf8
mov ecx, 0x541434
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xfc
mov ecx, 0x54144c
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xe8
mov ecx, 0x541468
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x9c]
mov eax, dword [ebp - 0x27c]
add eax, 0xec
mov ecx, 0x541488
call fcn.00406f8c
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 0x18], 0
jne 0x5406bd
mov eax, dword [ebp - 0x27c]
add eax, 0xf0
xor edx, edx
call fcn.00406ba8
jmp 0x540895
mov eax, dword [ebp - 0x294]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x18]
lea eax, [ebp - 8]
mov ecx, 0x5414a0
call fcn.00406f8c
mov byte [ebp - 0x28d], 0
lea ecx, [ebp - 0x28d]
mov edx, dword [ebp - 8]
mov eax, dword [0x6e16a0]
call fcn.0053e3d0
and al, byte [ebp - 0x28d]
je 0x54086e
lea eax, [ebp - 0x3d4]
mov ecx, 0x5414bc
mov edx, dword [ebp - 8]
call fcn.00406f8c
mov eax, dword [ebp - 0x3d4]
lea ecx, [ebp - 0x278]
mov edx, 0x1ff
call fcn.00471c84
mov ebx, eax
test ebx, ebx
jne 0x540863
xor eax, eax
push ebp
push 0x540854
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x5414d0
mov eax, dword [ebp - 0x264]
call fcn.00470778
test al, al
jne 0x54076d
mov edx, 0x5414e0
mov eax, dword [ebp - 0x264]
call fcn.00470778
test al, al
je 0x540777
call fcn.0040541c
jmp 0x54085b
mov esi, dword [ebp - 0x268]
test esi, 4
jle 0x54078f
call fcn.0040541c
jmp 0x54085b
test esi, 0x10
jle 0x540839
mov edx, 0x5414f4
mov eax, dword [ebp - 0x264]
call fcn.00470778
test al, al
je 0x5407b9
call fcn.0040541c
jmp 0x54085b
mov edx, 0x541514
mov eax, dword [ebp - 0x264]
call fcn.00470778
test al, al
je 0x5407d7
call fcn.0040541c
jmp 0x54085b
mov edx, 0x541530
mov eax, dword [ebp - 0x264]
call fcn.00470778
test al, al
je 0x5407f2
call fcn.0040541c
jmp 0x54085b
mov edx, 0x541558
mov eax, dword [ebp - 0x264]
call fcn.00470778
test al, al
je 0x54080d
call fcn.0040541c
jmp 0x54085b
mov edx, 0x54157c
mov eax, dword [ebp - 0x264]
call fcn.00470778
test al, al
je 0x540828
call fcn.0040541c
jmp 0x54085b
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54085b
lea eax, [ebp - 0x278]
call fcn.00471cd4
mov ebx, eax
ret
test ebx, ebx
je 0x540737
lea eax, [ebp - 0x278]
call fcn.00471cf8
lea edx, [ebp - 0x3d8]
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x3d8]
mov eax, dword [ebp - 0x27c]
add eax, 0xf0
call fcn.00406ba8
lea ecx, [ebp - 0x3dc]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x1c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3dc]
mov eax, dword [ebp - 0x27c]
add eax, 0x1c
call fcn.00406ba8
lea ecx, [ebp - 0x3e0]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x20]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x27c]
add eax, 0x20
call fcn.00406ba8
lea ecx, [ebp - 0x3e4]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x24]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3e4]
mov eax, dword [ebp - 0x27c]
add eax, 0x24
call fcn.00406ba8
lea ecx, [ebp - 0x3e8]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x28]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3e8]
mov eax, dword [ebp - 0x27c]
add eax, 0x28
call fcn.00406ba8
lea ecx, [ebp - 0x3ec]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x2c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x27c]
add eax, 0x2c
call fcn.00406ba8
lea ecx, [ebp - 0x3f0]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x30]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3f0]
mov eax, dword [ebp - 0x27c]
add eax, 0x30
call fcn.00406ba8
lea ecx, [ebp - 0x3f4]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x34]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x27c]
add eax, 0x34
call fcn.00406ba8
lea ecx, [ebp - 0x3f8]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x38]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3f8]
mov eax, dword [ebp - 0x27c]
add eax, 0x38
call fcn.00406ba8
lea ecx, [ebp - 0x3fc]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x3c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x3fc]
mov eax, dword [ebp - 0x27c]
add eax, 0x3c
call fcn.00406ba8
lea ecx, [ebp - 0x400]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x40]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x400]
mov eax, dword [ebp - 0x27c]
add eax, 0x40
call fcn.00406ba8
lea ecx, [ebp - 0x404]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x44]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x27c]
add eax, 0x44
call fcn.00406ba8
lea ecx, [ebp - 0x408]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x48]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x408]
mov eax, dword [ebp - 0x27c]
add eax, 0x48
call fcn.00406ba8
lea ecx, [ebp - 0x40c]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x4c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x40c]
mov eax, dword [ebp - 0x27c]
add eax, 0x4c
call fcn.00406ba8
lea ecx, [ebp - 0x410]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x58]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x410]
mov eax, dword [ebp - 0x27c]
add eax, 0x58
call fcn.00406ba8
lea ecx, [ebp - 0x414]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x5c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x414]
mov eax, dword [ebp - 0x27c]
add eax, 0x5c
call fcn.00406ba8
lea ecx, [ebp - 0x418]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x60]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp - 0x27c]
add eax, 0x60
call fcn.00406ba8
lea ecx, [ebp - 0x41c]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x64]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x41c]
mov eax, dword [ebp - 0x27c]
add eax, 0x64
call fcn.00406ba8
lea ecx, [ebp - 0x420]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x68]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x27c]
add eax, 0x68
call fcn.00406ba8
lea ecx, [ebp - 0x424]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x6c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x424]
mov eax, dword [ebp - 0x27c]
add eax, 0x6c
call fcn.00406ba8
lea ecx, [ebp - 0x428]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x70]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x27c]
add eax, 0x70
call fcn.00406ba8
lea ecx, [ebp - 0x42c]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x74]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x42c]
mov eax, dword [ebp - 0x27c]
add eax, 0x74
call fcn.00406ba8
lea ecx, [ebp - 0x430]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x78]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x430]
mov eax, dword [ebp - 0x27c]
add eax, 0x78
call fcn.00406ba8
lea ecx, [ebp - 0x434]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x7c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x434]
mov eax, dword [ebp - 0x27c]
add eax, 0x7c
call fcn.00406ba8
lea ecx, [ebp - 0x438]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x80]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 0x27c]
add eax, 0x80
call fcn.00406ba8
lea ecx, [ebp - 0x43c]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x84]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x43c]
mov eax, dword [ebp - 0x27c]
add eax, 0x84
call fcn.00406ba8
lea ecx, [ebp - 0x440]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x88]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x440]
mov eax, dword [ebp - 0x27c]
add eax, 0x88
call fcn.00406ba8
lea ecx, [ebp - 0x444]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x8c]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x27c]
add eax, 0x8c
call fcn.00406ba8
lea ecx, [ebp - 0x448]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x90]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x27c]
add eax, 0x90
call fcn.00406ba8
lea ecx, [ebp - 0x44c]
mov eax, dword [ebp - 0x27c]
mov edx, dword [eax + 0x94]
mov eax, dword [0x6e16a0]
call fcn.0053e43c
mov edx, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x27c]
add eax, 0x94
call fcn.00406ba8
lea eax, [ebp - 0x450]
call fcn.0051521c
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x27c]
add eax, 0x100
call fcn.00406ba8
mov eax, dword [ebp - 0x27c]
call fcn.0053e8c0
mov edx, dword [ebp - 0x27c]
mov byte [edx + 0x110], al
mov eax, dword [ebp - 0x27c]
call fcn.0053eb94
mov edx, dword [ebp - 0x27c]
mov dword [edx + 0x114], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x540e51
mov eax, dword [ebp - 0x280]
call fcn.00404490
mov eax, dword [ebp - 0x28c]
call fcn.00404490
mov eax, dword [ebp - 0x294]
call fcn.00404490
ret