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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x39c]
cmp eax, dword [ecx + 8]
jbe 0x5c954c
sub esp, 0x41c
mov eax, 0
lea edi, [esp + 0x27c]
call fcn.0044dd66
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], eax
lea edi, [esp + 0x154]
call fcn.0044dd68
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
call fcn.004ad6c0
lea edi, [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x438]
mov ebx, dword [esp + 0x430]
cmp edx, ebx
jne 0x5c6913
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
lea esi, [esp + 0x43c]
call fcn.0044e244
call fcn.005c9560
movzx eax, byte [esp + 0x24]
test al, al
je 0x5c68cd
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x438]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov dword [esp + 0x150], 0
lea eax, [0x84fff7]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], 0x12
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x14c]
mov dword [esp + 4], eax
call fcn.0040c510
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
jmp 0x5c68aa
mov dword [esp + 0x140], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ecx
mov edx, dword [ecx + 0x50]
mov dword [esp], eax
call edx
lea eax, [esp + 0xc]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 4]
cmp ecx, 0x14
je 0x5c8c31
mov eax, dword [esp + 0x42c]
mov dword [esp], eax
mov ecx, dword [esp + 0x430]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x434]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x438]
mov dword [esp + 0xc], ebx
call fcn.005c5c90
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
test esi, esi
jne 0x5c8c15
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x43d]
test al, al
je 0x5c8bef
movzx eax, byte [esp + 0x43e]
test al, al
je 0x5c8be5
mov eax, 1
mov byte [esp + 0x43], cl
mov dword [esp + 0x8c], edx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x430]
cmp ecx, edx
je 0x5c8b7e
mov dword [esp + 0x138], esi
mov dword [esp + 0x134], edi
cmp eax, ebx
jne 0x5c8abf
mov eax, dword [esp + 0x444]
mov eax, dword [eax]
cmp ebp, eax
jne 0x5c8abf
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x5c8aaa
mov dword [esp + 0x84], ebp
mov ebx, dword [0xcad3c8]
mov ebp, dword [esp + 0xc0]
cmp ebx, ebp
je 0x5c8a1f
test eax, eax
jg 0x5c6b41
mov eax, dword [0xcad3b0]
cmp ebp, eax
je 0x5c6abc
mov dword [esp + 0x1e8], 0
lea eax, [0x85f812]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], 0x2d
lea eax, [0x9b22a0]
mov dword [esp], eax
lea eax, [esp + 0x1e4]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp], ebp
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [0xcad3b4]
mov dword [esp + 8], eax
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c6a55
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004ac6b0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0x42c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x434]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.005c5c90
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test edi, edi
jne 0x5c8a03
mov dword [esp + 0x138], edi
mov dword [esp + 0x134], esi
mov byte [esp + 0x42], cl
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0xc0]
mov dword [esp], esi
mov edi, dword [esp + 0xc4]
mov dword [esp + 4], edi
call fcn.005c9cf0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x5c8937
cmp ecx, 0x13
jne 0x5c8928
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x5c8910
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x5c88f3
cmp ebp, 0xc
jne 0x5c88df
mov ecx, ebp
cmp ebp, 0x17
jne 0x5c6c1f
cmp ecx, 0x18
jne 0x5c6c1f
test ebx, ebx
jne 0x5c6c1f
mov ebp, 0x18
mov esi, edx
movzx edx, byte [esp + 0x450]
test dl, dl
je 0x5c88d8
mov edx, 0x11
movzx ebp, byte [esp + 0x43d]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c888e
mov ebp, eax
mov edi, edx
mov eax, 0
mov dword [esp + 0x70], eax
mov eax, ebp
je 0x5c884b
mov dword [esp + 0x6c], edx
test al, al
je 0x5c8832
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c85b8
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
lea ebp, [edx + eax]
cmp ebp, edx
jge 0x5c85a3
mov esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5c853f
cmp edx, ebp
ja 0x5c9537
mov esi, dword [esp + 0x434]
cmp ebp, esi
ja 0x5c9537
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebp
sub esi, edx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
mov dword [esp + 0x88], edx
mov esi, dword [esp + 0x42c]
lea ecx, [esi + edx]
mov dword [esp + 0x11c], ecx
mov ecx, dword [0xcad3c8]
mov ebx, dword [esp + 0xc0]
cmp ecx, ebx
je 0x5c8394
mov ecx, dword [0xcad3b8]
cmp ecx, ebx
je 0x5c81a1
mov ecx, dword [0xcad3a0]
cmp ecx, ebx
je 0x5c7f4e
mov ecx, dword [0xcad3d0]
cmp ecx, ebx
je 0x5c7d50
mov ecx, dword [0xcad3a8]
cmp ecx, ebx
je 0x5c7c62
mov ecx, dword [0xcad3b0]
cmp ecx, ebx
je 0x5c7bb5
mov ecx, dword [0xcad398]
cmp ecx, ebx
je 0x5c7aa1
mov ecx, dword [esp + 0x428]
and ecx, 0x1f
cmp ecx, 6
ja 0x5c70e1
cmp ecx, 1
jne 0x5c6ea1
cmp eax, 1
jne 0x5c6e4f
movzx eax, byte [esi + edx]
test al, al
jne 0x5c6ded
xor eax, eax
xor ecx, ecx
xor edx, edx
test ecx, ecx
je 0x5c6d9f
mov dword [esp + 0x454], ebp
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp + 0x108], eax
mov dword [esp + 0xdc], ecx
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov byte [esp + 0xc], dl
call fcn.004ac6b0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x8c]
jmp 0x5c6d83
cmp al, 0xff
jne 0x5c6dfd
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x5c6d7f
mov dword [esp + 0x198], 0
lea eax, [0x84d6d9]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], 0xf
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x194]
mov dword [esp + 4], eax
call fcn.0040c510
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x8c]
xor edx, edx
jmp 0x5c6d7f
mov dword [esp + 0x1a0], 0
lea eax, [0x84d6d9]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], 0xf
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x19c]
mov dword [esp + 4], eax
call fcn.0040c510
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x8c]
xor edx, edx
jmp 0x5c6d7f
cmp ecx, 2
jne 0x5c6fff
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
call fcn.004ad6c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x7c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 4
jne 0x5c6f88
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c4760
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x5c6f3e
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x104], edx
mov ecx, dword [esp + 0x420]
mov dword [esp], ecx
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x428]
mov dword [esp + 8], ecx
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.004aca40
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x104]
jmp 0x5c6f1b
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c44e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x5c6fbc
mov edx, ecx
mov ecx, eax
jmp 0x5c6f1b
mov dword [esp + 0xe4], eax
mov dword [esp + 0xfc], ecx
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
call fcn.004aca40
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xfc]
jmp 0x5c6fb3
add ecx, 0xfffffffb
cmp ecx, 1
jbe 0x5c6eaa
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
call fcn.004ad6c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp], 0
lea edx, [0x84c406]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0043cee0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
lea eax, [0x9b22a0]
mov dword [esp], eax
lea eax, [esp + 0x174]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
cmp ecx, 0x17
je 0x5c786e
cmp ecx, 0x18
jne 0x5c7387
cmp edi, 0x13
jg 0x5c72dc
cmp edi, 0xc
je 0x5c72ac
cmp edi, 0x12
je 0x5c727c
cmp edi, 0x13
je 0x5c724c
mov dword [esp + 0x94], edi
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
lea eax, [0x7cf560]
mov dword [esp], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.0040c290
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
lea eax, [0x85c42c]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x184]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b9e50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x180], 0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
test eax, eax
je 0x5c7201
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov dword [esp + 0x138], ecx
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004acfa0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
jmp 0x5c71de
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c5920
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x5c71da
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c5830
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x5c71da
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c5b90
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x5c71da
cmp edi, 0x14
je 0x5c7353
cmp edi, 0x16
je 0x5c7323
cmp edi, 0x1b
jne 0x5c7117
mov dword [esp], 0
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.0043d060
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x5c71da
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c5ab0
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x5c71da
mov dword [esp], 0
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.0043d060
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x5c71da
cmp ecx, 0x19
jne 0x5c700b
lea ecx, [esp + 8]
mov dword [esp + 0x130], ecx
xor edx, edx
jmp 0x5c73ad
mov eax, dword [esp + 0x64]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x64], edx
mov eax, dword [ebx + 0x64]
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jge 0x5c746f
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0x2c]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call edx
lea edi, [esp + 0x3e8]
mov esi, dword [esp + 0x130]
call fcn.0044e1fe
mov eax, dword [esp + 0x3f4]
test eax, eax
je 0x5c739f
mov dword [esp + 0x190], 0
lea eax, [0x85a101]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], 0x21
lea eax, [0x9b22a0]
mov dword [esp], eax
lea eax, [esp + 0x18c]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x5c76eb
lea eax, [esp + 8]
mov dword [esp + 0x12c], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x128], ecx
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0x134]
mov esi, dword [esp + 0x138]
jmp 0x5c74c8
mov edi, dword [esp + 0x68]
inc edi
mov ebx, eax
mov ebp, edx
mov esi, ecx
mov edx, edi
mov dword [esp + 0x138], ebp
mov dword [esp + 0x134], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x64]
mov edi, dword [esp + 0xc4]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jge 0x5c76ba
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0x2c]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call edx
lea edi, [esp + 0x380]
mov esi, dword [esp + 0x130]
call fcn.0044e1fe
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x5c7587
mov ecx, dword [esp + 0x390]
mov edx, dword [esp + 0x394]
mov ebx, dword [0xcad3c0]
cmp ebx, ecx
jne 0x5c7587
mov dword [esp], ecx
mov dword [esp + 4], edx
mov eax, dword [0xcad3c4]
mov dword [esp + 8], eax
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c7587
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
jmp 0x5c74bb
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xc], ebx
call fcn.004aa4b0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x398]
mov ebp, dword [esp + 0x39c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x845080]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.004a3700
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005c97e0
lea edi, [esp + 0x2e0]
mov esi, dword [esp + 0x12c]
call fcn.0044e244
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x128]
lea esi, [esp + 0x2e0]
call fcn.0044e244
call fcn.005c67d0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test ecx, ecx
je 0x5c74bb
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
lea edi, [esp + 0x3b4]
mov esi, dword [esp + 0x130]
call fcn.0044e1fe
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c8]
mov edx, dword [0xcad3c0]
cmp edx, eax
jne 0x5c7491
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xcad3c4]
mov dword [esp + 8], eax
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c7491
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
ja 0x5c9522
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.004aa4b0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x434]
mov ebp, dword [esp + 0x438]
sub ebx, ebp
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
mov edi, dword [esp + 0x42c]
add ebx, edi
mov dword [esp + 0x224], ebx
mov ebx, dword [esp + 0x8c]
sub ebx, ebp
mov dword [esp + 0x228], ebx
mov dword [esp + 0x22c], esi
lea ebx, [0x7d14c0]
mov dword [esp], ebx
lea ebx, [esp + 0x224]
mov dword [esp + 4], ebx
call fcn.0040c410
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae210
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004ac5d0
jmp 0x5c7491
mov eax, dword [ebx + 0x28]
mov ecx, dword [esp + 0xc4]
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]
cmp eax, 8
je 0x5c797f
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x11c]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.005c6330
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
test ebx, ebx
je 0x5c7930
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ebx
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xf0], ebp
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004ac5d0
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xf0]
jmp 0x5c790d
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004aded0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebp, dword [esp + 0x424]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x428]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004ac5d0
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x220], eax
lea eax, [0x7b3200]
mov dword [esp], eax
lea eax, [esp + 0x218]
mov dword [esp + 4], eax
call fcn.0040c410
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae210
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004adb80
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad39c]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c7af3
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x5c6d4c
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c4920
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x5c7b45
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x110], edx
lea ecx, [0x841de0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004ae210
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004ac5d0
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x110]
jmp 0x5c7b22
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad3b4]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c7c07
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x5c6d3e
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004ac6b0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad3ac]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c7cb4
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x5c6d30
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c4760
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x5c7d06
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x10c], edx
mov ecx, dword [esp + 0x420]
mov dword [esp], ecx
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x428]
mov dword [esp + 8], ecx
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.004aca40
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x10c]
jmp 0x5c7ce3
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad3d4]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c7f22
lea edi, [esp + 0x268]
xor eax, eax
call fcn.0044dd6b
mov ecx, dword [esp + 0x90]
cmp ecx, 0x17
jne 0x5c7ec4
lea edi, [esp + 0x2cc]
call fcn.0044dd6b
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
call fcn.005c52d0
lea edi, [esp + 0x2cc]
mov esi, dword [esp + 0x13c]
call fcn.0044e24e
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xec], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x268]
lea esi, [esp + 0x2cc]
call fcn.0044e24e
mov eax, dword [esp + 0xec]
test eax, eax
je 0x5c7e26
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x454], ecx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0x100], edx
mov dword [esp + 0xec], eax
lea edi, [esp + 0x2a4]
lea esi, [esp + 0x268]
call fcn.0044e24e
lea eax, [0x83f560]
mov dword [esp], eax
lea eax, [esp + 0x2a4]
mov dword [esp + 4], eax
call fcn.0040c1b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae210
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004ac5d0
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x100]
jmp 0x5c7e03
lea edi, [esp + 0x2b8]
call fcn.0044dd6b
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
call fcn.005c5600
lea edi, [esp + 0x2b8]
mov esi, dword [esp + 0x13c]
call fcn.0044e24e
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x268]
lea esi, [esp + 0x2b8]
call fcn.0044e24e
jmp 0x5c7dff
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x5c6d22
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad3a4]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c8175
mov eax, dword [esp + 0x48]
test eax, eax
je 0x5c8124
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x42c]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x5c80bc
mov dword [esp + 0x1a8], 0
lea eax, [0x85a6a9]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], 0x22
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
test eax, eax
je 0x5c8015
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov dword [esp + 0xd8], eax
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x248], edx
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x250], ebp
mov dword [esp + 0x254], esi
lea eax, [0x80b2e0]
mov dword [esp], eax
lea eax, [esp + 0x248]
mov dword [esp + 4], eax
call fcn.0040c1b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae210
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004ac5d0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xf8]
jmp 0x5c7ff2
cmp eax, 1
jne 0x5c80c9
test edx, edx
jg 0x5c7fa2
lea ebx, [eax - 1]
cmp ebx, eax
jae 0x5c9529
mov ebp, dword [esp + 0x11c]
movzx eax, byte [eax + ebp - 1]
mov esi, 1
shl esi, cl
cmp cl, 0x20
sbb edi, edi
and esi, edi
dec esi
xchg esi, ebx
test bl, al
xchg esi, ebx
jne 0x5c7fa2
mov esi, ebx
shl esi, 3
sub esi, edx
mov edi, dword [esp + 0x78]
dec edi
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
lea edx, [ebp + edi]
mov ebp, eax
xor eax, eax
xor ecx, ecx
jmp 0x5c7fee
mov dword [esp + 0x1b0], 0
lea eax, [0x852e9a]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], 0x16
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x1ac]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5c7fee
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x5c6d14
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad3bc]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c81f3
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x5c6d06
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.005c4eb0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xd4], ebx
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0xf4], ebp
mov esi, dword [esp + 0x420]
mov dword [esp], esi
mov edi, dword [esp + 0x424]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
call fcn.004ad6c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004aded0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebp, dword [esp + 0x424]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x428]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004ac5d0
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x5c82fa
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x454], ecx
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x238], eax
lea eax, [0x7b1300]
mov dword [esp], eax
lea eax, [esp + 0x230]
mov dword [esp + 4], eax
call fcn.0040c410
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae210
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004adb80
mov eax, dword [esp + 0xd4]
jmp 0x5c82d0
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad3cc]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c8513
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
ja 0x5c9530
lea edi, [esp + 0x310]
lea esi, [0x9b4a80]
call fcn.0044e226
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x310], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x314], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x318], cl
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x434]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x42c]
add ecx, ebx
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 0x8c]
sub ecx, eax
mov dword [esp + 0x32c], ecx
mov dword [esp + 0x330], edx
lea edi, [esp + 0x334]
lea esi, [esp + 0x310]
call fcn.0044e226
lea eax, [0x80c660]
mov dword [esp], eax
lea eax, [esp + 0x334]
mov dword [esp + 4], eax
call fcn.0040c1b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ae210
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004ac5d0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x5c6cf8
mov dword [esp + 0x1b8], 0
lea eax, [0x84cb2f]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], 0xe
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x1b4]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov esi, dword [esp + 0x430]
cmp ebp, esi
xchg esi, ebx
setg bl
xchg esi, ebx
jmp 0x5c6c8b
movzx eax, byte [esp + 0x42]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
je 0x5c6c73
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x43c]
call fcn.0044e244
call fcn.005c9560
movzx eax, byte [esp + 0x24]
test al, al
je 0x5c863b
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xb8], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xbc], al
lea edi, [esp + 0x2f8]
lea esi, [esp + 0x43c]
call fcn.0044e244
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x98], eax
lea edi, [esp + 0x358]
xor eax, eax
call fcn.0044dd66
lea eax, [0x7cf560]
mov dword [esp], eax
lea ecx, [esp + 0x9c]
mov dword [esp + 4], ecx
call fcn.0040c290
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x358], ecx
mov dword [esp + 0x35c], eax
lea eax, [0x805a20]
mov dword [esp], eax
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.0040c4a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x360], eax
mov dword [esp + 0x364], ecx
lea eax, [0x8207e0]
mov dword [esp], eax
lea eax, [esp + 0x2f8]
mov dword [esp + 4], eax
call fcn.0040c1b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x368], eax
mov dword [esp + 0x36c], ecx
lea eax, [0x7cfea0]
mov dword [esp], eax
lea eax, [esp + 0x1c4]
mov dword [esp + 4], eax
call fcn.0040c380
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
lea eax, [0x7cf560]
mov dword [esp], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
call fcn.0040c290
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], ecx
lea eax, [0x85cd31]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x358]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004b9e50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
lea eax, [0x9b22a0]
mov dword [esp], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 4], eax
call fcn.0040c510
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x50]
jmp 0x5c861f
mov eax, dword [esp + 0x70]
cmp eax, ebx
jne 0x5c85c9
cmp edx, ecx
jne 0x5c85c9
jmp 0x5c6c69
movzx ecx, byte [esp + 0x43e]
test cl, cl
je 0x5c8885
mov ecx, dword [esp + 0x444]
test ecx, ecx
je 0x5c887c
mov edx, dword [ecx]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov ecx, 1
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x44]
jmp 0x5c6c5d
mov ecx, dword [esp + 0x44]
jmp 0x5c6c5d
mov ecx, dword [esp + 0x44]
jmp 0x5c6c5d
mov edi, ecx
mov ecx, dword [esp + 0x444]
test ecx, ecx
je 0x5c88be
mov ecx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebp, eax
mov edi, edx
mov eax, 0
mov edx, 2
mov dword [esp + 0x70], edx
mov edx, ecx
mov ecx, dword [esp + 0x44]
jmp 0x5c6c57
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, edi
mov ebp, eax
mov edi, edx
mov eax, 0
mov dword [esp + 0x70], eax
mov eax, ebp
jmp 0x5c6c57
mov edx, ebp
jmp 0x5c6c36
cmp ebp, 0x12
je 0x5c6c0a
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x5c6c0c
cmp ebp, 0x14
je 0x5c6c0a
cmp ebp, 0x16
je 0x5c6c0a
cmp ebp, 0x1b
je 0x5c6c0a
jmp 0x5c88e8
mov ebp, dword [esp + 0x448]
test ebp, ebp
je 0x5c8924
mov ecx, dword [esp + 0x44]
jmp 0x5c6c0c
mov ebp, ecx
jmp 0x5c891b
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x5c6c0c
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x5c8945
mov eax, dword [eax + 4]
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1d8], eax
lea eax, [0x850d3b]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x1d4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b9e50
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], eax
lea eax, [0x9b22a0]
mov dword [esp], eax
lea eax, [esp + 0x1cc]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], edi
mov dword [esp + 0x45c], esi
add esp, 0x41c
ret
mov dword [esp], ebp
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0xcad3cc]
mov dword [esp + 8], ecx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5c8a79
mov edx, dword [esp + 0x8c]
movzx ecx, byte [esp + 0x43]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x138]
mov esi, dword [esp + 0x134]
jmp 0x5c6b88
mov eax, dword [esp + 0x8c]
test eax, eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x430]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x138]
mov edi, dword [esp + 0x134]
jmp 0x5c6a45
movzx ebx, byte [esp + 0x43]
test bl, bl
je 0x5c8abf
mov ebx, dword [esp + 0x88]
jmp 0x5c6a27
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x43c]
call fcn.0044e244
call fcn.005c9560
movzx eax, byte [esp + 0x24]
test al, al
je 0x5c8b31
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0x1e0], 0
lea eax, [0x85bcd8]
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], 0x25
lea eax, [0x9b22a0]
mov dword [esp], eax
lea eax, [esp + 0x1dc]
mov dword [esp + 4], eax
call fcn.0040c510
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x90]
jmp 0x5c8b15
mov dword [esp + 0x1f0], 0
lea eax, [0x854a97]
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], 0x19
lea eax, [0x9b22a0]
mov dword [esp], eax
lea eax, [esp + 0x1ec]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, 2
jmp 0x5c69c9
mov eax, dword [esp + 0x90]
mov eax, ebx
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x90]
mov eax, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x90]
jmp 0x5c6b88
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], edi
add esp, 0x41c
ret
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jne 0x5c6948
mov eax, dword [esp + 0x42c]
mov dword [esp], eax
mov ecx, dword [esp + 0x430]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x434]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x438]
mov dword [esp + 0xc], ebx
call fcn.005c5c90
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
test esi, esi
jne 0x5c9506
mov dword [esp + 0x74], edx
mov dword [esp + 0x90], ebx
add edx, eax
cmp edx, eax
jge 0x5c94ea
mov dword [esp + 0xa0], eax
mov eax, 1
mov byte [esp + 0x41], al
mov eax, dword [esp + 0xa0]
movzx ebx, byte [esp + 0x41]
test bl, bl
jne 0x5c9482
mov dword [esp + 0x8c], edx
test cl, cl
je 0x5c8da9
xor eax, eax
xor ecx, ecx
test esi, esi
jne 0x5c8d8d
test ecx, ecx
jne 0x5c8d1c
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
mov dword [esp + 0x138], ebp
mov dword [esp + 0x134], esi
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004ae210
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ac5d0
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x138]
mov esi, dword [esp + 0x134]
jmp 0x5c8d00
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
test edi, edi
jne 0x5c9479
cmp eax, edx
ja 0x5c9545
mov ebx, dword [esp + 0x434]
cmp edx, ebx
ja 0x5c9545
sub ebx, eax
mov dword [esp + 0x7c], ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, dword [esp + 0x42c]
mov ecx, edx
lea edx, [eax + ebx]
mov edi, dword [esp + 0x90]
cmp edi, 0xc
jg 0x5c9190
cmp edi, 3
jg 0x5c901b
cmp edi, 2
je 0x5c8fa3
cmp edi, 3
jne 0x5c8f96
mov ebp, dword [esp + 0x74]
test ebp, ebp
je 0x5c8f45
movzx eax, byte [eax + ebx]
movzx ebx, al
cmp ebx, 7
jle 0x5c8edd
mov dword [esp + 0x1f8], 0
lea eax, [0x85a6a9]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], 0x22
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x1f4]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], ecx
mov dword [esp + 0x258], ebp
mov dword [esp + 0x25c], ebx
mov dword [esp + 0x260], edx
mov dword [esp + 0x264], esi
lea edx, [0x80b2e0]
mov dword [esp], edx
lea edx, [esp + 0x258]
mov dword [esp + 4], edx
call fcn.0040c1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, ebx
mov esi, edx
mov edx, dword [esp + 0x8c]
jmp 0x5c8cf4
cmp ebp, 1
jne 0x5c8eea
test ebx, ebx
jg 0x5c8e28
lea esi, [ebp - 1]
cmp esi, ebp
jae 0x5c953e
movzx ebp, byte [ebp + edx - 1]
mov ecx, eax
mov edi, 1
shl edi, cl
cmp al, 0x20
sbb eax, eax
and edi, eax
lea eax, [edi - 1]
xchg ebp, ebx
test al, bl
xchg ebp, ebx
jne 0x5c8e28
mov edi, esi
shl esi, 3
sub esi, ebx
mov eax, edi
mov edi, dword [esp + 0x7c]
dec edi
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
lea ebp, [edx + edi]
mov edx, ecx
mov ebx, eax
xor eax, eax
xor ecx, ecx
jmp 0x5c8e74
mov dword [esp + 0x200], 0
lea eax, [0x852e9a]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], 0x16
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x1fc]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5c8e74
mov edx, esi
mov ebx, ebp
xor ecx, ecx
xor eax, eax
jmp 0x5c8ecd
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c44e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x7cf620]
mov dword [esp], edx
lea edx, [esp + 0xa8]
mov dword [esp + 4], edx
call fcn.0040c300
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
cmp edi, 4
je 0x5c9131
cmp edi, 6
je 0x5c90ae
cmp edi, 0xc
jne 0x5c8f96
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c5b90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x7cfea0]
mov dword [esp], edx
lea edx, [esp + 0x154]
mov dword [esp + 4], edx
call fcn.0040c380
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c4eb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x20c], edx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x134], ecx
lea edx, [0x7b1300]
mov dword [esp], edx
lea edx, [esp + 0x20c]
mov dword [esp + 4], edx
call fcn.0040c410
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
mov dword [esp + 0x138], ebp
mov dword [esp + 0x134], esi
mov dword [esp + 0x23c], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x244], eax
lea eax, [0x7b3200]
mov dword [esp], eax
lea eax, [esp + 0x23c]
mov dword [esp + 4], eax
call fcn.0040c410
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
cmp edi, 0x14
jg 0x5c9300
cmp edi, 0x12
je 0x5c9288
cmp edi, 0x13
je 0x5c9210
cmp edi, 0x14
jne 0x5c8f96
mov dword [esp], 0
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
call fcn.0043d060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], eax
lea eax, [0x7cfea0]
mov dword [esp], eax
lea eax, [esp + 0x204]
mov dword [esp + 4], eax
call fcn.0040c380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
jmp 0x5c8ecd
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c5920
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x7cfea0]
mov dword [esp], edx
lea edx, [esp + 0x16c]
mov dword [esp + 4], edx
call fcn.0040c380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c5830
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x7cfea0]
mov dword [esp], edx
lea edx, [esp + 0x164]
mov dword [esp + 4], edx
call fcn.0040c380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
cmp edi, 0x16
je 0x5c9401
cmp edi, 0x17
je 0x5c938c
cmp edi, 0x18
jne 0x5c8f96
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c5600
lea edi, [esp + 0x27c]
mov esi, dword [esp + 0x13c]
call fcn.0044e24e
mov eax, dword [esp + 0x20]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x134], ecx
lea edx, [0x83f560]
mov dword [esp], edx
lea edx, [esp + 0x27c]
mov dword [esp + 4], edx
call fcn.0040c1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x134]
jmp 0x5c8ecd
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c52d0
lea edi, [esp + 0x290]
mov esi, dword [esp + 0x13c]
call fcn.0044e24e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x134], ecx
lea edx, [0x83f560]
mov dword [esp], edx
lea edx, [esp + 0x290]
mov dword [esp + 4], edx
call fcn.0040c1b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.005c5ab0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x7cfea0]
mov dword [esp], edx
lea edx, [esp + 0x15c]
mov dword [esp + 4], edx
call fcn.0040c380
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x5c8ecd
xor eax, eax
xor ecx, ecx
jmp 0x5c8cf4
mov dword [esp + 0x54], eax
mov dword [esp + 0x148], 0
lea eax, [0x84cb2f]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], 0xe
lea eax, [0x9b22c0]
mov dword [esp], eax
lea eax, [esp + 0x144]
mov dword [esp + 4], eax
call fcn.0040c510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov ebx, dword [esp + 0x430]
cmp edx, ebx
setg bl
mov byte [esp + 0x41], bl
mov ebx, dword [esp + 0x90]
jmp 0x5c8cd4
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.00426ad0
ud2
call fcn.00426a70
ud2
call fcn.00426ad0
ud2
call fcn.0044c200
jmp fcn.005c67d0