Function at 0x4f3800
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x58]
cmp eax, dword [ecx + 8]
jbe 0x4f48ed
sub esp, 0xd8
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
cmp eax, 0x15
je 0x4f48b6
cmp eax, 0x16
je 0x4f487e
cmp eax, 0x17
je 0x4f4829
xor eax, eax
xor ecx, ecx
test al, al
jne 0x4f38c1
test cl, cl
je 0x4f3891
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 1
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
add esp, 0xd8
ret
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
add esp, 0xd8
ret
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
lea ecx, [0x844d40]
mov dword [esp], ecx
call fcn.00409d90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xe4]
movzx edx, byte [ecx + 0x40]
test dl, dl
je 0x4f47fd
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x50]
lea edi, [eax + 0xc]
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 4]
cmp ecx, 8
ja 0x4f421c
cmp ecx, 5
ja 0x4f4024
cmp ecx, 1
jne 0x4f3e02
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x3c]
mov dword [esp + 0x20], edx
mov ebx, dword [ecx + 0x38]
mov dword [esp + 0x28], ebx
cmp edx, 1
jge 0x4f3c83
jge 0x4f3bde
jne 0x4f3afa
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jne 0x4f3af7
xor edx, edx
xor ebx, ebx
xor ebp, ebp
test edx, edx
je 0x4f3a9b
mov dword [esp + 0x40], ebx
je 0x4f3a94
mov eax, dword [edx + 4]
mov dword [esp + 0x48], eax
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add ecx, 0x38
mov dword [esp + 4], ecx
lea ecx, [0x80a3e0]
mov dword [esp], ecx
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xd4], eax
lea eax, [0x8a8006]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0340
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xd8
ret
mov eax, edx
jmp 0x4f39c2
lea ecx, [0x805960]
mov dword [eax + 8], ecx
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
lea edx, [0xc21400]
add ecx, edx
mov edx, dword [0xc6f140]
test edx, edx
jne 0x4f3aea
mov dword [eax + 0xc], ecx
mov dword [esp + 0xe8], eax
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
add esp, 0xd8
ret
mov edx, eax
mov eax, ecx
call fcn.0044c860
mov eax, edx
jmp 0x4f3abe
cmp edx, 1
jne 0x4f3b17
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x31
xchg ebp, eax
jne 0x4f3b14
xor edx, edx
xor ebx, ebx
mov ebp, 1
jmp 0x4f39ad
cmp edx, 1
jne 0x4f3b27
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x46
xchg ebp, eax
je 0x4f39a7
lea eax, [0x847b40]
mov dword [esp], eax
call fcn.00409d90
mov edi, dword [esp + 4]
mov dword [edi + 4], 9
mov eax, dword [0xc6f140]
test eax, eax
jne 0x4f3bce
lea ecx, [0x89acdf]
mov dword [edi], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0xc], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x4f3bb8
mov ecx, dword [esp + 0x28]
mov dword [edi + 8], ecx
mov eax, dword [0xc5c9bc]
mov ecx, dword [0xc5c9b8]
mov dword [edi + 0x10], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x4f3ba8
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xe4]
lea edx, [0x922430]
mov ebx, edi
xor ebp, ebp
mov edi, dword [esp + 0x4c]
jmp 0x4f39ad
lea ecx, [edi + 0x14]
mov edx, edi
mov edi, ecx
call fcn.0044c860
mov edi, edx
jmp 0x4f3b8a
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x28]
call fcn.0044c860
mov edi, edx
jmp 0x4f3b6e
lea eax, [0x89acdf]
call fcn.0044c860
jmp 0x4f3b56
je 0x4f3c1f
jne 0x4f3bf3
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x54
xchg ebp, eax
je 0x4f3b06
cmp edx, 1
jne 0x4f3c06
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
je 0x4f39a7
cmp edx, 1
jne 0x4f3b27
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
je 0x4f3b06
jmp 0x4f3b27
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x8969e0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4f3c64
mov edx, dword [esp + 0x20]
cmp edx, 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
jmp 0x4f3993
mov edx, dword [esp + 0x20]
cmp edx, 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
jmp 0x4f3be0
je 0x4f3da1
cmp edx, 4
jge 0x4f3ccd
jne 0x4f3ca1
mov ebp, dword [ebx]
cmp ebp, 0x45555254
je 0x4f3b06
cmp edx, 4
jne 0x4f3cb4
mov ebp, dword [ebx]
cmp ebp, 0x65757254
je 0x4f3b06
cmp edx, 4
jne 0x4f3b27
mov ebp, dword [ebx]
cmp ebp, 0x65757274
je 0x4f3b06
jmp 0x4f3b27
je 0x4f3d40
cmp edx, 5
jne 0x4f3cf0
mov ebp, dword [ebx]
cmp ebp, 0x534c4146
jne 0x4f3d3b
movzx ebp, byte [ebx + 4]
xchg ebp, eax
cmp al, 0x45
xchg ebp, eax
je 0x4f39a7
cmp edx, 5
jne 0x4f3d0e
mov ebp, dword [ebx]
cmp ebp, 0x736c6146
jne 0x4f3d36
movzx ebp, byte [ebx + 4]
xchg ebp, eax
cmp al, 0x65
xchg ebp, eax
je 0x4f39a7
cmp edx, 5
jne 0x4f3b27
mov ebp, dword [ebx]
cmp ebp, 0x736c6166
jne 0x4f3b27
movzx ebp, byte [ebx + 4]
xchg ebp, eax
cmp al, 0x65
xchg ebp, eax
je 0x4f39a7
jmp 0x4f3b27
cmp edx, 5
jmp 0x4f3d0e
cmp edx, 5
jmp 0x4f3cf0
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x89758f]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4f3d85
mov edx, dword [esp + 0x20]
cmp edx, 4
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
jmp 0x4f3c8e
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
jmp 0x4f3ccf
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x8969ff]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x4f3de6
mov edx, dword [esp + 0x20]
cmp edx, 1
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
jmp 0x4f398d
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
jmp 0x4f3c89
cmp ecx, 5
je 0x4f3ec5
mov eax, dword [esp + 0xdc]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xe0]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea ecx, [0x8152c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
lea eax, [0x8a6b8a]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x54]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b0340
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xd8
ret
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x38]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x20
call fcn.00453bc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x4f3fe4
mov dword [esp + 0x2c], eax
je 0x4f3f0b
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0xe4]
add eax, 0x38
mov dword [esp + 4], eax
lea eax, [0x80a3e0]
mov dword [esp], eax
call fcn.00407520
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa4], eax
lea eax, [0x8a8aef]
mov dword [esp], eax
mov dword [esp + 4], 0x1f
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0340
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xd8
ret
lea eax, [0x809ba0]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x4f4019
mov dword [edx + 0xc], eax
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
call fcn.0044c860
jmp 0x4f4012
cmp ecx, 6
je 0x4f40b5
cmp ecx, 8
jne 0x4f3e0b
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], 0
call fcn.0043c0a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
lea eax, [0x7e9560]
mov dword [esp], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], eax
mov eax, dword [0xc6f140]
test eax, eax
jne 0x4f40a8
mov dword [edx + 0xc], ecx
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
mov eax, ecx
call fcn.0044c860
jmp 0x4f40a1
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x38]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00453bc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
je 0x4f41d8
mov dword [esp + 0x44], eax
je 0x4f40ff
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov eax, dword [esp + 0xe4]
add eax, 0x38
mov dword [esp + 4], eax
lea eax, [0x80a3e0]
mov dword [esp], eax
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
lea eax, [0x8a8b0e]
mov dword [esp], eax
mov dword [esp + 4], 0x1f
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0340
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xd8
ret
lea eax, [0x809be0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004074a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x4f4211
mov dword [edx + 0xc], eax
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
call fcn.0044c860
jmp 0x4f420a
cmp ecx, 0xb
ja 0x4f44de
cmp ecx, 0xa
je 0x4f438e
cmp ecx, 0xb
jne 0x4f3e0b
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x38]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00453390
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x4f434a
mov dword [esp + 0x38], ecx
je 0x4f4343
mov eax, dword [ebx + 4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov ecx, dword [esp + 0xe4]
add ecx, 0x38
mov dword [esp + 4], ecx
lea ecx, [0x80a3e0]
mov dword [esp], ecx
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x74], eax
lea eax, [0x8a93f0]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0340
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xd8
ret
mov eax, ebx
jmp 0x4f4285
lea ecx, [0x80a660]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004074a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x4f4383
mov dword [edx + 0xc], eax
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
call fcn.0044c860
jmp 0x4f437c
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x20
call fcn.00453390
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x4f449e
mov dword [esp + 0x30], edx
je 0x4f43d4
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov ecx, dword [esp + 0xe4]
add ecx, 0x38
mov dword [esp + 4], ecx
lea ecx, [0x80a3e0]
mov dword [esp], ecx
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x84], eax
lea eax, [0x8a93d0]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0340
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xd8
ret
lea eax, [0x80a620]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x4f44d3
mov dword [edx + 0xc], eax
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
call fcn.0044c860
jmp 0x4f44cc
cmp ecx, 0xd
je 0x4f469e
cmp ecx, 0xe
je 0x4f4541
cmp ecx, 0x18
jne 0x4f3e0b
mov eax, dword [esp + 0xe4]
add eax, 0x38
mov dword [esp + 4], eax
lea eax, [0x80a3e0]
mov dword [esp], eax
call fcn.00407520
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], eax
mov eax, dword [0xc6f140]
test eax, eax
jne 0x4f4534
mov dword [edx + 0xc], ecx
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
mov eax, ecx
call fcn.0044c860
jmp 0x4f452d
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 0x40
call fcn.00452f70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
movsd xmm0, qword [esp + 0xc]
test ecx, ecx
je 0x4f465a
mov dword [esp + 0x34], eax
je 0x4f4581
mov ecx, dword [ecx + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov eax, dword [esp + 0xe4]
add eax, 0x38
mov dword [esp + 4], eax
lea eax, [0x80a3e0]
mov dword [esp], eax
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xb4], eax
lea eax, [0x8a9f5a]
mov dword [esp], eax
mov dword [esp + 4], 0x21
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0340
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xd8
ret
lea eax, [0x805fa0]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
call fcn.004074a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], eax
mov eax, dword [0xc6f140]
test eax, eax
jne 0x4f4691
mov dword [edx + 0xc], ecx
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
mov eax, ecx
call fcn.0044c860
jmp 0x4f468a
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 0x20
call fcn.00452f70
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x4f47b7
mov dword [esp + 0x3c], ecx
je 0x4f46de
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov ecx, dword [esp + 0xe4]
add ecx, 0x38
mov dword [esp + 4], ecx
lea ecx, [0x80a3e0]
mov dword [esp], ecx
call fcn.00407520
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc4], eax
lea eax, [0x8a9f39]
mov dword [esp], eax
mov dword [esp + 4], 0x21
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b0340
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], 0
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xd8
ret
lea eax, [0x805f60]
mov dword [esp], eax
cvtsd2ss xmm0, xmm0
movss dword [esp + 4], xmm0
call fcn.00407440
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x50]
mov dword [edx + 8], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x4f47f2
mov dword [edx + 0xc], eax
mov eax, edx
jmp 0x4f3abe
mov edi, dword [esp + 0x4c]
call fcn.0044c860
jmp 0x4f47eb
mov dword [esp + 0xe8], eax
mov byte [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
add esp, 0xd8
ret
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x4f4864
mov eax, 1
xor ecx, ecx
jmp 0x4f3859
cmp eax, 0x16
jne 0x4f4875
xor eax, eax
mov ecx, 1
jmp 0x4f3859
xor eax, eax
xor ecx, ecx
jmp 0x4f3859
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 0x19
sete cl
setne al
jmp 0x4f3859
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 0x16
sete cl
xor eax, eax
jmp 0x4f3859
call fcn.0044b100
jmp fcn.004f3800