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

Disassembly:
mov ecx, dword [0x7c3e14]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x59a6b6
sub esp, 0xe8
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x30], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x2c], ebx
mov dword [esp], eax
call fcn.00595c30
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x40]
mov dword [esp + 0x10], ebp
call fcn.0059a6c0
movzx eax, byte [esp + 0x14]
test al, al
je 0x59a1cd
mov dword [esp + 0x28], 0x4c4d4159
mov eax, dword [esp + 0x44]
cmp eax, 4
je 0x599e04
xor eax, eax
jmp 0x599e21
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403320
movzx eax, byte [esp + 0xc]
test al, al
jne 0x59a05b
mov word [esp + 0x21], 0x4154
mov byte [esp + 0x23], 0x47
mov eax, dword [esp + 0x44]
cmp eax, 3
jne 0x599fc6
mov ecx, dword [esp + 0x40]
mov dword [esp], ecx
lea ecx, [esp + 0x21]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00403320
movzx eax, byte [esp + 0xc]
test al, al
je 0x599fc6
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x4c]
mov dword [esp + 0x10], ebp
lea ebp, [esp + 0x34]
mov dword [esp + 0x14], ebp
call fcn.0059ad80
movzx eax, byte [esp + 0x18]
test al, al
je 0x599fb7
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov ebp, dword [ecx + 0x88]
lea edi, [esp + 0x58]
lea esi, [0x65a768]
call fcn.00468a6c
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5c], ecx
mov eax, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x60], ecx
mov esi, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebp
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebp
mov edi, dword [esp + 0xf0]
test byte [edi], al
mov edx, dword [0x7c3fa0]
test edx, edx
je 0x599fa7
lea eax, [0x5fbee0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
call fcn.00411660
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov edx, esi
lea esi, [esp + 0x58]
call fcn.00468a6c
jmp 0x59a177
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
nop
mov eax, dword [esp + 0xec]
mov dword [eax], 3
mov dword [eax + 0x24], 0x1a
mov ecx, dword [0x7c3fa0]
test ecx, ecx
je 0x599fef
mov ecx, dword [eax + 0x20]
call fcn.00468400
mov dword [edi], ecx
lea ecx, [0x6130ea]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1c
mov ecx, dword [0x7c3fa0]
test ecx, ecx
je 0x59a028
mov ecx, dword [eax + 4]
call fcn.00468400
mov dword [edi], ecx
lea ecx, [0x61402f]
mov dword [eax + 4], ecx
mov ecx, dword [eax + 0x84]
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0x8c]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ebx
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0x1f], 0
mov byte [esp + 0x1e], 0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebx
lea ebp, [esp + 0x1f]
mov dword [esp + 0x10], ebp
lea ebp, [esp + 0x1e]
mov dword [esp + 0x14], ebp
call fcn.0059a980
movzx eax, byte [esp + 0x18]
test al, al
je 0x59a1be
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov ebp, dword [ecx + 0x88]
lea edi, [esp + 0xa0]
lea esi, [0x65a720]
call fcn.00468a6c
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa4], ecx
mov eax, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa8], ecx
mov esi, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], edx
movzx edx, byte [esp + 0x1f]
mov byte [esp + 0xe5], dl
movzx edx, byte [esp + 0x1e]
mov byte [esp + 0xe6], dl
mov edi, dword [esp + 0xf0]
test byte [edi], al
mov edx, dword [0x7c3fa0]
test edx, edx
je 0x59a169
lea eax, [0x5fbee0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa0]
mov dword [esp + 8], eax
call fcn.00411660
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf0]
mov edx, esi
lea esi, [esp + 0xa0]
call fcn.00468a6c
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x59a1eb
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59a1af
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
jmp 0x59a1eb
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x59a6ae
mov esi, dword [ebx + 0x54]
movzx ebp, byte [esi + ebp]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x59a20e
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jne 0x59a255
mov dword [esp], ebx
call fcn.00595c30
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x59a1dc
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59a246
mov eax, dword [esp + 0xec]
jmp 0x59a1dc
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
xchg ebp, eax
cmp al, 0x23
xchg ebp, eax
je 0x59a526
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x59a510
mov esi, dword [ebx + 0x54]
movzx edi, byte [esi + ebp]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x59a366
xchg edi, eax
cmp al, 0xa
xchg edi, eax
jne 0x59a291
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x59a366
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x59a2ba
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x59a509
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
jne 0x59a2b6
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x59a366
mov edx, dword [esp + 0x30]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59a357
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x59a502
lea eax, [esi + ebp + 1]
movzx eax, byte [eax]
cmp al, 0x80
jne 0x59a30c
lea ebx, [ebp + 2]
cmp ecx, ebx
jbe 0x59a4fb
lea ebx, [esi + ebp + 2]
cmp byte [ebx], 0xa8
jne 0x59a2fe
xchg edi, eax
cmp al, 0xd
xchg edi, eax
mov ebx, dword [esp + 0xec]
jmp 0x59a366
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov ebx, dword [esp + 0xec]
jmp 0x59a311
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59a34f
cmp ecx, edx
jbe 0x59a4f4
cmp al, 0x80
jne 0x59a345
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x59a4ef
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa9
jne 0x59a33b
xchg edi, eax
cmp al, 0xd
xchg edi, eax
jmp 0x59a366
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x59a357
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x59a357
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x59a44e
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x59a400
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x59a400
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x59a392
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x59a4ea
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
je 0x59a400
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59a43f
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x59a4e5
lea edx, [esi + ebp + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x59a3d8
mov byte [esp + 0x20], dl
lea edx, [ebp + 2]
cmp ecx, edx
jbe 0x59a4de
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa8
je 0x59a400
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
movzx edx, byte [esp + 0x20]
jmp 0x59a3dd
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59a43f
cmp ecx, eax
jbe 0x59a4d9
cmp dl, 0x80
jne 0x59a43f
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x59a4d4
lea eax, [esi + ebp + 2]
cmp byte [eax], 0xa9
jne 0x59a43f
cmp dword [ebx + 0x64], 2
jge 0x59a426
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59a430
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
call fcn.00595cf0
jmp 0x59a43f
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
mov byte [esp + 0xf4], 1
add esp, 0xe8
ret
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], 0x1a
mov ecx, dword [0x7c3fa0]
test ecx, ecx
je 0x59a470
mov ecx, dword [ebx + 0x20]
call fcn.00468400
mov dword [edi], ecx
lea ecx, [0x6130ea]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x2b
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59a4a1
mov eax, dword [ebx + 4]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x619403]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x8c]
mov edx, dword [ebx + 0x84]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
call fcn.00468460
call fcn.00468460
mov eax, edx
call fcn.00468460
call fcn.00468460
call fcn.00468460
call fcn.00468460
mov eax, edx
call fcn.00468460
mov eax, ebx
call fcn.00468460
mov eax, edx
call fcn.00468460
mov eax, edx
call fcn.00468460
mov eax, ebp
call fcn.00468460
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x60]
cmp ecx, ebp
jbe 0x59a6a7
mov esi, dword [ebx + 0x54]
movzx edi, byte [esi + ebp]
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x59a260
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x59a260
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x59a574
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x59a6a0
lea edx, [esi + ebp + 1]
cmp byte [edx], 0x85
je 0x59a64d
mov edx, dword [esp + 0x30]
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59a604
lea edx, [ebp + 1]
cmp ecx, edx
jbe 0x59a699
lea eax, [esi + ebp + 1]
movzx eax, byte [eax]
cmp al, 0x80
jne 0x59a5bc
lea ebx, [ebp + 2]
cmp ecx, ebx
jbe 0x59a692
lea ebx, [esi + ebp + 2]
cmp byte [ebx], 0xa8
je 0x59a656
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov ebx, dword [esp + 0xec]
jmp 0x59a5c1
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x59a5fc
cmp ecx, edx
jbe 0x59a68b
cmp al, 0x80
jne 0x59a5f2
lea eax, [ebp + 2]
cmp ecx, eax
jbe 0x59a686
lea edx, [esi + ebp + 2]
cmp byte [edx], 0xa9
je 0x59a66a
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x59a604
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x59a604
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
xchg edi, eax
test al, al
xchg edi, eax
je 0x59a260
mov dword [esp], ebx
call fcn.00595c30
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x64]
test ecx, ecx
jg 0x59a517
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59a677
mov eax, dword [esp + 0xec]
jmp 0x59a517
mov edx, dword [esp + 0x30]
jmp 0x59a260
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xec]
jmp 0x59a260
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
jmp 0x59a260
mov byte [esp + 0xf4], 0
add esp, 0xe8
ret
call fcn.00468460
mov eax, edx
call fcn.00468460
mov eax, ebx
call fcn.00468460
mov eax, edx
call fcn.00468460
mov eax, edx
call fcn.00468460
mov eax, ebp
call fcn.00468460
mov eax, ebp
call fcn.00468460
nop
call fcn.00467000
jmp fcn.00599d50