Function at 0x5d69d0
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 0x5d912b
sub esp, 0x180
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
test ecx, ecx
jne 0x5d90b4
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.004689c0
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 0x5d6a5b
xor esi, esi
jmp 0x5d6a5d
sub esi, ecx
test esi, esi
jne 0x5d8f77
mov dword [esp + 0x4c], edi
lea ecx, [eax + 0x18c]
mov dword [esp + 0x50], ecx
nop
mov edx, dword [0x8d9190]
test edx, edx
jne 0x5d6a8b
mov edi, ecx
mov ebx, eax
xor eax, eax
call fcn.0046463a
jmp 0x5d6aa4
lea eax, [0x69dc60]
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, [0x68ed80]
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.005d9480
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5d6ce1
mov ebp, dword [0x8b26d4]
cmp dword [0x8b26d0], ecx
je 0x5d6b20
xor ecx, ecx
jmp 0x5d6b4d
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 0x5d6b72
mov ecx, dword [esp + 0x184]
mov edx, dword [ecx + 0x184]
cmp dword [ecx + 0x17c], edx
jne 0x5d6b72
mov eax, dword [0x8b26a8]
mov ebx, dword [0x8b26ac]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x697d00]
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 0x5d6ba6
mov eax, 1
jmp 0x5d6bb6
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5d6bca
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
jmp 0x5d6ccc
lea eax, [0x697d00]
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 0x5d6c3f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0x8d9190]
test ebx, ebx
jne 0x5d6c28
mov eax, dword [esp + 0x90]
mov dword [edx + 0xd4], eax
jmp 0x5d6ccc
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x90]
call fcn.004643a0
jmp 0x5d6ccc
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d6c7e
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5d6c91
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d6cb6
mov dword [edx + 0xd4], eax
jmp 0x5d6cc1
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d9125
sub edx, eax
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp esi, 5
jb 0x5d9119
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x5d6d32
cmp cl, 0x80
je 0x5d8db6
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 0x5d7008
mov eax, edx
movzx edx, word [ebx + 0x24]
cmp dx, 0x304
je 0x5d6ffc
cmp dx, si
jne 0x5d6d7f
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5d7000
mov word [esp + 0x2a], si
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005d9780
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, [0x687320]
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, [0x687320]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
lea eax, [0x6d2b05]
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.004c5d70
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.0046463a
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 0x5d9112
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5d6eac
mov ecx, 5
lea ebx, [esp + 0x158]
cmp ebx, edx
je 0x5d6ec7
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464d30
lea eax, [0x6a4ea0]
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, [0x697d00]
mov dword [esp], ecx
lea ecx, [0x727640]
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 0x5d6f59
lea ecx, [0x727640]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d6f42
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5d6fdb
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004643a0
jmp 0x5d6fdb
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d6f98
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5d6fab
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d6fd0
mov dword [edx + 0xd4], eax
jmp 0x5d6fdb
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d71eb
jmp 0x5d700a
mov eax, edx
cmp cl, 0x15
je 0x5d7014
cmp cl, 0x16
jne 0x5d701f
cmp si, 0x1000
jb 0x5d71eb
mov ecx, dword [ebx]
mov dword [esp + 0x44], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046463a
lea ecx, [0x6d07a8]
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 0x5d910d
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 0x5d709b
mov ecx, 5
lea edx, [esp + 0x140]
cmp edx, eax
je 0x5d70b6
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464d30
lea eax, [0x6a4ea0]
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, [0x697d00]
mov dword [esp], ecx
lea ecx, [0x727640]
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 0x5d7148
lea ecx, [0x727640]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7131
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5d71ca
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004643a0
jmp 0x5d71ca
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7187
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5d719a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d71bf
mov dword [edx + 0xd4], eax
jmp 0x5d71ca
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d7203
cmp eax, 0x4100
jg 0x5d720e
jmp 0x5d7442
cmp eax, 0x4800
jle 0x5d7442
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005d9780
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, [0x6869e0]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], eax
lea eax, [0x6ce561]
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.004c5d70
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.0046463a
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 0x5d9106
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5d72f2
mov ecx, 5
lea ebx, [esp + 0x128]
cmp ebx, edx
je 0x5d730d
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464d30
lea eax, [0x6a4ea0]
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, [0x697d00]
mov dword [esp], ecx
lea ecx, [0x727640]
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 0x5d739f
lea ecx, [0x727640]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7388
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5d7421
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004643a0
jmp 0x5d7421
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d73de
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5d73f1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7416
mov dword [edx + 0xd4], eax
jmp 0x5d7421
lea edi, [edx + 0xd4]
call fcn.004643a0
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, [0x68ed80]
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.005d9480
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5d8c38
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 0x5d74d9
mov esi, edi
lea ecx, [esi + eax]
cmp edx, ecx
jb 0x5d9101
cmp eax, ecx
ja 0x5d90fc
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 0x5d750a
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.005d4fd0
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 0x5d7699
mov eax, dword [0x727658]
lea ecx, [0x727654]
cmp ebp, ecx
jne 0x5d90e6
movzx eax, byte [esi]
mov ecx, dword [esp + 0x184]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x88], ecx
lea edx, [0x697d00]
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 0x5d75f6
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d75df
mov eax, dword [esp + 0x88]
mov dword [edx + 0xd4], eax
jmp 0x5d7678
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x88]
call fcn.004643a0
jmp 0x5d7678
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7635
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5d7648
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d766d
mov dword [edx + 0xd4], eax
jmp 0x5d7678
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d8afe
mov ebx, dword [esp + 0x184]
mov ebp, dword [ebx + 0xdc]
test ebp, ebp
jne 0x5d76bf
cmp al, 0x17
je 0x5d89cb
cmp al, 0x15
je 0x5d76d7
cmp al, 0x14
je 0x5d76d7
test edi, edi
je 0x5d76d7
mov dword [ebx + 0x1d8], 0
movzx ebp, word [ebx + 0x24]
cmp bp, 0x304
jne 0x5d7831
cmp al, 0x16
je 0x5d851c
mov esi, dword [ebx + 0x1a8]
sub esi, dword [ebx + 0x1b0]
test esi, esi
jg 0x5d7707
cmp al, 0x15
jmp 0x5d7834
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x697d00]
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 0x5d778e
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d777a
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xd4], eax
jmp 0x5d7810
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x7c]
call fcn.004643a0
jmp 0x5d7810
mov dword [esp + 0x104], edx
mov dword [esp + 0xc4], ecx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d77cd
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5d77e0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7805
mov dword [edx + 0xd4], eax
jmp 0x5d7810
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d8513
cmp al, 0x14
jne 0x5d7e7d
cmp edi, 1
jne 0x5d7851
cmp byte [ecx], 1
je 0x5d797b
mov dword [esp], ebx
mov byte [esp + 4], 0x32
call fcn.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x697d00]
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 0x5d78d8
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d78c4
mov eax, dword [esp + 0x68]
mov dword [edx + 0xd4], eax
jmp 0x5d795a
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x68]
call fcn.004643a0
jmp 0x5d795a
mov dword [esp + 0x104], edx
mov dword [esp + 0xa8], ecx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7917
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5d792a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d794f
mov dword [edx + 0xd4], eax
jmp 0x5d795a
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d7d53
cmp bp, 0x304
je 0x5d7d22
movzx ecx, byte [esp + 0x188]
test cl, cl
je 0x5d7bf8
mov ecx, dword [ebx + 0x104]
mov eax, dword [ebx + 0x108]
test ecx, ecx
je 0x5d7a9c
cmp word [ebx + 0xd8], 0x304
je 0x5d7a9c
mov dword [ebx + 0xdc], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d79e5
mov dword [ebx + 0xe0], eax
jmp 0x5d79f0
lea edi, [ebx + 0xe0]
call fcn.004643a0
mov eax, dword [ebx + 0x110]
mov ecx, dword [ebx + 0x10c]
mov dword [ebx + 0xe4], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7a14
mov dword [ebx + 0xe8], eax
jmp 0x5d7a1f
lea edi, [ebx + 0xe8]
call fcn.004643a0
mov dword [ebx + 0x104], 0
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7a3f
mov dword [ebx + 0x108], 0
jmp 0x5d7a4c
lea edi, [ebx + 0x108]
xor eax, eax
call fcn.004643a0
mov dword [ebx + 0x10c], 0
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7a6c
mov dword [ebx + 0x110], 0
jmp 0x5d7a79
lea edi, [ebx + 0x110]
xor eax, eax
call fcn.004643a0
lea eax, [ebx + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00464b60
mov ebx, dword [esp + 0x184]
xor ecx, ecx
xor eax, eax
jmp 0x5d7ab0
mov eax, 0x50
lea ecx, [0x88e7a0]
lea eax, [ecx + eax*8]
lea ecx, [0x727654]
test ecx, ecx
je 0x5d872f
mov edx, dword [0x727658]
lea ebp, [0x727654]
cmp ecx, ebp
jne 0x5d90d0
movzx eax, byte [eax]
mov dword [esp], ebx
mov byte [esp + 4], al
call fcn.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x697d00]
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 0x5d7b55
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7b41
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xd4], eax
jmp 0x5d7bd7
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x5c]
call fcn.004643a0
jmp 0x5d7bd7
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7b94
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5d7ba7
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7bcc
mov dword [edx + 0xd4], eax
jmp 0x5d7bd7
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x697d00]
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 0x5d7c7f
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7c6b
mov eax, dword [esp + 0x60]
mov dword [edx + 0xd4], eax
jmp 0x5d7d01
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x60]
call fcn.004643a0
jmp 0x5d7d01
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7cbe
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5d7cd1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7cf6
mov dword [edx + 0xd4], eax
jmp 0x5d7d01
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9140
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x697d00]
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 0x5d7dda
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7dc6
mov eax, dword [esp + 0x64]
mov dword [edx + 0xd4], eax
jmp 0x5d7e5c
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x64]
call fcn.004643a0
jmp 0x5d7e5c
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7e19
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5d7e2c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7e51
mov dword [edx + 0xd4], eax
jmp 0x5d7e5c
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d88a1
cmp edi, 2
jne 0x5d83e9
movzx eax, byte [ecx + 1]
test al, al
je 0x5d82ce
mov byte [esp + 0x29], al
cmp bp, 0x304
je 0x5d8174
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5d8143
cmp cl, 2
jne 0x5d8019
lea eax, [0x6a6600]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6c1e8e]
mov dword [eax], ecx
lea ecx, [0x727654]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x88e7a0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x697d00]
mov dword [esp], ecx
lea ecx, [0x7272f8]
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 0x5d7f76
lea ecx, [0x7272f8]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7f5f
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5d7ff8
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.004643a0
jmp 0x5d7ff8
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7fb5
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5d7fc8
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d7fed
mov dword [edx + 0xd4], eax
jmp 0x5d7ff8
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], ecx
lea edx, [0x697d00]
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 0x5d80a0
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d808c
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xd4], eax
jmp 0x5d8122
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x6c]
call fcn.004643a0
jmp 0x5d8122
mov dword [esp + 0xac], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d80df
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5d80f2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8117
mov dword [edx + 0xd4], eax
jmp 0x5d8122
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9140
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, [0x6a6600]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xfc], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6c1e8e]
mov dword [eax], ecx
lea ecx, [0x727654]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x88e7a0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x697d00]
mov dword [esp], ecx
lea ecx, [0x7272f8]
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 0x5d822b
lea ecx, [0x7272f8]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8214
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5d82ad
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.004643a0
jmp 0x5d82ad
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d826a
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5d827d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d82a2
mov dword [edx + 0xd4], eax
jmp 0x5d82ad
lea edi, [edx + 0xd4]
call fcn.004643a0
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 [0x8b26ac]
mov dword [esp + 0x70], eax
mov ecx, dword [0x8b26a8]
mov dword [esp + 0x34], ecx
lea edx, [0x697d00]
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 0x5d8346
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8332
mov eax, dword [esp + 0x70]
mov dword [edx + 0xd4], eax
jmp 0x5d83c8
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x70]
call fcn.004643a0
jmp 0x5d83c8
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8385
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5d8398
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d83bd
mov dword [edx + 0xd4], eax
jmp 0x5d83c8
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x697d00]
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 0x5d8470
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d845c
mov eax, dword [esp + 0x74]
mov dword [edx + 0xd4], eax
jmp 0x5d84f2
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x74]
call fcn.004643a0
jmp 0x5d84f2
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d84af
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5d84c2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d84e7
mov dword [edx + 0xd4], eax
jmp 0x5d84f2
lea edi, [edx + 0xd4]
call fcn.004643a0
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 0x5d8679
test edi, edi
je 0x5d8530
movzx eax, byte [esp + 0x188]
test al, al
je 0x5d865a
mov dword [esp], ebx
mov byte [esp + 4], 0xa
call fcn.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x697d00]
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 0x5d85b7
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d85a3
mov eax, dword [esp + 0x54]
mov dword [edx + 0xd4], eax
jmp 0x5d8639
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x54]
call fcn.004643a0
jmp 0x5d8639
mov dword [esp + 0x104], edx
mov dword [esp + 0x94], ecx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d85f6
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5d8609
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d862e
mov dword [edx + 0xd4], eax
jmp 0x5d8639
lea edi, [edx + 0xd4]
call fcn.004643a0
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.004d7de0
jmp 0x5d872f
cmp al, 0x17
jne 0x5d88a1
mov ebp, dword [esp + 0x4c]
test ebp, ebp
je 0x5d8777
movzx ebp, byte [esp + 0x188]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5d8777
test edi, edi
je 0x5d874c
mov dword [esp + 0xf0], ecx
nop
mov ebp, dword [0x8d9190]
test ebp, ebp
jne 0x5d86d6
xor eax, eax
mov ebp, edi
mov edi, dword [esp + 0x50]
call fcn.0046463a
mov ecx, dword [esp + 0xf0]
mov dword [ebx + 0x18c], ecx
jmp 0x5d8719
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], edi
lea eax, [0x69dc60]
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.004643a0
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.005d9140
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x697d00]
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 0x5d87fe
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d87ea
mov eax, dword [esp + 0x58]
mov dword [edx + 0xd4], eax
jmp 0x5d8880
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x58]
call fcn.004643a0
jmp 0x5d8880
mov dword [esp + 0x98], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d883d
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5d8850
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8875
mov dword [edx + 0xd4], eax
jmp 0x5d8880
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x697d00]
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 0x5d8928
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8914
mov eax, dword [esp + 0x78]
mov dword [edx + 0xd4], eax
jmp 0x5d89aa
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x78]
call fcn.004643a0
jmp 0x5d89aa
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8967
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5d897a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d899f
mov dword [edx + 0xd4], eax
jmp 0x5d89aa
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x697d00]
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 0x5d8a5b
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8a44
mov eax, dword [esp + 0x80]
mov dword [edx + 0xd4], eax
jmp 0x5d8add
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x80]
call fcn.004643a0
jmp 0x5d8add
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8a9a
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5d8aad
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8ad2
mov dword [edx + 0xd4], eax
jmp 0x5d8add
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9780
mov eax, dword [esp + 8]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x697d00]
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 0x5d8b95
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8b7e
mov eax, dword [esp + 0x84]
mov dword [edx + 0xd4], eax
jmp 0x5d8c17
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x84]
call fcn.004643a0
jmp 0x5d8c17
mov dword [esp + 0x104], edx
mov dword [esp + 0xcc], ecx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8bd4
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5d8be7
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8c0c
mov dword [edx + 0xd4], eax
jmp 0x5d8c17
lea edi, [edx + 0xd4]
call fcn.004643a0
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, [0x697d00]
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 0x5d8c6f
mov eax, 1
jmp 0x5d8c7f
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5d8c96
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x104]
jmp 0x5d8da1
lea eax, [0x697d00]
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 0x5d8d11
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0x8d9190]
test ebx, ebx
jne 0x5d8cfa
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xd4], eax
jmp 0x5d8da1
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x8c]
call fcn.004643a0
jmp 0x5d8da1
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xf8], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf8]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8d50
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5d8d63
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8d88
mov dword [edx + 0xd4], eax
jmp 0x5d8d93
lea edi, [edx + 0xd4]
call fcn.004643a0
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.005d9780
lea edi, [esp + 0x168]
xor eax, eax
call fcn.0046463a
lea eax, [0x6cce22]
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 0x5d90c9
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5d8e27
mov ecx, 5
lea ebx, [esp + 0x170]
cmp ebx, edx
je 0x5d8e42
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464d30
lea eax, [0x6a4ea0]
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, [0x697d00]
mov dword [esp], ecx
lea ecx, [0x727640]
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 0x5d8ed4
lea ecx, [0x727640]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8ebd
mov eax, dword [esp + 0x100]
mov dword [edx + 0xd4], eax
jmp 0x5d8f56
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x100]
call fcn.004643a0
jmp 0x5d8f56
mov dword [esp + 0x104], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8f13
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5d8f26
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8f4b
mov dword [edx + 0xd4], eax
jmp 0x5d8f56
lea edi, [edx + 0xd4]
call fcn.004643a0
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, [0x690d00]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [esp + 0xf4], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x6d46ce]
mov dword [eax], ecx
lea ecx, [0x697d00]
mov dword [esp], ecx
lea ecx, [0x727230]
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 0x5d9011
lea ecx, [0x727230]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d8ffa
mov eax, dword [esp + 0xf4]
mov dword [edx + 0xd4], eax
jmp 0x5d9093
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf4]
call fcn.004643a0
jmp 0x5d9093
mov dword [esp + 0xec], ecx
mov dword [esp + 0x104], edx
lea eax, [0x690b80]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x104]
mov dword [eax], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d9050
mov ecx, dword [esp + 0xec]
mov dword [eax + 4], ecx
jmp 0x5d9063
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.004643a0
mov eax, ecx
lea ecx, [0x72717c]
mov edx, dword [esp + 0x184]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0x8d9190]
test ecx, ecx
jne 0x5d9088
mov dword [edx + 0xd4], eax
jmp 0x5d9093
lea edi, [edx + 0xd4]
call fcn.004643a0
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.00464480
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x68eae0]
mov dword [esp + 8], eax
call fcn.00409330
mov dword [esp], ebp
mov dword [esp + 4], eax
lea eax, [0x68eae0]
mov dword [esp + 8], eax
call fcn.00409330
call fcn.00464480
call fcn.00464460
mov eax, ebp
call fcn.00464480
call fcn.00464480
mov eax, ebp
call fcn.00464480
mov ecx, 5
mov edx, esi
call fcn.00464460
call fcn.00464480
nop
call fcn.00462f90
jmp fcn.005d69d0