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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x100]
cmp eax, dword [ecx + 8]
jbe 0x5c51eb
sub esp, 0x180
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
test ecx, ecx
jne 0x5c5174
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.004687b0
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x198]
mov edx, dword [eax + 0x190]
cmp ecx, edx
setae bl
mov ebp, dword [eax + 0x19c]
mov esi, edx
sar edx, 0x1f
cmp ebp, edx
sete dl
xchg ebp, ebx
setg bl
xchg ebp, ebx
mov edi, dword [esp + 4]
and edx, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c2b1b
xor esi, esi
jmp 0x5c2b1d
sub esi, ecx
test esi, esi
jne 0x5c5037
mov dword [esp + 0x4c], edi
lea ecx, [eax + 0x18c]
mov dword [esp + 0x50], ecx
nop
mov edx, dword [0x8e7a50]
test edx, edx
jne 0x5c2b4b
mov edi, ecx
mov ebx, eax
xor eax, eax
call fcn.0046442a
jmp 0x5c2b64
lea eax, [0x6a5a20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00411540
mov ebx, dword [esp + 0x184]
mov dword [ebx + 0x1a0], 0xffffffff
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x104], ecx
lea edx, [0x6960a0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409740
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x184]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.005c5540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5c2da1
mov ebp, dword [0x8c0fc4]
cmp dword [0x8c0fc0], ecx
je 0x5c2be0
xor ecx, ecx
jmp 0x5c2c0d
mov dword [esp + 0x90], ebx
mov dword [esp + 0x38], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004038b0
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x90]
mov ecx, eax
mov eax, dword [esp + 0x38]
test cl, cl
je 0x5c2c32
mov ecx, dword [esp + 0x184]
mov edx, dword [ecx + 0x184]
cmp dword [ecx + 0x17c], edx
jne 0x5c2c32
mov eax, dword [0x8c0f98]
mov ebx, dword [0x8c0f9c]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x69f2c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5c2c66
mov eax, 1
jmp 0x5c2c76
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5c2c8a
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
jmp 0x5c2d8c
lea eax, [0x69f2c0]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c2cff
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0x8e7a50]
test ebx, ebx
jne 0x5c2ce8
mov eax, dword [esp + 0x90]
mov dword [edx + 0xd4], eax
jmp 0x5c2d8c
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x90]
call fcn.00464190
jmp 0x5c2d8c
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c2d3e
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5c2d51
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c2d76
mov dword [edx + 0xd4], eax
jmp 0x5c2d81
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x180
ret
mov ebx, dword [esp + 0x184]
mov ebp, dword [ebx + 0x178]
mov ecx, dword [ebx + 0x17c]
mov edx, dword [ebx + 0x180]
mov eax, dword [ebx + 0x184]
cmp ecx, eax
jb 0x5c51e5
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp esi, 5
jb 0x5c51d9
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x5c2df2
cmp cl, 0x80
je 0x5c4e76
movzx esi, byte [ebp + eax + 1]
shl esi, 8
mov edi, edx
movzx edx, byte [ebp + eax + 2]
or esi, edx
movzx edx, byte [ebp + eax + 3]
shl edx, 8
movzx ebp, byte [ebp + eax + 4]
or edx, ebp
movzx ebp, byte [ebx + 0x26]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c30c8
mov eax, edx
movzx edx, word [ebx + 0x24]
cmp dx, 0x304
je 0x5c30bc
cmp dx, si
jne 0x5c2e3f
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5c30c0
mov word [esp + 0x2a], si
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005c5840
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
movzx eax, word [esp + 0x2a]
mov word [esp], ax
call fcn.004094c0
mov eax, dword [esp + 4]
lea ecx, [0x68df80]
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x184]
movzx edx, word [eax + 0x24]
mov word [esp], dx
call fcn.004094c0
mov eax, dword [esp + 4]
lea ecx, [0x68df80]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
lea eax, [0x6db746]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x110]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cec50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x150]
mov edx, eax
xor eax, eax
call fcn.0046442a
mov dword [esp + 0x150], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x178]
mov ebx, dword [eax + 0x180]
mov ebp, dword [eax + 0x184]
cmp ecx, ebp
jb 0x5c51d2
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5c2f6c
mov ecx, 5
lea ebx, [esp + 0x158]
cmp ebx, edx
je 0x5c2f87
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464b20
lea eax, [0x6acd00]
mov dword [esp], eax
lea eax, [esp + 0x150]
mov dword [esp + 4], eax
call fcn.004093f0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x69f2c0]
mov dword [esp], ecx
lea ecx, [0x730d64]
mov dword [esp + 4], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c3019
lea ecx, [0x730d64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3002
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5c309b
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.00464190
jmp 0x5c309b
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3058
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5c306b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3090
mov dword [edx + 0xd4], eax
jmp 0x5c309b
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c32ab
jmp 0x5c30ca
mov eax, edx
cmp cl, 0x15
je 0x5c30d4
cmp cl, 0x16
jne 0x5c30df
cmp si, 0x1000
jb 0x5c32ab
mov ecx, dword [ebx]
mov dword [esp + 0x44], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046442a
lea ecx, [0x6d93e6]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], 0x2f
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], edx
mov ecx, dword [ebx + 0x17c]
mov edx, dword [ebx + 0x178]
mov ebp, dword [ebx + 0x180]
mov eax, dword [ebx + 0x184]
cmp ecx, eax
jb 0x5c51cd
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
add eax, edx
cmp ecx, 5
jl 0x5c315b
mov ecx, 5
lea edx, [esp + 0x140]
cmp edx, eax
je 0x5c3176
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464b20
lea eax, [0x6acd00]
mov dword [esp], eax
lea eax, [esp + 0x138]
mov dword [esp + 4], eax
call fcn.004093f0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x69f2c0]
mov dword [esp], ecx
lea ecx, [0x730d64]
mov dword [esp + 4], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c3208
lea ecx, [0x730d64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c31f1
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5c328a
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.00464190
jmp 0x5c328a
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3247
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5c325a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c327f
mov dword [edx + 0xd4], eax
jmp 0x5c328a
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp + 0x48], eax
cmp word [ebx + 0x24], 0x304
jne 0x5c32c3
cmp eax, 0x4100
jg 0x5c32ce
jmp 0x5c3502
cmp eax, 0x4800
jle 0x5c3502
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005c5840
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00409530
mov eax, dword [esp + 4]
lea ecx, [0x68d640]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
lea eax, [0x6d7124]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x108]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cec50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x120]
mov edx, eax
xor eax, eax
call fcn.0046442a
mov dword [esp + 0x120], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x178]
mov ebx, dword [eax + 0x180]
mov ebp, dword [eax + 0x184]
cmp ecx, ebp
jb 0x5c51c6
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5c33b2
mov ecx, 5
lea ebx, [esp + 0x128]
cmp ebx, edx
je 0x5c33cd
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464b20
lea eax, [0x6acd00]
mov dword [esp], eax
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
call fcn.004093f0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x69f2c0]
mov dword [esp], ecx
lea ecx, [0x730d64]
mov dword [esp + 4], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c345f
lea ecx, [0x730d64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3448
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5c34e1
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.00464190
jmp 0x5c34e1
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c349e
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5c34b1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c34d6
mov dword [edx + 0xd4], eax
jmp 0x5c34e1
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x104], ecx
lea edx, [0x6960a0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409740
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x184]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
add eax, 5
mov dword [esp + 0x48], eax
mov dword [esp + 0xc], eax
call fcn.005c5540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5c4cf8
nop
mov ebx, dword [esp + 0x184]
mov byte [ebx + 0x188], 0
nop
mov edx, dword [ebx + 0x180]
mov ebp, dword [ebx + 0x178]
mov esi, dword [ebx + 0x17c]
mov eax, dword [ebx + 0x184]
sub esi, eax
mov edi, dword [esp + 0x48]
cmp esi, edi
jl 0x5c3599
mov esi, edi
lea ecx, [esi + eax]
cmp edx, ecx
jb 0x5c51c1
cmp eax, ecx
ja 0x5c51bc
mov dword [ebx + 0x184], ecx
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebp
test esi, esi
jle 0x5c35ca
mov byte [ebx + 0x188], 0xff
lea edx, [ebx + 0xc8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
call fcn.005c1090
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
test ebx, ebx
je 0x5c3759
mov eax, dword [0x730d7c]
lea ecx, [0x730d78]
cmp ebp, ecx
jne 0x5c51a6
movzx eax, byte [esi]
mov ecx, dword [esp + 0x184]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c36b6
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c369f
mov eax, dword [esp + 0x88]
mov dword [edx + 0xd4], eax
jmp 0x5c3738
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x88]
call fcn.00464190
jmp 0x5c3738
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c36f5
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5c3708
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c372d
mov dword [edx + 0xd4], eax
jmp 0x5c3738
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
cmp edi, 0x4000
jg 0x5c4bbe
mov ebx, dword [esp + 0x184]
mov ebp, dword [ebx + 0xdc]
test ebp, ebp
jne 0x5c377f
cmp al, 0x17
je 0x5c4a8b
cmp al, 0x15
je 0x5c3797
cmp al, 0x14
je 0x5c3797
test edi, edi
je 0x5c3797
mov dword [ebx + 0x1d8], 0
movzx ebp, word [ebx + 0x24]
cmp bp, 0x304
jne 0x5c38f1
cmp al, 0x16
je 0x5c45dc
mov esi, dword [ebx + 0x1a8]
sub esi, dword [ebx + 0x1b0]
test esi, esi
jg 0x5c37c7
cmp al, 0x15
jmp 0x5c38f4
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c384e
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c383a
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xd4], eax
jmp 0x5c38d0
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x7c]
call fcn.00464190
jmp 0x5c38d0
mov dword [esp + 0x104], edx
mov dword [esp + 0xc4], ecx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c388d
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5c38a0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c38c5
mov dword [edx + 0xd4], eax
jmp 0x5c38d0
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
cmp al, 0x15
ja 0x5c45d3
cmp al, 0x14
jne 0x5c3f3d
cmp edi, 1
jne 0x5c3911
cmp byte [ecx], 1
je 0x5c3a3b
mov dword [esp], ebx
mov byte [esp + 4], 0x32
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c3998
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3984
mov eax, dword [esp + 0x68]
mov dword [edx + 0xd4], eax
jmp 0x5c3a1a
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x68]
call fcn.00464190
jmp 0x5c3a1a
mov dword [esp + 0x104], edx
mov dword [esp + 0xa8], ecx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c39d7
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5c39ea
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3a0f
mov dword [edx + 0xd4], eax
jmp 0x5c3a1a
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov ecx, dword [ebx + 0x1a8]
sub ecx, dword [ebx + 0x1b0]
test ecx, ecx
jg 0x5c3e13
cmp bp, 0x304
je 0x5c3de2
movzx ecx, byte [esp + 0x188]
test cl, cl
je 0x5c3cb8
mov ecx, dword [ebx + 0x104]
mov eax, dword [ebx + 0x108]
test ecx, ecx
je 0x5c3b5c
cmp word [ebx + 0xd8], 0x304
je 0x5c3b5c
mov dword [ebx + 0xdc], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3aa5
mov dword [ebx + 0xe0], eax
jmp 0x5c3ab0
lea edi, [ebx + 0xe0]
call fcn.00464190
mov eax, dword [ebx + 0x110]
mov ecx, dword [ebx + 0x10c]
mov dword [ebx + 0xe4], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3ad4
mov dword [ebx + 0xe8], eax
jmp 0x5c3adf
lea edi, [ebx + 0xe8]
call fcn.00464190
mov dword [ebx + 0x104], 0
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3aff
mov dword [ebx + 0x108], 0
jmp 0x5c3b0c
lea edi, [ebx + 0x108]
xor eax, eax
call fcn.00464190
mov dword [ebx + 0x10c], 0
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3b2c
mov dword [ebx + 0x110], 0
jmp 0x5c3b39
lea edi, [ebx + 0x110]
xor eax, eax
call fcn.00464190
lea eax, [ebx + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00464950
mov ebx, dword [esp + 0x184]
xor ecx, ecx
xor eax, eax
jmp 0x5c3b70
mov eax, 0x50
lea ecx, [0x89ce80]
lea eax, [ecx + eax*8]
lea ecx, [0x730d78]
test ecx, ecx
je 0x5c47ef
mov edx, dword [0x730d7c]
lea ebp, [0x730d78]
cmp ecx, ebp
jne 0x5c5190
movzx eax, byte [eax]
mov dword [esp], ebx
mov byte [esp + 4], al
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c3c15
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3c01
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xd4], eax
jmp 0x5c3c97
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x5c]
call fcn.00464190
jmp 0x5c3c97
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3c54
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5c3c67
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3c8c
mov dword [edx + 0xd4], eax
jmp 0x5c3c97
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c3d3f
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3d2b
mov eax, dword [esp + 0x60]
mov dword [edx + 0xd4], eax
jmp 0x5c3dc1
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x60]
call fcn.00464190
jmp 0x5c3dc1
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3d7e
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5c3d91
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3db6
mov dword [edx + 0xd4], eax
jmp 0x5c3dc1
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
movzx eax, byte [esp + 0x188]
mov byte [esp + 4], al
call fcn.005c5200
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c3e9a
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3e86
mov eax, dword [esp + 0x64]
mov dword [edx + 0xd4], eax
jmp 0x5c3f1c
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x64]
call fcn.00464190
jmp 0x5c3f1c
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3ed9
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5c3eec
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c3f11
mov dword [edx + 0xd4], eax
jmp 0x5c3f1c
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
cmp al, 0x15
jne 0x5c4961
cmp edi, 2
jne 0x5c44a9
movzx eax, byte [ecx + 1]
test al, al
je 0x5c438e
mov byte [esp + 0x29], al
cmp bp, 0x304
je 0x5c4234
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5c4203
cmp cl, 2
jne 0x5c40d9
lea eax, [0x6ae460]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6ca897]
mov dword [eax], ecx
lea ecx, [0x730d78]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x89ce80]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x69f2c0]
mov dword [esp], ecx
lea ecx, [0x730a08]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4036
lea ecx, [0x730a08]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c401f
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5c40b8
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.00464190
jmp 0x5c40b8
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4075
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5c4088
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c40ad
mov dword [edx + 0xd4], eax
jmp 0x5c40b8
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4160
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c414c
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xd4], eax
jmp 0x5c41e2
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x6c]
call fcn.00464190
jmp 0x5c41e2
mov dword [esp + 0xac], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c419f
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5c41b2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c41d7
mov dword [edx + 0xd4], eax
jmp 0x5c41e2
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
movzx eax, byte [esp + 0x188]
mov byte [esp + 4], al
call fcn.005c5200
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
lea eax, [0x6ae460]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6ca897]
mov dword [eax], ecx
lea ecx, [0x730d78]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x89ce80]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x69f2c0]
mov dword [esp], ecx
lea ecx, [0x730a08]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c42eb
lea ecx, [0x730a08]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c42d4
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5c436d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.00464190
jmp 0x5c436d
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c432a
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5c433d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4362
mov dword [edx + 0xd4], eax
jmp 0x5c436d
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov eax, dword [0x8c0f9c]
mov dword [esp + 0x70], eax
mov ecx, dword [0x8c0f98]
mov dword [esp + 0x34], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4406
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c43f2
mov eax, dword [esp + 0x70]
mov dword [edx + 0xd4], eax
jmp 0x5c4488
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x70]
call fcn.00464190
jmp 0x5c4488
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4445
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5c4458
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c447d
mov dword [edx + 0xd4], eax
jmp 0x5c4488
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4530
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c451c
mov eax, dword [esp + 0x74]
mov dword [edx + 0xd4], eax
jmp 0x5c45b2
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x74]
call fcn.00464190
jmp 0x5c45b2
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c456f
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5c4582
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c45a7
mov dword [edx + 0xd4], eax
jmp 0x5c45b2
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
cmp al, 0x16
jne 0x5c4739
test edi, edi
je 0x5c45f0
movzx eax, byte [esp + 0x188]
test al, al
je 0x5c471a
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4677
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4663
mov eax, dword [esp + 0x54]
mov dword [edx + 0xd4], eax
jmp 0x5c46f9
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x54]
call fcn.00464190
jmp 0x5c46f9
mov dword [esp + 0x104], edx
mov dword [esp + 0x94], ecx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c46b6
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5c46c9
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c46ee
mov dword [edx + 0xd4], eax
jmp 0x5c46f9
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
lea eax, [ebx + 0x1a4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.00474680
jmp 0x5c47ef
cmp al, 0x17
jne 0x5c4961
mov ebp, dword [esp + 0x4c]
test ebp, ebp
je 0x5c4837
movzx ebp, byte [esp + 0x188]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c4837
test edi, edi
je 0x5c480c
mov dword [esp + 0xf0], ecx
nop
mov ebp, dword [0x8e7a50]
test ebp, ebp
jne 0x5c4796
xor eax, eax
mov ebp, edi
mov edi, dword [esp + 0x50]
call fcn.0046442a
mov ecx, dword [esp + 0xf0]
mov dword [ebx + 0x18c], ecx
jmp 0x5c47d9
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edi
lea eax, [0x6a5a20]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00411540
mov eax, dword [esp + 0x184]
lea edi, [eax + 0x18c]
mov ecx, eax
mov eax, dword [esp + 0xf0]
call fcn.00464190
mov edx, dword [esp + 0x40]
mov ebx, ecx
mov ebp, dword [esp + 0x3c]
mov dword [ebx + 0x190], ebp
mov dword [ebx + 0x194], edx
mov dword [ebx + 0x1a0], 0xffffffff
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
add esp, 0x180
ret
mov dword [esp], ebx
xchg ebp, eax
mov byte [esp + 4], al
xchg ebp, eax
call fcn.005c5200
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c48be
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c48aa
mov eax, dword [esp + 0x58]
mov dword [edx + 0xd4], eax
jmp 0x5c4940
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x58]
call fcn.00464190
jmp 0x5c4940
mov dword [esp + 0x98], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c48fd
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5c4910
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4935
mov dword [edx + 0xd4], eax
jmp 0x5c4940
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c49e8
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c49d4
mov eax, dword [esp + 0x78]
mov dword [edx + 0xd4], eax
jmp 0x5c4a6a
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x78]
call fcn.00464190
jmp 0x5c4a6a
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4a27
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5c4a3a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4a5f
mov dword [edx + 0xd4], eax
jmp 0x5c4a6a
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4b1b
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4b04
mov eax, dword [esp + 0x80]
mov dword [edx + 0xd4], eax
jmp 0x5c4b9d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x80]
call fcn.00464190
jmp 0x5c4b9d
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4b5a
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5c4b6d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4b92
mov dword [edx + 0xd4], eax
jmp 0x5c4b9d
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov eax, dword [esp + 0x184]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.005c5840
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4c55
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4c3e
mov eax, dword [esp + 0x84]
mov dword [edx + 0xd4], eax
jmp 0x5c4cd7
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x84]
call fcn.00464190
jmp 0x5c4cd7
mov dword [esp + 0x104], edx
mov dword [esp + 0xcc], ecx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4c94
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5c4ca7
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4ccc
mov dword [edx + 0xd4], eax
jmp 0x5c4cd7
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x104], eax
lea edx, [0x69f2c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5c4d2f
mov eax, 1
jmp 0x5c4d3f
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5c4d56
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x104]
jmp 0x5c4e61
lea eax, [0x69f2c0]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4dd1
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0x8e7a50]
test ebx, ebx
jne 0x5c4dba
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xd4], eax
jmp 0x5c4e61
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x8c]
call fcn.00464190
jmp 0x5c4e61
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xf8], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf8]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4e10
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5c4e23
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4e48
mov dword [edx + 0xd4], eax
jmp 0x5c4e53
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x180
ret
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005c5840
lea edi, [esp + 0x168]
xor eax, eax
call fcn.0046442a
lea eax, [0x6d5998]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], 0x24
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x178]
mov ebx, dword [eax + 0x180]
mov ebp, dword [eax + 0x184]
cmp ecx, ebp
jb 0x5c5189
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5c4ee7
mov ecx, 5
lea ebx, [esp + 0x170]
cmp ebx, edx
je 0x5c4f02
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464b20
lea eax, [0x6acd00]
mov dword [esp], eax
lea eax, [esp + 0x168]
mov dword [esp + 4], eax
call fcn.004093f0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x69f2c0]
mov dword [esp], ecx
lea ecx, [0x730d64]
mov dword [esp + 4], ecx
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c4f94
lea ecx, [0x730d64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4f7d
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5c5016
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.00464190
jmp 0x5c5016
mov dword [esp + 0x104], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c4fd3
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5c4fe6
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c500b
mov dword [edx + 0xd4], eax
jmp 0x5c5016
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
lea eax, [0x698140]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xf4], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x6dd24b]
mov dword [eax], ecx
lea ecx, [0x69f2c0]
mov dword [esp], ecx
lea ecx, [0x730940]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409850
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c50d1
lea ecx, [0x730940]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c50ba
mov eax, dword [esp + 0xf4]
mov dword [edx + 0xd4], eax
jmp 0x5c5153
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf4]
call fcn.00464190
jmp 0x5c5153
mov dword [esp + 0xec], ecx
mov dword [esp + 0x104], edx
lea eax, [0x697fc0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c5110
mov ecx, dword [esp + 0xec]
mov dword [eax + 4], ecx
jmp 0x5c5123
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.00464190
mov eax, ecx
lea ecx, [0x73088c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8e7a50]
test ecx, ecx
jne 0x5c5148
mov dword [edx + 0xd4], eax
jmp 0x5c5153
lea edi, [edx + 0xd4]
call fcn.00464190
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x180
ret
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], edx
add esp, 0x180
ret
mov eax, ebp
call fcn.00464270
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x695da0]
mov dword [esp + 8], eax
call fcn.00409330
mov dword [esp], ebp
mov dword [esp + 4], eax
lea eax, [0x695da0]
mov dword [esp + 8], eax
call fcn.00409330
call fcn.00464270
call fcn.00464250
mov eax, ebp
call fcn.00464270
call fcn.00464270
mov eax, ebp
call fcn.00464270
mov ecx, 5
mov edx, esi
call fcn.00464250
call fcn.00464270
nop
call fcn.00462d80
jmp fcn.005c2a90