Function at 0x5be3b0
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 0x5c0b0b
sub esp, 0x180
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
test ecx, ecx
jne 0x5c0a94
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.00468900
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 0x5be43b
xor esi, esi
jmp 0x5be43d
sub esi, ecx
test esi, esi
jne 0x5c0957
mov dword [esp + 0x4c], edi
lea ecx, [eax + 0x18c]
mov dword [esp + 0x50], ecx
nop
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x5be46b
mov edi, ecx
mov ebx, eax
xor eax, eax
call fcn.0046457a
jmp 0x5be484
lea eax, [0x6b02a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00411570
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, [0x6a0ac0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409770
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.005c0e60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5be6c1
mov ebp, dword [0x8ce9cc]
cmp dword [0x8ce9c8], ecx
je 0x5be500
xor ecx, ecx
jmp 0x5be52d
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 0x5be552
mov ecx, dword [esp + 0x184]
mov edx, dword [ecx + 0x184]
cmp dword [ecx + 0x17c], edx
jne 0x5be552
mov eax, dword [0x8ce9a0]
mov ebx, dword [0x8ce9a4]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x6a9800]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5be586
mov eax, 1
jmp 0x5be596
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5be5aa
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
jmp 0x5be6ac
lea eax, [0x6a9800]
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.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5be61f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0x8f52e0]
test ebx, ebx
jne 0x5be608
mov eax, dword [esp + 0x90]
mov dword [edx + 0xd4], eax
jmp 0x5be6ac
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x90]
call fcn.004642e0
jmp 0x5be6ac
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5be65e
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5be671
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5be696
mov dword [edx + 0xd4], eax
jmp 0x5be6a1
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5c0b05
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp esi, 5
jb 0x5c0af9
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x5be712
cmp cl, 0x80
je 0x5c0796
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 0x5be9e8
mov eax, edx
movzx edx, word [ebx + 0x24]
cmp dx, 0x304
je 0x5be9dc
cmp dx, si
jne 0x5be75f
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5be9e0
mov word [esp + 0x2a], si
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005c1160
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.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x698ce0]
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.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x698ce0]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
lea eax, [0x6e5f2f]
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.00526f10
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.0046457a
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 0x5c0af2
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5be88c
mov ecx, 5
lea ebx, [esp + 0x158]
cmp ebx, edx
je 0x5be8a7
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464c70
lea eax, [0x6b7880]
mov dword [esp], eax
lea eax, [esp + 0x150]
mov dword [esp + 4], eax
call fcn.00409420
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x6a9800]
mov dword [esp], ecx
lea ecx, [0x73c200]
mov dword [esp + 4], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5be939
lea ecx, [0x73c200]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5be922
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5be9bb
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004642e0
jmp 0x5be9bb
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5be978
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5be98b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5be9b0
mov dword [edx + 0xd4], eax
jmp 0x5be9bb
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5bebcb
jmp 0x5be9ea
mov eax, edx
cmp cl, 0x15
je 0x5be9f4
cmp cl, 0x16
jne 0x5be9ff
cmp si, 0x1000
jb 0x5bebcb
mov ecx, dword [ebx]
mov dword [esp + 0x44], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046457a
lea ecx, [0x6e3aa5]
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 0x5c0aed
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 0x5bea7b
mov ecx, 5
lea edx, [esp + 0x140]
cmp edx, eax
je 0x5bea96
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464c70
lea eax, [0x6b7880]
mov dword [esp], eax
lea eax, [esp + 0x138]
mov dword [esp + 4], eax
call fcn.00409420
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x6a9800]
mov dword [esp], ecx
lea ecx, [0x73c200]
mov dword [esp + 4], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5beb28
lea ecx, [0x73c200]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5beb11
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5bebaa
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004642e0
jmp 0x5bebaa
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5beb67
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5beb7a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5beb9f
mov dword [edx + 0xd4], eax
jmp 0x5bebaa
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5bebe3
cmp eax, 0x4100
jg 0x5bebee
jmp 0x5bee22
cmp eax, 0x4800
jle 0x5bee22
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005c1160
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00409560
mov eax, dword [esp + 4]
lea ecx, [0x698320]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
lea eax, [0x6e1735]
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.00526f10
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.0046457a
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 0x5c0ae6
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5becd2
mov ecx, 5
lea ebx, [esp + 0x128]
cmp ebx, edx
je 0x5beced
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464c70
lea eax, [0x6b7880]
mov dword [esp], eax
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
call fcn.00409420
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x6a9800]
mov dword [esp], ecx
lea ecx, [0x73c200]
mov dword [esp + 4], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bed7f
lea ecx, [0x73c200]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bed68
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5bee01
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004642e0
jmp 0x5bee01
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bedbe
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5bedd1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bedf6
mov dword [edx + 0xd4], eax
jmp 0x5bee01
lea edi, [edx + 0xd4]
call fcn.004642e0
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, [0x6a0ac0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409770
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.005c0e60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5c0618
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 0x5beeb9
mov esi, edi
lea ecx, [esi + eax]
cmp edx, ecx
jb 0x5c0ae1
cmp eax, ecx
ja 0x5c0adc
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 0x5beeea
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.005bc9b0
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 0x5bf079
mov eax, dword [0x73c218]
lea ecx, [0x73c214]
cmp ebp, ecx
jne 0x5c0ac6
movzx eax, byte [esi]
mov ecx, dword [esp + 0x184]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5befd6
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5befbf
mov eax, dword [esp + 0x88]
mov dword [edx + 0xd4], eax
jmp 0x5bf058
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x88]
call fcn.004642e0
jmp 0x5bf058
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf015
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5bf028
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf04d
mov dword [edx + 0xd4], eax
jmp 0x5bf058
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5c04de
mov ebx, dword [esp + 0x184]
mov ebp, dword [ebx + 0xdc]
test ebp, ebp
jne 0x5bf09f
cmp al, 0x17
je 0x5c03ab
cmp al, 0x15
je 0x5bf0b7
cmp al, 0x14
je 0x5bf0b7
test edi, edi
je 0x5bf0b7
mov dword [ebx + 0x1d8], 0
movzx ebp, word [ebx + 0x24]
cmp bp, 0x304
jne 0x5bf211
cmp al, 0x16
je 0x5bfefc
mov esi, dword [ebx + 0x1a8]
sub esi, dword [ebx + 0x1b0]
test esi, esi
jg 0x5bf0e7
cmp al, 0x15
jmp 0x5bf214
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bf16e
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf15a
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xd4], eax
jmp 0x5bf1f0
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x7c]
call fcn.004642e0
jmp 0x5bf1f0
mov dword [esp + 0x104], edx
mov dword [esp + 0xc4], ecx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf1ad
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5bf1c0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf1e5
mov dword [edx + 0xd4], eax
jmp 0x5bf1f0
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5bfef3
cmp al, 0x14
jne 0x5bf85d
cmp edi, 1
jne 0x5bf231
cmp byte [ecx], 1
je 0x5bf35b
mov dword [esp], ebx
mov byte [esp + 4], 0x32
call fcn.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bf2b8
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf2a4
mov eax, dword [esp + 0x68]
mov dword [edx + 0xd4], eax
jmp 0x5bf33a
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x68]
call fcn.004642e0
jmp 0x5bf33a
mov dword [esp + 0x104], edx
mov dword [esp + 0xa8], ecx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf2f7
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5bf30a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf32f
mov dword [edx + 0xd4], eax
jmp 0x5bf33a
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5bf733
cmp bp, 0x304
je 0x5bf702
movzx ecx, byte [esp + 0x188]
test cl, cl
je 0x5bf5d8
mov ecx, dword [ebx + 0x104]
mov eax, dword [ebx + 0x108]
test ecx, ecx
je 0x5bf47c
cmp word [ebx + 0xd8], 0x304
je 0x5bf47c
mov dword [ebx + 0xdc], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf3c5
mov dword [ebx + 0xe0], eax
jmp 0x5bf3d0
lea edi, [ebx + 0xe0]
call fcn.004642e0
mov eax, dword [ebx + 0x110]
mov ecx, dword [ebx + 0x10c]
mov dword [ebx + 0xe4], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf3f4
mov dword [ebx + 0xe8], eax
jmp 0x5bf3ff
lea edi, [ebx + 0xe8]
call fcn.004642e0
mov dword [ebx + 0x104], 0
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf41f
mov dword [ebx + 0x108], 0
jmp 0x5bf42c
lea edi, [ebx + 0x108]
xor eax, eax
call fcn.004642e0
mov dword [ebx + 0x10c], 0
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf44c
mov dword [ebx + 0x110], 0
jmp 0x5bf459
lea edi, [ebx + 0x110]
xor eax, eax
call fcn.004642e0
lea eax, [ebx + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00464aa0
mov ebx, dword [esp + 0x184]
xor ecx, ecx
xor eax, eax
jmp 0x5bf490
mov eax, 0x50
lea ecx, [0x8aa8e0]
lea eax, [ecx + eax*8]
lea ecx, [0x73c214]
test ecx, ecx
je 0x5c010f
mov edx, dword [0x73c218]
lea ebp, [0x73c214]
cmp ecx, ebp
jne 0x5c0ab0
movzx eax, byte [eax]
mov dword [esp], ebx
mov byte [esp + 4], al
call fcn.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bf535
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf521
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xd4], eax
jmp 0x5bf5b7
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x5c]
call fcn.004642e0
jmp 0x5bf5b7
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf574
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5bf587
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf5ac
mov dword [edx + 0xd4], eax
jmp 0x5bf5b7
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bf65f
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf64b
mov eax, dword [esp + 0x60]
mov dword [edx + 0xd4], eax
jmp 0x5bf6e1
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x60]
call fcn.004642e0
jmp 0x5bf6e1
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf69e
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5bf6b1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf6d6
mov dword [edx + 0xd4], eax
jmp 0x5bf6e1
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c0b20
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bf7ba
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf7a6
mov eax, dword [esp + 0x64]
mov dword [edx + 0xd4], eax
jmp 0x5bf83c
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x64]
call fcn.004642e0
jmp 0x5bf83c
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf7f9
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5bf80c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf831
mov dword [edx + 0xd4], eax
jmp 0x5bf83c
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5c0281
cmp edi, 2
jne 0x5bfdc9
movzx eax, byte [ecx + 1]
test al, al
je 0x5bfcae
mov byte [esp + 0x29], al
cmp bp, 0x304
je 0x5bfb54
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5bfb23
cmp cl, 2
jne 0x5bf9f9
lea eax, [0x6b8fe0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6d4d39]
mov dword [eax], ecx
lea ecx, [0x73c214]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x8aa8e0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x6a9800]
mov dword [esp], ecx
lea ecx, [0x73becc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bf956
lea ecx, [0x73becc]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf93f
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5bf9d8
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.004642e0
jmp 0x5bf9d8
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf995
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5bf9a8
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bf9cd
mov dword [edx + 0xd4], eax
jmp 0x5bf9d8
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bfa80
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfa6c
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xd4], eax
jmp 0x5bfb02
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x6c]
call fcn.004642e0
jmp 0x5bfb02
mov dword [esp + 0xac], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfabf
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5bfad2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfaf7
mov dword [edx + 0xd4], eax
jmp 0x5bfb02
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c0b20
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, [0x6b8fe0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6d4d39]
mov dword [eax], ecx
lea ecx, [0x73c214]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x8aa8e0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x6a9800]
mov dword [esp], ecx
lea ecx, [0x73becc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bfc0b
lea ecx, [0x73becc]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfbf4
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5bfc8d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.004642e0
jmp 0x5bfc8d
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfc4a
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5bfc5d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfc82
mov dword [edx + 0xd4], eax
jmp 0x5bfc8d
lea edi, [edx + 0xd4]
call fcn.004642e0
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 [0x8ce9a4]
mov dword [esp + 0x70], eax
mov ecx, dword [0x8ce9a0]
mov dword [esp + 0x34], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bfd26
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfd12
mov eax, dword [esp + 0x70]
mov dword [edx + 0xd4], eax
jmp 0x5bfda8
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x70]
call fcn.004642e0
jmp 0x5bfda8
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfd65
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5bfd78
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfd9d
mov dword [edx + 0xd4], eax
jmp 0x5bfda8
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bfe50
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfe3c
mov eax, dword [esp + 0x74]
mov dword [edx + 0xd4], eax
jmp 0x5bfed2
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x74]
call fcn.004642e0
jmp 0x5bfed2
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfe8f
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5bfea2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bfec7
mov dword [edx + 0xd4], eax
jmp 0x5bfed2
lea edi, [edx + 0xd4]
call fcn.004642e0
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 0x5c0059
test edi, edi
je 0x5bff10
movzx eax, byte [esp + 0x188]
test al, al
je 0x5c003a
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5bff97
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bff83
mov eax, dword [esp + 0x54]
mov dword [edx + 0xd4], eax
jmp 0x5c0019
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x54]
call fcn.004642e0
jmp 0x5c0019
mov dword [esp + 0x104], edx
mov dword [esp + 0x94], ecx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5bffd6
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5bffe9
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c000e
mov dword [edx + 0xd4], eax
jmp 0x5c0019
lea edi, [edx + 0xd4]
call fcn.004642e0
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.00474a70
jmp 0x5c010f
cmp al, 0x17
jne 0x5c0281
mov ebp, dword [esp + 0x4c]
test ebp, ebp
je 0x5c0157
movzx ebp, byte [esp + 0x188]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c0157
test edi, edi
je 0x5c012c
mov dword [esp + 0xf0], ecx
nop
mov ebp, dword [0x8f52e0]
test ebp, ebp
jne 0x5c00b6
xor eax, eax
mov ebp, edi
mov edi, dword [esp + 0x50]
call fcn.0046457a
mov ecx, dword [esp + 0xf0]
mov dword [ebx + 0x18c], ecx
jmp 0x5c00f9
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edi
lea eax, [0x6b02a0]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00411570
mov eax, dword [esp + 0x184]
lea edi, [eax + 0x18c]
mov ecx, eax
mov eax, dword [esp + 0xf0]
call fcn.004642e0
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.005c0b20
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c01de
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c01ca
mov eax, dword [esp + 0x58]
mov dword [edx + 0xd4], eax
jmp 0x5c0260
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x58]
call fcn.004642e0
jmp 0x5c0260
mov dword [esp + 0x98], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c021d
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5c0230
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c0255
mov dword [edx + 0xd4], eax
jmp 0x5c0260
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c0308
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c02f4
mov eax, dword [esp + 0x78]
mov dword [edx + 0xd4], eax
jmp 0x5c038a
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x78]
call fcn.004642e0
jmp 0x5c038a
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c0347
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5c035a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c037f
mov dword [edx + 0xd4], eax
jmp 0x5c038a
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c043b
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c0424
mov eax, dword [esp + 0x80]
mov dword [edx + 0xd4], eax
jmp 0x5c04bd
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x80]
call fcn.004642e0
jmp 0x5c04bd
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c047a
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5c048d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c04b2
mov dword [edx + 0xd4], eax
jmp 0x5c04bd
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c1160
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c0575
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c055e
mov eax, dword [esp + 0x84]
mov dword [edx + 0xd4], eax
jmp 0x5c05f7
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x84]
call fcn.004642e0
jmp 0x5c05f7
mov dword [esp + 0x104], edx
mov dword [esp + 0xcc], ecx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c05b4
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5c05c7
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c05ec
mov dword [edx + 0xd4], eax
jmp 0x5c05f7
lea edi, [edx + 0xd4]
call fcn.004642e0
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, [0x6a9800]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5c064f
mov eax, 1
jmp 0x5c065f
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5c0676
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x104]
jmp 0x5c0781
lea eax, [0x6a9800]
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.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c06f1
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0x8f52e0]
test ebx, ebx
jne 0x5c06da
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xd4], eax
jmp 0x5c0781
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x8c]
call fcn.004642e0
jmp 0x5c0781
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xf8], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf8]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c0730
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5c0743
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c0768
mov dword [edx + 0xd4], eax
jmp 0x5c0773
lea edi, [edx + 0xd4]
call fcn.004642e0
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.005c1160
lea edi, [esp + 0x168]
xor eax, eax
call fcn.0046457a
lea eax, [0x6dff83]
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 0x5c0aa9
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5c0807
mov ecx, 5
lea ebx, [esp + 0x170]
cmp ebx, edx
je 0x5c0822
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464c70
lea eax, [0x6b7880]
mov dword [esp], eax
lea eax, [esp + 0x168]
mov dword [esp + 4], eax
call fcn.00409420
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
lea ecx, [0x6a9800]
mov dword [esp], ecx
lea ecx, [0x73c200]
mov dword [esp + 4], ecx
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c08b4
lea ecx, [0x73c200]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c089d
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5c0936
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004642e0
jmp 0x5c0936
mov dword [esp + 0x104], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c08f3
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5c0906
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c092b
mov dword [edx + 0xd4], eax
jmp 0x5c0936
lea edi, [edx + 0xd4]
call fcn.004642e0
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, [0x6a2c20]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [esp + 0xf4], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x6e7aa4]
mov dword [eax], ecx
lea ecx, [0x6a9800]
mov dword [esp], ecx
lea ecx, [0x73be18]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c09f1
lea ecx, [0x73be18]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c09da
mov eax, dword [esp + 0xf4]
mov dword [edx + 0xd4], eax
jmp 0x5c0a73
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf4]
call fcn.004642e0
jmp 0x5c0a73
mov dword [esp + 0xec], ecx
mov dword [esp + 0x104], edx
lea eax, [0x6a2aa0]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c0a30
mov ecx, dword [esp + 0xec]
mov dword [eax + 4], ecx
jmp 0x5c0a43
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.004642e0
mov eax, ecx
lea ecx, [0x73bd64]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x5c0a68
mov dword [edx + 0xd4], eax
jmp 0x5c0a73
lea edi, [edx + 0xd4]
call fcn.004642e0
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.004643c0
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6a0880]
mov dword [esp + 8], eax
call fcn.00409360
mov dword [esp], ebp
mov dword [esp + 4], eax
lea eax, [0x6a0880]
mov dword [esp + 8], eax
call fcn.00409360
call fcn.004643c0
call fcn.004643a0
mov eax, ebp
call fcn.004643c0
call fcn.004643c0
mov eax, ebp
call fcn.004643c0
mov ecx, 5
mov edx, esi
call fcn.004643a0
call fcn.004643c0
nop
call fcn.00462ed0
jmp fcn.005be3b0