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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xfc]
cmp eax, dword [ecx + 8]
jbe 0x59f888
sub esp, 0x17c
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
test ecx, ecx
jne 0x59f846
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.00463360
mov eax, dword [esp + 0x180]
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 0x59d25b
xor esi, esi
jmp 0x59d25d
sub esi, ecx
test esi, esi
jne 0x59f709
mov dword [esp + 0x48], edi
lea ecx, [eax + 0x18c]
mov dword [esp + 0x4c], ecx
nop
mov edx, dword [0xe996c0]
test edx, edx
jne 0x59d28b
mov edi, ecx
mov ebx, eax
xor eax, eax
call fcn.0045f0ba
jmp 0x59d2a4
lea eax, [0x653540]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00410610
mov ebx, dword [esp + 0x180]
mov dword [ebx + 0x1a0], 0xffffffff
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x100], ecx
lea edx, [0x645d20]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00408a70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.0059fbe0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x59d4e1
mov ebp, dword [0xe72f24]
cmp dword [0xe72f20], ecx
je 0x59d320
xor ecx, ecx
jmp 0x59d34d
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00403670
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x8c]
mov ecx, eax
mov eax, dword [esp + 0x38]
test cl, cl
je 0x59d372
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x184]
cmp dword [ecx + 0x17c], edx
jne 0x59d372
mov eax, dword [0xe72ef8]
mov ebx, dword [0xe72efc]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x64dd80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x59d3a6
mov eax, 1
jmp 0x59d3b6
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x59d3ca
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
jmp 0x59d4cc
lea eax, [0x64dd80]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59d43f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0xe996c0]
test ebx, ebx
jne 0x59d428
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xd4], eax
jmp 0x59d4cc
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x8c]
call fcn.0045efc0
jmp 0x59d4cc
mov dword [esp + 0x100], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d47e
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x59d491
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d4b6
mov dword [edx + 0xd4], eax
jmp 0x59d4c1
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
add esp, 0x17c
ret
nop
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x180]
mov ebx, dword [ecx + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and ebx, edx
add ebx, dword [ecx + 0x178]
movzx edx, byte [ebx]
mov ebp, dword [esp + 0x48]
test ebp, ebp
jne 0x59d518
cmp dl, 0x80
je 0x59f552
movzx esi, byte [ebx + 1]
shl esi, 8
mov eax, ebp
movzx ebp, byte [ebx + 2]
or esi, ebp
movzx ebp, byte [ebx + 3]
shl ebp, 8
movzx ebx, byte [ebx + 4]
or ebp, ebx
movzx ebx, byte [ecx + 0x26]
test bl, bl
je 0x59d7da
mov edi, ebp
movzx ebp, word [ecx + 0x24]
cmp bp, 0x304
je 0x59d7d0
cmp bp, si
jne 0x59d55d
test bl, bl
jmp 0x59d7d2
mov word [esp + 0x2a], si
mov dword [esp], ecx
mov byte [esp + 4], 0x46
call fcn.0059fed0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
movzx eax, word [esp + 0x2a]
mov word [esp], ax
call fcn.00408820
mov eax, dword [esp + 4]
lea ecx, [0x63eee0]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x180]
movzx edx, word [eax + 0x24]
mov word [esp], dx
call fcn.00408820
mov eax, dword [esp + 4]
lea ecx, [0x63eee0]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x684b60]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b5130
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x14c]
mov edx, eax
xor eax, eax
call fcn.0045f0ba
mov dword [esp + 0x14c], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x180]
mov ebx, dword [eax + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, dword [eax + 0x178]
sub ecx, ebx
cmp ecx, 5
jl 0x59d680
mov ecx, 5
lea ebx, [esp + 0x154]
cmp ebx, edx
je 0x59d69b
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045f7b0
lea eax, [0x65a120]
mov dword [esp], eax
lea eax, [esp + 0x14c]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x64dd80]
mov dword [esp], ecx
lea ecx, [0x6d3350]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59d72d
lea ecx, [0x6d3350]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d716
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x59d7af
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045efc0
jmp 0x59d7af
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d76c
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x59d77f
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d7a4
mov dword [edx + 0xd4], eax
jmp 0x59d7af
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
test bl, bl
jne 0x59d9ae
jmp 0x59d7dc
mov edi, ebp
cmp dl, 0x15
je 0x59d7e6
cmp dl, 0x16
jne 0x59d7f1
cmp si, 0x1000
jb 0x59d9ae
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
lea edi, [esp + 0x134]
xor eax, eax
call fcn.0045f0ba
lea ecx, [0x682ad8]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], 0x2f
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ebx
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x17c]
mov ebx, dword [ecx + 0x180]
mov ebp, dword [ecx + 0x184]
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, dword [ecx + 0x178]
sub edx, ebp
cmp edx, 5
jl 0x59d85e
mov edx, 5
lea eax, [esp + 0x13c]
cmp eax, ebx
je 0x59d879
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0045f7b0
lea eax, [0x65a120]
mov dword [esp], eax
lea eax, [esp + 0x134]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x64dd80]
mov dword [esp], ecx
lea ecx, [0x6d3350]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59d90b
lea ecx, [0x6d3350]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d8f4
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x59d98d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045efc0
jmp 0x59d98d
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d94a
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x59d95d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59d982
mov dword [edx + 0xd4], eax
jmp 0x59d98d
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp + 0x44], edi
cmp word [ecx + 0x24], 0x304
jne 0x59d9c7
cmp edi, 0x4100
jg 0x59d9d3
jmp 0x59dbfd
cmp edi, 0x4800
jle 0x59dbfd
mov dword [esp], ecx
mov byte [esp + 4], 0x16
call fcn.0059fed0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00408890
mov eax, dword [esp + 4]
lea ecx, [0x63e5e0]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
lea eax, [0x680ac5]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5130
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x11c]
mov edx, eax
xor eax, eax
call fcn.0045f0ba
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x180]
mov ebx, dword [eax + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, dword [eax + 0x178]
sub ecx, ebx
cmp ecx, 5
jl 0x59daad
mov ecx, 5
lea ebx, [esp + 0x124]
cmp ebx, edx
je 0x59dac8
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045f7b0
lea eax, [0x65a120]
mov dword [esp], eax
lea eax, [esp + 0x11c]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x64dd80]
mov dword [esp], ecx
lea ecx, [0x6d3350]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59db5a
lea ecx, [0x6d3350]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59db43
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x59dbdc
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045efc0
jmp 0x59dbdc
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59db99
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x59dbac
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59dbd1
mov dword [edx + 0xd4], eax
jmp 0x59dbdc
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x100], edx
lea ebx, [0x645d20]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00408a70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
add eax, 5
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], eax
call fcn.0059fbe0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x59f3d4
nop
mov eax, dword [esp + 0x180]
mov byte [eax + 0x188], 0
nop
mov ecx, dword [eax + 0x178]
mov edx, dword [eax + 0x17c]
mov ebx, dword [eax + 0x180]
mov ebp, dword [eax + 0x184]
sub edx, ebp
mov esi, dword [esp + 0x44]
cmp edx, esi
jl 0x59dc94
mov edx, esi
lea esi, [edx + ebp]
mov dword [eax + 0x184], esi
sub ebx, ebp
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
add ecx, ebp
test edx, edx
jle 0x59dcb5
mov byte [eax + 0x188], 0xff
lea ebx, [eax + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
call fcn.0059ba00
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
test ecx, ecx
je 0x59de44
mov eax, dword [0x6d3368]
lea ecx, [0x6d3364]
cmp edx, ecx
jne 0x59f871
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x180]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59dda1
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59dd8a
mov eax, dword [esp + 0x84]
mov dword [edx + 0xd4], eax
jmp 0x59de23
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x84]
call fcn.0045efc0
jmp 0x59de23
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59dde0
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x59ddf3
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59de18
mov dword [edx + 0xd4], eax
jmp 0x59de23
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp ebp, 0x4000
jg 0x59f29a
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0xdc]
test edx, edx
jne 0x59de6a
cmp al, 0x17
je 0x59f170
cmp al, 0x15
je 0x59de82
cmp al, 0x14
je 0x59de82
test ebp, ebp
je 0x59de82
mov dword [ecx + 0x1d8], 0
movzx edx, word [ecx + 0x24]
cmp dx, 0x304
jne 0x59dfdc
cmp al, 0x16
je 0x59ecc7
mov ebx, dword [ecx + 0x1a8]
sub ebx, dword [ecx + 0x1b0]
test ebx, ebx
jg 0x59deb2
cmp al, 0x15
jmp 0x59dfdf
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59df39
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59df25
mov eax, dword [esp + 0x78]
mov dword [edx + 0xd4], eax
jmp 0x59dfbb
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x78]
call fcn.0045efc0
jmp 0x59dfbb
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59df78
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x59df8b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59dfb0
mov dword [edx + 0xd4], eax
jmp 0x59dfbb
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp al, 0x15
ja 0x59ecbe
cmp al, 0x14
jne 0x59e628
cmp ebp, 1
jne 0x59dffc
cmp byte [esi], 1
je 0x59e126
mov dword [esp], ecx
mov byte [esp + 4], 0x32
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59e083
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e06f
mov eax, dword [esp + 0x64]
mov dword [edx + 0xd4], eax
jmp 0x59e105
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x64]
call fcn.0045efc0
jmp 0x59e105
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e0c2
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x59e0d5
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e0fa
mov dword [edx + 0xd4], eax
jmp 0x59e105
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov ebx, dword [ecx + 0x1a8]
sub ebx, dword [ecx + 0x1b0]
test ebx, ebx
jg 0x59e4fe
cmp dx, 0x304
je 0x59e4cd
movzx edx, byte [esp + 0x184]
test dl, dl
je 0x59e3a3
mov edx, dword [ecx + 0x104]
mov eax, dword [ecx + 0x108]
test edx, edx
je 0x59e247
cmp word [ecx + 0xd8], 0x304
je 0x59e247
mov dword [ecx + 0xdc], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x59e190
mov dword [ecx + 0xe0], eax
jmp 0x59e19b
lea edi, [ecx + 0xe0]
call fcn.0045efc0
mov eax, dword [ecx + 0x110]
mov edx, dword [ecx + 0x10c]
mov dword [ecx + 0xe4], edx
mov edx, dword [0xe996c0]
test edx, edx
jne 0x59e1bf
mov dword [ecx + 0xe8], eax
jmp 0x59e1ca
lea edi, [ecx + 0xe8]
call fcn.0045efc0
mov dword [ecx + 0x104], 0
mov edx, dword [0xe996c0]
test edx, edx
jne 0x59e1ea
mov dword [ecx + 0x108], 0
jmp 0x59e1f7
lea edi, [ecx + 0x108]
xor eax, eax
call fcn.0045efc0
mov dword [ecx + 0x10c], 0
mov edx, dword [0xe996c0]
test edx, edx
jne 0x59e217
mov dword [ecx + 0x110], 0
jmp 0x59e224
lea edi, [ecx + 0x110]
xor eax, eax
call fcn.0045efc0
lea eax, [ecx + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0045f5e0
mov ecx, dword [esp + 0x180]
xor edx, edx
xor eax, eax
jmp 0x59e25b
mov eax, 0x50
lea edx, [0x819360]
lea eax, [edx + eax*8]
lea edx, [0x6d3364]
test edx, edx
je 0x59eed6
mov ebx, dword [0x6d3368]
lea ebp, [0x6d3364]
cmp edx, ebp
jne 0x59f85b
movzx eax, byte [eax]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59e300
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e2ec
mov eax, dword [esp + 0x58]
mov dword [edx + 0xd4], eax
jmp 0x59e382
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x58]
call fcn.0045efc0
jmp 0x59e382
mov dword [esp + 0x98], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e33f
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x59e352
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e377
mov dword [edx + 0xd4], eax
jmp 0x59e382
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59e42a
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e416
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xd4], eax
jmp 0x59e4ac
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x5c]
call fcn.0045efc0
jmp 0x59e4ac
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e469
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x59e47c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e4a1
mov dword [edx + 0xd4], eax
jmp 0x59e4ac
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
movzx eax, byte [esp + 0x184]
mov byte [esp + 4], al
call fcn.0059f8a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59e585
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e571
mov eax, dword [esp + 0x60]
mov dword [edx + 0xd4], eax
jmp 0x59e607
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x60]
call fcn.0045efc0
jmp 0x59e607
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e5c4
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x59e5d7
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e5fc
mov dword [edx + 0xd4], eax
jmp 0x59e607
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp al, 0x15
jne 0x59f046
cmp ebp, 2
jne 0x59eb94
movzx eax, byte [esi + 1]
test al, al
je 0x59ea79
mov byte [esp + 0x29], al
cmp dx, 0x304
je 0x59e91f
movzx edx, byte [esi]
cmp dl, 1
je 0x59e8ee
cmp dl, 2
jne 0x59e7c4
lea eax, [0x65b580]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6750dc]
mov dword [eax], ecx
lea ecx, [0x6d3364]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x819360]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x64dd80]
mov dword [esp], ecx
lea ecx, [0x6d3044]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59e721
lea ecx, [0x6d3044]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e70a
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xd4], eax
jmp 0x59e7a3
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf8]
call fcn.0045efc0
jmp 0x59e7a3
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e760
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x59e773
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e798
mov dword [edx + 0xd4], eax
jmp 0x59e7a3
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59e84b
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e837
mov eax, dword [esp + 0x68]
mov dword [edx + 0xd4], eax
jmp 0x59e8cd
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x68]
call fcn.0045efc0
jmp 0x59e8cd
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e88a
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x59e89d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e8c2
mov dword [edx + 0xd4], eax
jmp 0x59e8cd
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
movzx eax, byte [esp + 0x184]
mov byte [esp + 4], al
call fcn.0059f8a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
lea eax, [0x65b580]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6750dc]
mov dword [eax], ecx
lea ecx, [0x6d3364]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x819360]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x64dd80]
mov dword [esp], ecx
lea ecx, [0x6d3044]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59e9d6
lea ecx, [0x6d3044]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59e9bf
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xd4], eax
jmp 0x59ea58
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf8]
call fcn.0045efc0
jmp 0x59ea58
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59ea15
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x59ea28
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59ea4d
mov dword [edx + 0xd4], eax
jmp 0x59ea58
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov eax, dword [0xe72efc]
mov dword [esp + 0x6c], eax
mov ecx, dword [0xe72ef8]
mov dword [esp + 0x34], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59eaf1
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59eadd
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xd4], eax
jmp 0x59eb73
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x6c]
call fcn.0045efc0
jmp 0x59eb73
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59eb30
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x59eb43
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59eb68
mov dword [edx + 0xd4], eax
jmp 0x59eb73
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59ec1b
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59ec07
mov eax, dword [esp + 0x70]
mov dword [edx + 0xd4], eax
jmp 0x59ec9d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x70]
call fcn.0045efc0
jmp 0x59ec9d
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59ec5a
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x59ec6d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59ec92
mov dword [edx + 0xd4], eax
jmp 0x59ec9d
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp al, 0x16
jne 0x59ee24
test ebp, ebp
je 0x59ecdb
movzx eax, byte [esp + 0x184]
test al, al
je 0x59ee05
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59ed62
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59ed4e
mov eax, dword [esp + 0x50]
mov dword [edx + 0xd4], eax
jmp 0x59ede4
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x50]
call fcn.0045efc0
jmp 0x59ede4
mov dword [esp + 0x90], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59eda1
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
jmp 0x59edb4
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59edd9
mov dword [edx + 0xd4], eax
jmp 0x59ede4
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
lea eax, [ecx + 0x1a4]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.004838d0
jmp 0x59eed6
cmp al, 0x17
jne 0x59f046
mov edx, dword [esp + 0x48]
test edx, edx
je 0x59ef1c
movzx edx, byte [esp + 0x184]
test dl, dl
jne 0x59ef1c
test ebp, ebp
je 0x59eef3
nop
mov edx, dword [0xe996c0]
test edx, edx
jne 0x59ee78
xor eax, eax
mov edx, edi
mov edi, dword [esp + 0x4c]
call fcn.0045f0ba
mov ecx, dword [esp + 0x180]
mov dword [ecx + 0x18c], esi
jmp 0x59eec0
mov dword [esp + 0x40], edi
mov dword [esp + 0xec], esi
mov dword [esp + 0x3c], ebp
lea eax, [0x653540]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.00410610
mov eax, dword [esp + 0x180]
lea edi, [eax + 0x18c]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.0045efc0
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov dword [ecx + 0x190], ebp
mov dword [ecx + 0x194], edx
mov dword [ecx + 0x1a0], 0xffffffff
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], dl
call fcn.0059f8a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59efa3
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59ef8f
mov eax, dword [esp + 0x54]
mov dword [edx + 0xd4], eax
jmp 0x59f025
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x54]
call fcn.0045efc0
jmp 0x59f025
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59efe2
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x59eff5
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f01a
mov dword [edx + 0xd4], eax
jmp 0x59f025
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59f0cd
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f0b9
mov eax, dword [esp + 0x74]
mov dword [edx + 0xd4], eax
jmp 0x59f14f
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x74]
call fcn.0045efc0
jmp 0x59f14f
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f10c
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x59f11f
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f144
mov dword [edx + 0xd4], eax
jmp 0x59f14f
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59f1f7
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f1e3
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xd4], eax
jmp 0x59f279
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x7c]
call fcn.0045efc0
jmp 0x59f279
mov dword [esp + 0x100], edx
mov dword [esp + 0xc4], ecx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f236
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x59f249
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f26e
mov dword [edx + 0xd4], eax
jmp 0x59f279
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.0059fed0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59f331
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f31a
mov eax, dword [esp + 0x80]
mov dword [edx + 0xd4], eax
jmp 0x59f3b3
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x80]
call fcn.0045efc0
jmp 0x59f3b3
mov dword [esp + 0x100], edx
mov dword [esp + 0xc8], ecx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f370
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x59f383
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f3a8
mov dword [edx + 0xd4], eax
jmp 0x59f3b3
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0x88], ecx
lea edx, [0x64dd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x59f40b
mov eax, 1
jmp 0x59f41b
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x59f432
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
jmp 0x59f53d
lea eax, [0x64dd80]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59f4ad
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0xe996c0]
test ebx, ebx
jne 0x59f496
mov eax, dword [esp + 0x88]
mov dword [edx + 0xd4], eax
jmp 0x59f53d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x88]
call fcn.0045efc0
jmp 0x59f53d
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xf4], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf4]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f4ec
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x59f4ff
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f524
mov dword [edx + 0xd4], eax
jmp 0x59f52f
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x46
call fcn.0059fed0
lea edi, [esp + 0x164]
xor eax, eax
call fcn.0045f0ba
lea eax, [0x67f528]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], 0x24
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x180]
mov ebx, dword [eax + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, dword [eax + 0x178]
sub ecx, ebx
cmp ecx, 5
jl 0x59f5b9
mov ecx, 5
lea ebx, [esp + 0x16c]
cmp ebx, edx
je 0x59f5d4
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045f7b0
lea eax, [0x65a120]
mov dword [esp], eax
lea eax, [esp + 0x164]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x64dd80]
mov dword [esp], ecx
lea ecx, [0x6d3350]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59f666
lea ecx, [0x6d3350]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f64f
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x59f6e8
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045efc0
jmp 0x59f6e8
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f6a5
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x59f6b8
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f6dd
mov dword [edx + 0xd4], eax
jmp 0x59f6e8
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
lea eax, [0x647880]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x6863e0]
mov dword [eax], ecx
lea ecx, [0x64dd80]
mov dword [esp], ecx
lea ecx, [0x6d2f90]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x59f7a3
lea ecx, [0x6d2f90]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f78c
mov eax, dword [esp + 0xf0]
mov dword [edx + 0xd4], eax
jmp 0x59f825
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf0]
call fcn.0045efc0
jmp 0x59f825
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x6477c0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f7e2
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x59f7f5
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.0045efc0
mov eax, ecx
lea ecx, [0x6d2f68]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xe996c0]
test ecx, ecx
jne 0x59f81a
mov dword [edx + 0xd4], eax
jmp 0x59f825
lea edi, [edx + 0xd4]
call fcn.0045efc0
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], edx
add esp, 0x17c
ret
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x645ae0]
mov dword [esp + 8], eax
call fcn.00408690
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [0x645ae0]
mov dword [esp + 8], eax
call fcn.00408690
nop
call fcn.0045dbb0
jmp fcn.0059d1d0