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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x596d08
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
je 0x59673b
nop
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x4c], eax
cmp eax, 0x14
jne 0x595d2e
test ecx, 0x200
jne 0x595ce5
lea edx, [0x70c3b8]
mov ebx, dword [esp + 0xfc]
jmp 0x595d0f
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov edx, dword [esp + 0x100]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b8ad0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [edx + 0x6c]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
test eax, eax
je 0x5966b7
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
cmp eax, 0x17
jne 0x595d44
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 4]
test ebx, ebx
sete bl
jmp 0x595d4d
mov edx, dword [esp + 0x100]
xor ebx, ebx
test bl, bl
je 0x595dae
movzx ebx, byte [esp + 0x11d]
test bl, bl
je 0x595dae
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x108]
test bl, bl
je 0x595f64
mov ebx, dword [esp + 0x10c]
test ebx, ebx
je 0x595f64
lea ebx, [eax - 2]
cmp ebx, 4
ja 0x595f64
test ecx, 0x200
jne 0x595df0
lea ebx, [0x70c3b8]
mov ebp, dword [esp + 0xfc]
jmp 0x595e13
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b8ad0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.004b9480
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b6940
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x48], ebx
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
call fcn.004b8470
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004b71f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004b71f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004b08c0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x595f13
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x595f64
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x108]
test bl, bl
je 0x5960b6
mov ebx, dword [esp + 0x10c]
test ebx, ebx
jne 0x5960b6
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.004b71f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x104]
test edx, 0x200
jne 0x595fcd
lea ebx, [0x70c3b8]
mov ebp, dword [esp + 0xfc]
jmp 0x595ff7
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b8ad0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.004b93a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004b71f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004b08c0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x596065
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x5960b6
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
test ecx, 0x200
jne 0x5960cd
lea ebx, [0x70c3b8]
mov ebp, dword [esp + 0xfc]
jmp 0x596102
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b8ad0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov esi, dword [0x8bc694]
cmp dword [0x8bc690], ebx
je 0x596118
test ecx, 0x200
jmp 0x596153
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00403790
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5964c1
mov eax, dword [esp + 0x104]
test eax, 0x200
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jne 0x596164
lea ebx, [0x70c3b8]
mov ebp, dword [esp + 0xfc]
jmp 0x596187
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b8ad0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.00591e60
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 8]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x5963d3
test cl, cl
jne 0x5963c5
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x59622a
cmp eax, 0x17
je 0x59622a
lea eax, [0x6ac0e3]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0x2b
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.004091a0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x70ae9c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov byte [esp + 0x37], dl
mov ebx, dword [esp + 0x114]
test ebx, ebx
je 0x5962a6
cmp eax, 0x13
jne 0x596242
test ebx, ebx
jmp 0x5962ad
lea eax, [0x6ad3f8]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0x2f
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], 0x2f
call fcn.004091a0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x70ae9c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
cmp eax, 0x13
jne 0x596316
test ebx, ebx
jne 0x596b97
mov eax, dword [esp + 0x4c]
cmp eax, 0x18
jne 0x5962ca
mov ecx, dword [esp + 0x100]
mov ebx, dword [ecx]
mov ebp, dword [ecx + 4]
jmp 0x596307
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
call fcn.004b89f0
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x100]
movzx edx, byte [esp + 0x37]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x50], ebx
xor esi, esi
jmp 0x596ba3
cmp eax, 0x17
jne 0x5967b2
cmp ecx, 0x18
je 0x5963ac
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004b71f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.00462cfb
mov eax, dword [esp + 0x68]
lea ecx, [0x6972a0]
cmp eax, ecx
jne 0x596b81
lea edi, [esp + 0x9c]
call fcn.004631de
lea edi, [esp]
lea esi, [esp + 0x9c]
call fcn.004631de
call fcn.00593b40
movzx eax, byte [esp + 0x14]
test al, al
je 0x5963b6
movzx edx, byte [esp + 0x37]
mov eax, 0x18
jmp 0x5967b2
movzx edx, byte [esp + 0x37]
mov eax, 0x17
jmp 0x5967b2
mov eax, dword [esp + 0x104]
test eax, 0x200
jmp 0x5963df
mov eax, dword [esp + 0x104]
test eax, 0x200
jne 0x5963f0
lea eax, [0x70c3b8]
mov ecx, dword [esp + 0xfc]
jmp 0x596416
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004b8ad0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
test eax, eax
je 0x59642d
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x6a12ae]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c6290
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x94]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004091a0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x70ae9c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004b71f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.00462cf7
mov eax, dword [esp + 0x68]
lea ecx, [0x682900]
cmp eax, ecx
jne 0x59679c
lea edi, [esp + 0xd4]
call fcn.004631b6
lea edi, [esp + 0xb0]
lea esi, [esp + 0xd4]
call fcn.004631b6
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd0]
test eax, eax
jne 0x596672
lea eax, [0x67a740]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xc0]
movzx ebp, byte [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
xchg ebp, eax
mov byte [esp + 0x18], al
xchg ebp, eax
call fcn.00592fd0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov edx, dword [esp + 0x5c]
mov dword [edx + 8], ecx
mov ebx, dword [0x8e4520]
test ebx, ebx
jne 0x5965ec
mov dword [edx + 0xc], eax
jmp 0x5965f4
lea edi, [edx + 0xc]
call fcn.00462a70
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x596639
mov dword [edx + 0x14], eax
jmp 0x596641
lea edi, [edx + 0x14]
call fcn.00462a70
lea eax, [0x70b14c]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.004b6940
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea edi, [esp + 0xc]
lea esi, [esp + 0x108]
call fcn.004631d4
call fcn.00595c90
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], ebx
add esp, 0xf8
ret
lea eax, [0x6a7425]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004c37d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x662460]
mov dword [esp + 8], eax
call fcn.00408df0
movzx ecx, byte [esp + 0x11c]
test cl, cl
je 0x596828
cmp eax, 0x10
jne 0x5967ca
mov eax, 0x11
jmp 0x596828
lea eax, [0x6a557d]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0x1a
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.004091a0
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x70ae9c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov dword [esp + 0x3c], eax
cmp eax, 0x11
jne 0x59683d
test cl, cl
jne 0x59683d
mov byte [esp + 0x11c], 1
lea eax, [0x67a740]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
lea edi, [esp + 0xc]
lea esi, [esp + 0x108]
call fcn.004631d4
call fcn.00594870
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x58]
mov dword [esi + 0x10], ecx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x5968b2
mov dword [esi + 0x14], eax
jmp 0x5968ba
lea edi, [esi + 0x14]
call fcn.00462a70
test edx, edx
jne 0x596b56
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x110]
test ecx, ecx
je 0x596aaa
movzx edx, byte [esp + 0x10a]
test dl, dl
je 0x5968f3
mov edx, 1
jmp 0x59690b
movzx edx, byte [esp + 0x10b]
test dl, dl
je 0x596906
mov edx, 3
jmp 0x59690b
mov edx, 2
movzx ebx, byte [esp + 0x109]
test bl, bl
jne 0x59691e
mov ecx, dword [ecx]
jmp 0x596ab0
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
movzx edx, byte [esp + 0x37]
mov byte [esp + 0x18], dl
call fcn.00592fd0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ebx, dword [0x8e4520]
test ebx, ebx
jne 0x59699b
mov dword [edx + 0xc], eax
jmp 0x5969a3
lea edi, [edx + 0xc]
call fcn.00462a70
lea eax, [0x67a740]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
lea ecx, [0x70b14c]
mov dword [eax + 0x10], ecx
mov edx, dword [0x8e4520]
test edx, edx
jne 0x5969d5
mov edx, dword [esp + 0x58]
mov dword [eax + 0x14], edx
jmp 0x5969e3
lea edi, [eax + 0x14]
mov eax, dword [esp + 0x58]
call fcn.00462a70
mov edx, eax
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x18], 1
call fcn.00592fd0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov edx, dword [esp + 0x54]
mov dword [edx + 8], ecx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x596a71
mov dword [edx + 0xc], eax
jmp 0x596a79
lea edi, [edx + 0xc]
call fcn.00462a70
lea eax, [0x70b14c]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
xor edx, edx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x37]
mov byte [esp + 0x18], al
call fcn.00592fd0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409220
mov eax, dword [esp + 0xc]
lea ecx, [0x70b41c]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ecx, dword [0x8e4520]
test ecx, ecx
jne 0x596b1d
mov dword [edx + 0xc], eax
jmp 0x596b25
lea edi, [edx + 0xc]
call fcn.00462a70
lea eax, [0x70b14c]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebp
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x662460]
mov dword [esp + 8], eax
call fcn.00408df0
mov eax, ebx
jmp 0x5967b2
movzx edx, byte [esp + 0x37]
cmp esi, ebp
jge 0x596cfc
movzx edi, byte [ebx + esi]
cmp edi, 0x80
jge 0x596bba
inc esi
jmp 0x596bea
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045d0f0
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x100]
movzx edx, byte [esp + 0x37]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x38]
cmp edi, 0x80
jge 0x596c50
lea edx, [edi - 0x61]
cmp dl, 0x19
jbe 0x596b9e
lea edx, [edi - 0x41]
cmp dl, 0x19
jbe 0x596b9e
lea edx, [edi - 0x30]
cmp dl, 9
jbe 0x596b9e
lea edx, [edi - 0x27]
cmp dl, 2
jbe 0x596b9e
lea edx, [edi - 0x2b]
cmp dl, 4
jbe 0x596b9e
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x596b9e
xchg edi, eax
cmp al, 0x3a
xchg edi, eax
je 0x596b9e
xchg edi, eax
cmp al, 0x3d
xchg edi, eax
je 0x596b9e
xchg edi, eax
cmp al, 0x3f
xchg edi, eax
je 0x596b9e
cmp eax, 0x18
movzx edx, byte [esp + 0x37]
jmp 0x596c53
cmp eax, 0x18
jne 0x596c5c
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
jmp 0x596c82
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
call fcn.004b89f0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0048c730
movzx eax, byte [esp + 8]
test al, al
je 0x596caa
mov ecx, dword [esp + 0x100]
movzx edx, byte [esp + 0x37]
mov eax, 0xc
jmp 0x596d01
lea eax, [0x66d120]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x6a6353]
mov dword [eax], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x70aab4]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, 0x13
mov ebx, eax
jmp 0x596b97
call fcn.00461660
jmp fcn.00595c90