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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x4f2f3d
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
jne 0x4f0aff
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f0a4b
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x4f0ac4
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f0af5
mov dword [edx + 0x50], eax
jmp 0x4f0aa7
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f0aa7
mov eax, dword [esp + 0x100]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x114]
mov dword [esp + 8], ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.004ed9f0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
test ebx, ebx
jne 0x4f2ea9
test ebp, ebp
je 0x4f1010
mov eax, dword [esp + 0x100]
movzx ecx, byte [eax]
cmp cl, 0x22
je 0x4f0e73
movzx edx, byte [esp + 0x118]
test dl, dl
jne 0x4f0d13
cmp cl, 0x66
jne 0x4f0ce5
lea eax, [0x7e0ccb]
mov ecx, 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0xa4], eax
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0xa8c6b0]
test eax, eax
jne 0x4f0cd4
mov ecx, dword [esp + 0xa4]
mov dword [edi], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f0cb8
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4f0c77
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], eax
lea ecx, [0x86c4e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f0cae
mov dword [edx + 0x50], eax
jmp 0x4f0c5a
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f0c5a
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov edi, edx
jmp 0x4f0c3e
mov eax, dword [esp + 0xa4]
call fcn.0045c330
jmp 0x4f0c1f
cmp cl, 0x6e
jne 0x4f0cfa
lea eax, [0x7e0eff]
mov ecx, 4
jmp 0x4f0b9e
cmp cl, 0x74
je 0x4f0b93
lea eax, [0x7e2a4f]
mov ecx, 6
jmp 0x4f0b9e
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f0dbf
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x4f0e38
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f0e69
mov dword [edx + 0x50], eax
jmp 0x4f0e1b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f0e1b
mov dword [esp + 0xa8], edi
mov dword [esp + 0x48], ebp
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.004f3710
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test al, al
jne 0x4f0fd4
movzx eax, byte [esp + 0x118]
test al, al
je 0x4f2f24
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f0f71
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0xa8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp + 0xc0], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0x100]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
ja 0x4f2cb2
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x4f2420
xchg ebp, eax
cmp al, 0x66
xchg ebp, eax
jne 0x4f1647
movzx esi, byte [esp + 0x118]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4f163b
mov edi, dword [esp + 0x104]
cmp edi, 4
je 0x4f162a
cmp edi, 5
je 0x4f11c3
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f110f
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x4f1188
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
add esp, 0xf8
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f11b9
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
cmp dword [ebx], 0x736c6166
jne 0x4f1078
cmp byte [ebx + 4], 0x65
jne 0x4f1078
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
nop
nop
and ecx, 0x1f
cmp ecx, 1
je 0x4f160b
cmp ecx, 0x14
je 0x4f142f
xchg esi, eax
test al, al
xchg esi, eax
je 0x4f1342
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f12a1
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x4f116b
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1335
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x7e0ccb]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f141a
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4f116b
mov dword [esp], ecx
lea edx, [0x86c4e0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f140d
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov eax, ecx
jmp 0x4f13b3
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
call fcn.00485c10
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f1510
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0xa48900]
lea eax, [edx + ecx*8]
nop
movzx ecx, byte [0xa75d80]
test cl, cl
je 0x4f1508
lea ecx, [0x7844a0]
mov dword [0xa75d84], ecx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x4f14fb
mov dword [0xa75d88], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x4f14f3
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f14c0
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00486930
jmp 0x4f116b
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f14c0
lea edi, [0xa75d88]
call fcn.0045c330
jmp 0x4f1492
lea ecx, [0x7844a0]
jmp 0x4f1492
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x7e0ccb]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f15f6
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4f116b
mov dword [esp], ecx
lea edx, [0x86c4e0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f15e9
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov eax, ecx
jmp 0x4f158f
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.00486a40
jmp 0x4f116b
cmp dword [ebx], 0x65757274
jne 0x4f106f
jmp 0x4f11d9
mov edi, dword [esp + 0x104]
jmp 0x4f11d9
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
je 0x4f176c
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x4f176c
movzx ebp, byte [esp + 0x118]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f2eef
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f1709
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp], 0
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.00446730
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
nop
mov edx, dword [esp + 0x74]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x4f1f74
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x4f1cd6
cmp edx, 7
jae 0x4f1a72
cmp edx, 0x18
je 0x4f1a0f
xor edx, edx
test dl, dl
jne 0x4f19e4
movzx eax, byte [esp + 0x118]
test al, al
je 0x4f18ed
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f188a
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e2a4f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f19cf
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4f116b
mov dword [esp], ecx
lea edx, [0x86c4e0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f19c2
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov eax, ecx
jmp 0x4f1968
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00487660
jmp 0x4f116b
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp dword [0xa75518], eax
je 0x4f1a55
xor eax, eax
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0xac]
jmp 0x4f17cd
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xa7551c]
mov dword [esp + 8], eax
call fcn.00403830
movzx eax, byte [esp + 0xc]
jmp 0x4f1a3f
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00467b10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4f1bf6
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x7e3c9c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.004465b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1bec
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1bd3
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4f116b
mov dword [esp], eax
lea ecx, [0x86c4e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1bc6
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov edi, edx
jmp 0x4f1b6c
call fcn.0045c330
jmp 0x4f1b51
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
lea ebp, [ebx - 0x20]
mov dword [esp + 0x70], ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x6c], edi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x68], edx
cmp ebx, 0x20
sbb edx, edx
mov ecx, esi
shl eax, cl
mov ecx, ebp
mov esi, dword [esp + 0x38]
shr esi, cl
and esi, edi
mov ecx, ebx
mov edi, dword [esp + 0x3c]
shl edi, cl
and edi, edx
or edi, esi
mov esi, dword [esp + 0x68]
and eax, esi
or eax, edi
mov edi, eax
shr eax, cl
and eax, edx
mov esi, dword [esp + 0x3c]
cmp esi, eax
setne al
mov esi, dword [esp + 0x38]
shl esi, cl
and esi, edx
mov ecx, ebp
mov ebp, edi
shl edi, cl
mov ecx, ebx
shr esi, cl
and esi, edx
mov edx, dword [esp + 0x6c]
and edi, edx
or edi, esi
mov ecx, dword [esp + 0x70]
shr ebp, cl
mov edx, dword [esp + 0x68]
and ebp, edx
or edi, ebp
mov edx, dword [esp + 0x38]
cmp edi, edx
setne bl
or ebx, eax
test bl, bl
jne 0x4f1aa2
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
call fcn.00487470
jmp 0x4f116b
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004682e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x4f1e5a
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x7e3c9c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.004465b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1e50
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1e37
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4f116b
mov dword [esp], eax
lea ecx, [0x86c4e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1e2a
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov edi, edx
jmp 0x4f1dd0
call fcn.0045c330
jmp 0x4f1db5
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0xc0]
mov ebx, dword [edx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
mov dword [esp + 0x7c], ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0x70], ebp
lea esi, [ebx - 0x20]
mov dword [esp + 0x6c], esi
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x68], esi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x64], edx
cmp edi, 0x20
sbb ebp, ebp
shr ebx, 5
cmp ebx, 1
sbb ebx, ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x20
sbb edx, edx
mov dword [esp + 0x7c], edx
mov ecx, edi
shl eax, cl
mov ecx, esi
mov edx, dword [esp + 0x34]
shr edx, cl
mov ecx, ebx
mov esi, dword [esp + 0x40]
shl esi, cl
and eax, ebp
mov edi, dword [esp + 0x64]
and edx, edi
mov edi, dword [esp + 0x70]
and esi, edi
or esi, edx
or esi, eax
mov eax, dword [esp + 0x34]
shl eax, cl
and eax, edi
xchg ebp, ebx
not ebx
xchg ebp, ebx
mov edx, dword [esp + 0x6c]
or ebp, edx
mov ecx, dword [esp + 0x68]
mov edx, esi
shl esi, cl
mov ecx, ebx
shr eax, cl
and eax, edi
mov edi, dword [esp + 0x64]
and esi, edi
or esi, eax
mov ecx, ebp
mov eax, edx
sar edx, cl
mov ebp, dword [esp + 0x60]
xor ebp, 0xffffffff
and ebp, edx
or ebp, esi
mov edx, dword [esp + 0x34]
cmp ebp, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov ecx, dword [esp + 0x7c]
not ecx
or ecx, ebx
sar eax, cl
mov ebx, dword [esp + 0x40]
cmp ebx, eax
setne al
or eax, ebp
test al, al
jne 0x4f1d06
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00486f00
jmp 0x4f116b
cmp edx, 0xe
jbe 0x4f2203
cmp edx, 0x14
jne 0x4f17c2
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f07a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test edx, edx
je 0x4f2005
nop
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4f116b
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f1ff8
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
call fcn.00485c10
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f2108
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4f2100
nop
movzx edx, byte [0xa75d80]
test dl, dl
je 0x4f20f4
mov dword [0xa75d84], ecx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x4f20e0
mov eax, dword [esp + 0xa0]
mov dword [0xa75d88], eax
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x4f20d8
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f20a5
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00486930
jmp 0x4f116b
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f20a5
lea edi, [0xa75d88]
mov eax, dword [esp + 0xa0]
call fcn.0045c330
jmp 0x4f2077
mov eax, dword [esp + 0xa0]
jmp 0x4f2077
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f20a5
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e2a4f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f21ee
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4f116b
mov dword [esp], ecx
lea edx, [0x86c4e0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f21e1
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov eax, ecx
jmp 0x4f2187
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004674d0
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4f23ba
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp], 0
lea ecx, [0x7e3c9c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], ecx
call fcn.004465b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xb8]
mov dword [edi + 4], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f23b0
mov dword [edi], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f2397
mov eax, dword [esp + 0xc4]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x78]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x4f116b
mov dword [esp], eax
lea ecx, [0x86c4e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f238a
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov edi, edx
jmp 0x4f2330
call fcn.0045c330
jmp 0x4f2315
mov eax, dword [esp + 0x5c]
cmp eax, 0xd
jne 0x4f23f9
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x4f23d9
movsd xmm1, qword [0x864e68]
pxor xmm0, xmm1
movsd xmm1, qword [0x864e38]
ucomisd xmm0, xmm1
jbe 0x4f23f9
movsd xmm1, qword [0x864e60]
ucomisd xmm1, xmm0
jae 0x4f2266
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00486e40
jmp 0x4f116b
mov dword [esp], ebx
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 8], ecx
call fcn.004f3710
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x18]
mov ebx, dword [esp + 0x14]
test dl, dl
je 0x4f2b96
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x4c], eax
nop
nop
mov edx, dword [esp + 0x74]
mov ebp, edx
and edx, 0x1f
cmp edx, 0x14
je 0x4f2990
cmp edx, 0x17
je 0x4f2707
cmp edx, 0x18
jne 0x4f2610
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp dword [0xa75518], eax
je 0x4f25a7
xor eax, eax
test al, al
jne 0x4f2506
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.00446730
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487660
jmp 0x4f116b
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 8], eax
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
lea eax, [0x80127b]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xa7551c]
mov dword [esp + 8], eax
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f25cd
xor eax, eax
jmp 0x4f24bc
lea eax, [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call fcn.00446730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004f65d0
movzx eax, byte [esp + 8]
xor eax, 1
jmp 0x4f24bc
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e2cfb]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f26f2
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4f116b
mov dword [esp], ecx
lea edx, [0x86c4e0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f26e5
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov eax, ecx
jmp 0x4f268b
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
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
cmp dword [esp + 4], 8
jne 0x4f2895
mov eax, dword [0xa747cc]
cmp dword [eax + 0x140], 0xffffffff
jne 0x4f2886
mov eax, dword [esp + 0x4c]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
mov dword [esp + 0x58], ecx
lea eax, [0x787b20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004430a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
mov ecx, dword [0xa747cc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
call fcn.004ec380
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
je 0x4f2840
nop
mov ecx, dword [esp + 0xfc]
mov ebx, dword [ecx + 0x4c]
test ebx, ebx
jne 0x4f116b
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f2833
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x4f2f07
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00486b10
jmp 0x4f116b
mov eax, dword [esp + 0x4c]
shr eax, 2
lea ecx, [eax + eax*2]
jmp 0x4f277e
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e2cfb]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f297b
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4f116b
mov dword [esp], ecx
lea edx, [0x86c4e0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f296e
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov eax, ecx
jmp 0x4f2914
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00485c10
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4f2a9b
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
call fcn.00446730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408cf0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xa75d80]
test cl, cl
je 0x4f2a93
lea ecx, [0x7878a0]
mov dword [0xa75d84], ecx
mov edx, dword [0xa8c6b0]
test edx, edx
jne 0x4f2a86
mov dword [0xa75d88], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x4f2a7e
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f2a4b
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00486930
jmp 0x4f116b
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f2a4b
lea edi, [0xa75d88]
call fcn.0045c330
jmp 0x4f2a1d
lea ecx, [0x7878a0]
jmp 0x4f2a1d
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x78], ebx
lea ebp, [0x7b8bc0]
mov dword [esp], ebp
call fcn.0040b570
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x7e2cfb]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f2b81
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x4f116b
mov dword [esp], ecx
lea edx, [0x86c4e0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f2b74
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045c330
mov eax, ecx
jmp 0x4f2b1a
movzx eax, byte [esp + 0x118]
test al, al
je 0x4f2f0c
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f2c4f
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
xchg ebp, eax
cmp al, 0x6e
xchg ebp, eax
jne 0x4f2e99
movzx ebp, byte [esp + 0x118]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4f2e23
mov ebp, dword [esp + 0x104]
cmp ebp, 4
je 0x4f2e17
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
call fcn.00408d70
mov eax, dword [esp + 0xc]
lea ecx, [0x774ba0]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4f2d76
mov eax, dword [eax + 4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xf4], eax
lea eax, [0x801ae6]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xe8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cbbb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xfc]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x4f116b
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004ed320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xfc]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xa8c6b0]
test ecx, ecx
jne 0x4f2e0a
mov dword [edx + 0x50], eax
jmp 0x4f116b
lea edi, [edx + 0x50]
call fcn.0045c330
jmp 0x4f116b
cmp dword [ebx], 0x6c6c756e
jne 0x4f2cdf
nop
mov ebx, ecx
and ecx, 0x1f
add ecx, 0xffffffec
nop
cmp ecx, 3
ja 0x4f116b
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00487e20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00488c00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.00486930
jmp 0x4f116b
xchg ebp, eax
cmp al, 0x74
xchg ebp, eax
je 0x4f104d
jmp 0x4f1647
mov eax, dword [ebx + 0x10]
mov dword [esp], esi
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
add esp, 0xf8
ret
lea eax, [0x7878a0]
mov dword [esp], eax
lea eax, [0x8657b0]
mov dword [esp + 4], eax
call fcn.00430c40
call fcn.0045c3f0
lea eax, [0x7878a0]
mov dword [esp], eax
lea eax, [0x8657a8]
mov dword [esp + 4], eax
call fcn.00430c40
lea eax, [0x7878a0]
mov dword [esp], eax
lea eax, [0x865858]
mov dword [esp + 4], eax
call fcn.00430c40
nop
call fcn.0045ade0
jmp fcn.004f0970