Function at 0x598ca0
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 0x599d18
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
je 0x59974b
nop
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x4c], eax
cmp eax, 0x14
jne 0x598d3e
test ecx, 0x200
jne 0x598cf5
lea edx, [0x6d0aa4]
mov ebx, dword [esp + 0xfc]
jmp 0x598d1f
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.004b9cb0
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 0x5996c7
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
cmp eax, 0x17
jne 0x598d54
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 4]
test ebx, ebx
sete bl
jmp 0x598d5d
mov edx, dword [esp + 0x100]
xor ebx, ebx
test bl, bl
je 0x598dbe
movzx ebx, byte [esp + 0x11d]
test bl, bl
je 0x598dbe
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
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 0x598f74
mov ebx, dword [esp + 0x10c]
test ebx, ebx
je 0x598f74
lea ebx, [eax - 2]
cmp ebx, 4
ja 0x598f74
test ecx, 0x200
jne 0x598e00
lea ebx, [0x6d0aa4]
mov ebp, dword [esp + 0xfc]
jmp 0x598e23
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b9cb0
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.004ba670
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.004b78f0
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.004b9650
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.004b8190
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.004b8190
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.004b1700
movzx eax, byte [esp + 0x10]
test al, al
jne 0x598f23
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x598f74
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
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 0x5990c6
mov ebx, dword [esp + 0x10c]
test ebx, ebx
jne 0x5990c6
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.004b8190
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 0x598fdd
lea ebx, [0x6d0aa4]
mov ebp, dword [esp + 0xfc]
jmp 0x599007
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.004b9cb0
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.004ba590
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.004b8190
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.004b1700
movzx eax, byte [esp + 0x10]
test al, al
jne 0x599075
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x5990c6
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
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 0x5990dd
lea ebx, [0x6d0aa4]
mov ebp, dword [esp + 0xfc]
jmp 0x599112
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b9cb0
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 [0x86da7c]
cmp dword [0x86da78], ebx
je 0x599128
test ecx, 0x200
jmp 0x599163
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00403870
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5994d1
mov eax, dword [esp + 0x104]
test eax, 0x200
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jne 0x599174
lea ebx, [0x6d0aa4]
mov ebp, dword [esp + 0xfc]
jmp 0x599197
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004b9cb0
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.00594f50
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 8]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x5993e3
test cl, cl
jne 0x5993d5
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x59923a
cmp eax, 0x17
je 0x59923a
lea eax, [0x67d748]
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.00409600
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x6cf7f8]
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 0x5992b6
cmp eax, 0x13
jne 0x599252
test ebx, ebx
jmp 0x5992bd
lea eax, [0x67ea62]
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.00409600
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x6cf7f8]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
cmp eax, 0x13
jne 0x599326
test ebx, ebx
jne 0x599ba7
mov eax, dword [esp + 0x4c]
cmp eax, 0x18
jne 0x5992da
mov ecx, dword [esp + 0x100]
mov ebx, dword [ecx]
mov ebp, dword [ecx + 4]
jmp 0x599317
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.004b9bd0
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 0x599bb3
cmp eax, 0x17
jne 0x5997c2
cmp ecx, 0x18
je 0x5993bc
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.004b8190
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.0046391b
mov eax, dword [esp + 0x68]
lea ecx, [0x6695a0]
cmp eax, ecx
jne 0x599b91
lea edi, [esp + 0x9c]
call fcn.00463dfe
lea edi, [esp]
lea esi, [esp + 0x9c]
call fcn.00463dfe
call fcn.00596be0
movzx eax, byte [esp + 0x14]
test al, al
je 0x5993c6
movzx edx, byte [esp + 0x37]
mov eax, 0x18
jmp 0x5997c2
movzx edx, byte [esp + 0x37]
mov eax, 0x17
jmp 0x5997c2
mov eax, dword [esp + 0x104]
test eax, 0x200
jmp 0x5993ef
mov eax, dword [esp + 0x104]
test eax, 0x200
jne 0x599400
lea eax, [0x6d0aa4]
mov ecx, dword [esp + 0xfc]
jmp 0x599426
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.004b9cb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
test eax, eax
je 0x59943d
mov eax, dword [eax + 4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x67304c]
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.004cb7b0
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.00409600
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x6cf7f8]
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.004b8190
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.00463917
mov eax, dword [esp + 0x68]
lea ecx, [0x655aa0]
cmp eax, ecx
jne 0x5997ac
lea edi, [esp + 0xd4]
call fcn.00463dd6
lea edi, [esp + 0xb0]
lea esi, [esp + 0xd4]
call fcn.00463dd6
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd0]
test eax, eax
jne 0x599682
lea eax, [0x64dfe0]
mov dword [esp], eax
call fcn.0040bcc0
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.005960b0
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.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
mov edx, dword [esp + 0x5c]
mov dword [edx + 8], ecx
mov ebx, dword [0x893c80]
test ebx, ebx
jne 0x5995fc
mov dword [edx + 0xc], eax
jmp 0x599604
lea edi, [edx + 0xc]
call fcn.00463680
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.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x893c80]
test ecx, ecx
jne 0x599649
mov dword [edx + 0x14], eax
jmp 0x599651
lea edi, [edx + 0x14]
call fcn.00463680
lea eax, [0x6cfba8]
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.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
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.004b78f0
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.00463df4
call fcn.00598ca0
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, [0x678c21]
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.004c8b40
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, [0x638020]
mov dword [esp + 8], eax
call fcn.00409250
movzx ecx, byte [esp + 0x11c]
test cl, cl
je 0x599838
cmp eax, 0x10
jne 0x5997da
mov eax, 0x11
jmp 0x599838
lea eax, [0x676ee5]
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.00409600
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x6cf7f8]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov dword [esp + 0x3c], eax
cmp eax, 0x11
jne 0x59984d
test cl, cl
jne 0x59984d
mov byte [esp + 0x11c], 1
lea eax, [0x64dfe0]
mov dword [esp], eax
call fcn.0040bcc0
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.00463df4
call fcn.00597880
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 [0x893c80]
test ecx, ecx
jne 0x5998c2
mov dword [esi + 0x14], eax
jmp 0x5998ca
lea edi, [esi + 0x14]
call fcn.00463680
test edx, edx
jne 0x599b66
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 0x599aba
movzx edx, byte [esp + 0x10a]
test dl, dl
je 0x599903
mov edx, 1
jmp 0x59991b
movzx edx, byte [esp + 0x10b]
test dl, dl
je 0x599916
mov edx, 3
jmp 0x59991b
mov edx, 2
movzx ebx, byte [esp + 0x109]
test bl, bl
jne 0x59992e
mov ecx, dword [ecx]
jmp 0x599ac0
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.005960b0
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.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ebx, dword [0x893c80]
test ebx, ebx
jne 0x5999ab
mov dword [edx + 0xc], eax
jmp 0x5999b3
lea edi, [edx + 0xc]
call fcn.00463680
lea eax, [0x64dfe0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
lea ecx, [0x6cfba8]
mov dword [eax + 0x10], ecx
mov edx, dword [0x893c80]
test edx, edx
jne 0x5999e5
mov edx, dword [esp + 0x58]
mov dword [eax + 0x14], edx
jmp 0x5999f3
lea edi, [eax + 0x14]
mov eax, dword [esp + 0x58]
call fcn.00463680
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.005960b0
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.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
mov edx, dword [esp + 0x54]
mov dword [edx + 8], ecx
mov ecx, dword [0x893c80]
test ecx, ecx
jne 0x599a81
mov dword [edx + 0xc], eax
jmp 0x599a89
lea edi, [edx + 0xc]
call fcn.00463680
lea eax, [0x6cfba8]
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.005960b0
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.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x6cfe60]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ecx, dword [0x893c80]
test ecx, ecx
jne 0x599b2d
mov dword [edx + 0xc], eax
jmp 0x599b35
lea edi, [edx + 0xc]
call fcn.00463680
lea eax, [0x6cfba8]
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, [0x638020]
mov dword [esp + 8], eax
call fcn.00409250
mov eax, ebx
jmp 0x5997c2
movzx edx, byte [esp + 0x37]
cmp esi, ebp
jge 0x599d0c
movzx edi, byte [ebx + esi]
cmp edi, 0x80
jge 0x599bca
inc esi
jmp 0x599bfa
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045ca20
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 0x599c60
lea edx, [edi - 0x61]
cmp dl, 0x19
jbe 0x599bae
lea edx, [edi - 0x41]
cmp dl, 0x19
jbe 0x599bae
lea edx, [edi - 0x30]
cmp dl, 9
jbe 0x599bae
lea edx, [edi - 0x27]
cmp dl, 2
jbe 0x599bae
lea edx, [edi - 0x2b]
cmp dl, 4
jbe 0x599bae
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x599bae
xchg edi, eax
cmp al, 0x3a
xchg edi, eax
je 0x599bae
xchg edi, eax
cmp al, 0x3d
xchg edi, eax
je 0x599bae
xchg edi, eax
cmp al, 0x3f
xchg edi, eax
je 0x599bae
cmp eax, 0x18
movzx edx, byte [esp + 0x37]
jmp 0x599c63
cmp eax, 0x18
jne 0x599c6c
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
jmp 0x599c92
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.004b9bd0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0048ec50
movzx eax, byte [esp + 8]
test al, al
je 0x599cba
mov ecx, dword [esp + 0x100]
movzx edx, byte [esp + 0x37]
mov eax, 0xc
jmp 0x599d11
lea eax, [0x641ce0]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x677bdf]
mov dword [eax], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x6cf424]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, 0x13
mov ebx, eax
jmp 0x599ba7
call fcn.00462270
jmp fcn.00598ca0