Function at 0x4c6c40
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4f205c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x254
push ebx
push ebp
push esi
push edi
mov ebp, ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x26c], 0
xor edi, edi
call fcn.004ba030
lea ecx, [esp + 0x30]
mov byte [esp + 0x26c], 1
call fcn.004ba030
lea ecx, [esp + 0x58]
mov byte [esp + 0x26c], 2
call fcn.004ba030
lea ecx, [esp + 0x44]
mov byte [esp + 0x26c], 3
call fcn.004ba030
lea ecx, [esp + 0x238]
mov byte [esp + 0x26c], 4
call fcn.004d9b70
mov eax, dword [esp + 0x278]
mov esi, dword [esp + 0x298]
mov dword [esp + 0x260], eax
mov byte [esp + 0x26c], 5
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0x18], eax
je 0x4c7882
mov dword [esp + 0x14], eax
mov ecx, dword [eax + 4]
lea edx, [esp + 0x18]
mov dword [esp + 0x14], ecx
push edx
mov ecx, esi
call fcn.0042e960
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c6d13
lea edx, [eax + 4]
jmp 0x4c6d15
xor edx, edx
mov ebx, dword [edx]
mov dword [ecx + 4], ebx
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x1c0]
push ecx
lea ecx, [esp + 0x34]
call fcn.004ba0a0
lea ecx, [esp + 0x1ac]
call fcn.004ba050
test edi, edi
je case.0x4c6d67.5
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
cmp eax, 7
ja case.0x4c6d67.5
jmp dword [eax*4 + 0x4c790c]
lea eax, [esp + 0x14]
mov ecx, esi
push eax
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c6d8c
lea edx, [eax + 4]
jmp 0x4c6d8e
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x94]
call fcn.004ba050
cmp dword [esp + 0x3c], 0xa
jne 0x4c6e29
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c6ded
lea edx, [eax + 4]
jmp 0x4c6def
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x1e8]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x1d4]
call fcn.004ba050
lea eax, [esp + 0x1c]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x34]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
sub esp, 0x14
mov edx, dword [eax]
mov dword [esp + 0x38], esp
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x50]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
mov ecx, esp
jmp 0x4c6fc6
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c6e8b
lea edx, [eax + 4]
jmp 0x4c6e8d
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0xd0]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0xbc]
call fcn.004ba050
cmp dword [esp + 0x3c], 0xa
jne 0x4c6f28
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c6eec
lea edx, [eax + 4]
jmp 0x4c6eee
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x198]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x184]
call fcn.004ba050
lea eax, [esp + 0x284]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x29c]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
mov edx, dword [eax]
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x2a4]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x2a8]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0xf8]
push ecx
lea ecx, [esp + 0x34]
call fcn.004ba0a0
lea ecx, [esp + 0xe4]
call fcn.004ba050
lea eax, [esp + 0x1c]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x34]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
sub esp, 0x14
mov edx, dword [eax]
mov dword [esp + 0x38], esp
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x50]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
mov ecx, esp
lea edx, [esp + 0x58]
push edx
call fcn.00448ec0
mov eax, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x2a4]
mov edx, dword [esp + 0x2a0]
push eax
mov eax, dword [esp + 0x2a0]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.004c7930
jmp case.0x4c6d67.5
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c701a
lea edx, [eax + 4]
jmp 0x4c701c
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x238]
push ecx
lea ecx, [esp + 0x70]
call fcn.004ba0a0
lea ecx, [esp + 0x224]
call fcn.004ba050
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7074
lea edx, [eax + 4]
jmp 0x4c7076
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x120]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x10c]
call fcn.004ba050
cmp dword [esp + 0x3c], 0xa
jne 0x4c710e
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c70d5
lea edx, [eax + 4]
jmp 0x4c70d7
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x6c]
call fcn.004ba050
lea eax, [esp + 0x1c]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x34]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
sub esp, 0x14
mov edx, dword [eax]
mov dword [esp + 0x38], esp
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x50]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea edx, [esp + 0x80]
mov ecx, esp
push edx
call fcn.00448ec0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x4c], esp
jmp 0x4c7331
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7186
lea edx, [eax + 4]
jmp 0x4c7188
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x148]
push ecx
lea ecx, [esp + 0x70]
call fcn.004ba0a0
lea ecx, [esp + 0x134]
call fcn.004ba050
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c71e0
lea edx, [eax + 4]
jmp 0x4c71e2
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x210]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x1fc]
call fcn.004ba050
cmp dword [esp + 0x3c], 0xa
jne 0x4c727d
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7241
lea edx, [eax + 4]
jmp 0x4c7243
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x170]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x15c]
call fcn.004ba050
lea eax, [esp + 0x284]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x29c]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
mov edx, dword [eax]
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x2a4]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x2a8]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x34]
call fcn.004ba0a0
lea ecx, [esp + 0x80]
call fcn.004ba050
lea eax, [esp + 0x1c]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x34]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
sub esp, 0x14
mov edx, dword [eax]
mov dword [esp + 0x38], esp
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x50]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x54]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea edx, [esp + 0x80]
mov ecx, esp
push edx
call fcn.00448ec0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x4c], esp
lea eax, [esp + 0x6c]
push eax
call fcn.00448ec0
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2b8]
mov eax, dword [esp + 0x2b4]
push ecx
mov ecx, dword [esp + 0x2b4]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.004c7a30
jmp case.0x4c6d67.5
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7385
lea edx, [eax + 4]
jmp 0x4c7387
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x70]
call fcn.004ba0a0
lea ecx, [esp + 0xa8]
call fcn.004ba050
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c73df
lea edx, [eax + 4]
jmp 0x4c73e1
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0xe4]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0xd0]
call fcn.004ba050
lea edx, [esp + 0x18]
mov ecx, esi
push edx
call fcn.0042e960
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7439
lea edx, [eax + 4]
jmp 0x4c743b
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x10c]
push ecx
lea ecx, [esp + 0x5c]
call fcn.004ba0a0
lea ecx, [esp + 0xf8]
call fcn.004ba050
cmp dword [esp + 0x3c], 7
je case.0x4c6d67.5
lea eax, [esp + 0x44]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x5c]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
sub esp, 0x14
mov edx, dword [eax]
mov dword [esp + 0x38], esp
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea edx, [esp + 0x44]
mov ecx, esp
push edx
call fcn.00448ec0
sub esp, 0x14
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.00448ec0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x60], esp
jmp 0x4c783d
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c750b
lea edx, [eax + 4]
jmp 0x4c750d
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x134]
push ecx
lea ecx, [esp + 0x70]
call fcn.004ba0a0
lea ecx, [esp + 0x120]
call fcn.004ba050
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7565
lea edx, [eax + 4]
jmp 0x4c7567
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x15c]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x148]
call fcn.004ba050
lea edx, [esp + 0x18]
mov ecx, esi
push edx
call fcn.0042e960
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c75bf
lea edx, [eax + 4]
jmp 0x4c75c1
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x184]
push ecx
lea ecx, [esp + 0x5c]
call fcn.004ba0a0
lea ecx, [esp + 0x170]
call fcn.004ba050
lea eax, [esp + 0x44]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x5c]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
sub esp, 0x14
mov edx, dword [eax]
mov dword [esp + 0x38], esp
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea edx, [esp + 0x44]
mov ecx, esp
push edx
call fcn.00448ec0
sub esp, 0x14
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.00448ec0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x60], esp
jmp 0x4c783d
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7686
lea edx, [eax + 4]
jmp 0x4c7688
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x1ac]
push ecx
lea ecx, [esp + 0x70]
call fcn.004ba0a0
lea ecx, [esp + 0x198]
call fcn.004ba050
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.004cce10
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c76e0
lea edx, [eax + 4]
jmp 0x4c76e2
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x1d4]
push ecx
lea ecx, [esp + 0x48]
call fcn.004ba0a0
lea ecx, [esp + 0x1c0]
call fcn.004ba050
lea eax, [esp + 0x284]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x29c]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
mov edx, dword [eax]
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x2a4]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x2a8]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x1fc]
push ecx
lea ecx, [esp + 0x34]
call fcn.004ba0a0
lea ecx, [esp + 0x1e8]
call fcn.004ba050
lea edx, [esp + 0x18]
mov ecx, esi
push edx
call fcn.0042e960
sub esp, 0x14
test eax, eax
mov dword [esp + 0x24], esp
mov ecx, esp
je 0x4c7799
lea edx, [eax + 4]
jmp 0x4c779b
xor edx, edx
mov edi, dword [edx]
mov dword [ecx + 4], edi
mov edx, dword [edx + 4]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea ecx, [esp + 0x224]
push ecx
lea ecx, [esp + 0x5c]
call fcn.004ba0a0
lea ecx, [esp + 0x210]
call fcn.004ba050
lea eax, [esp + 0x44]
sub esp, 0x14
neg eax
sbb eax, eax
lea edx, [esp + 0x5c]
and eax, edx
mov ecx, esp
mov dword [esp + 0x24], esp
sub esp, 0x14
mov edx, dword [eax]
mov dword [esp + 0x38], esp
mov dword [ecx + 4], edx
mov eax, dword [eax + 4]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4f57e8
lea edx, [esp + 0x44]
mov ecx, esp
push edx
call fcn.00448ec0
sub esp, 0x14
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.00448ec0
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x60], esp
lea edx, [esp + 0x80]
push edx
call fcn.00448ec0
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2c8]
push eax
mov eax, dword [esp + 0x2c8]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.004c7b80
mov eax, dword [esp + 0x18]
mov edi, 1
test eax, eax
jne 0x4c6cea
lea ecx, [esp + 0x238]
mov byte [esp + 0x26c], 4
call fcn.004d9ba0
lea ecx, [esp + 0x44]
mov byte [esp + 0x26c], 3
call fcn.004ba050
lea ecx, [esp + 0x58]
mov byte [esp + 0x26c], 2
call fcn.004ba050
lea ecx, [esp + 0x30]
mov byte [esp + 0x26c], 1
call fcn.004ba050
lea ecx, [esp + 0x1c]
mov byte [esp + 0x26c], 0
call fcn.004ba050
lea ecx, [esp + 0x284]
mov dword [esp + 0x26c], 0xffffffff
call fcn.004ba050
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x260
ret 0x28