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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x59bd35
sub esp, 0x88
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x59bc2b
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x9c]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
jne 0x59bbdf
mov ebx, dword [esp + 0xa0]
test ebx, ebx
jne 0x59bbd6
cmp al, 0x30
je 0x59b9ac
mov ebp, 0xa
xor esi, esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x54], esi
mov byte [esp + 0x2f], al
mov dword [esp + 0x50], ebp
mov dword [esp], ebp
call fcn.0059b2b0
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
movzx edx, byte [esp + 0xa4]
movzx ebx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x54]
xor esi, esi
xor edi, edi
xor edx, edx
mov dword [esp + 0x90], edx
mov ebx, 0xffffffff
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x70], ebp
movzx edx, byte [esp + 0xa4]
movzx ebx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x54]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0x54]
jmp 0x59b472
mov ebp, eax
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x40]
movzx edx, byte [esp + 0xa4]
mov ebx, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x54], ebp
test dl, dl
je 0x59b9a5
cmp bl, 0x2e
je 0x59b894
mov byte [esp + 0xa4], dl
lea edx, [ebx - 0x30]
cmp dl, 9
ja 0x59b851
movzx edx, dl
mov ebx, dword [esp + 0x50]
cmp edx, ebx
jae 0x59b800
imul edi, ebx
add edx, edi
inc esi
cmp ecx, esi
je 0x59b7aa
mov edi, dword [esp + 0x94]
mov dword [esp + 0x94], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x10]
mov ebx, dword [esp + 0x9c]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 0x54]
inc eax
movzx ecx, byte [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x59b44e
mov ecx, dword [0xcad720]
cmp ecx, ebx
je 0x59b557
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], edx
add esp, 0x88
ret
mov dword [esp + 0x4c], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [0xcad724]
mov dword [esp + 8], eax
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x59b799
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x54], eax
test eax, eax
jne 0x59b6b4
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x59b6ae
mov edx, dword [esp + 0x50]
cmp edx, 8
jne 0x59b636
mov eax, 0xa
mov ecx, 1
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], edx
add esp, 0x88
ret
test ecx, ecx
je 0x59b696
lea eax, [0x7e6bc0]
mov dword [esp], eax
call fcn.0040eaf0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
mov ecx, dword [0xcc2260]
test ecx, ecx
jne 0x59b67a
lea ecx, [0x856fb1]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov edx, eax
lea ebx, [0x9b1540]
mov eax, dword [esp + 0x50]
jmp 0x59b5f2
mov dword [esp + 0x60], eax
mov dword [esp], eax
lea ecx, [0x856fb1]
mov dword [esp + 4], ecx
call fcn.0040f360
mov eax, dword [esp + 0x60]
jmp 0x59b665
cmp edx, 8
jne 0x59b63a
mov eax, edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
jmp 0x59b5f2
mov edx, dword [esp + 0x50]
jmp 0x59b638
mov dword [esp + 0x38], edi
test ecx, ecx
jg 0x59b730
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00594040
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x38]
test ebx, ebx
jl 0x59b72a
mov ebp, dword [esp + 0x54]
sub ebx, ebp
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc0], eax
add esp, 0x88
ret
mov ebx, dword [esp + 0x54]
jmp 0x59b6e6
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0059b300
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
call fcn.00594790
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
jmp 0x59b6bc
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
jmp 0x59b50f
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x94]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.00594790
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
xor esi, esi
xor edx, edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x74], ecx
jmp 0x59b4c6
mov eax, dword [esp + 0x98]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x54]
jmp 0x59b5bc
lea edx, [ebx - 0x61]
cmp dl, 0x19
ja 0x59b864
add ebx, 0xffffffa9
movzx edx, bl
jmp 0x59b4a5
lea edx, [ebx - 0x41]
cmp dl, 0x19
ja 0x59b88a
mov edx, dword [esp + 0x50]
cmp edx, 0x24
jg 0x59b882
add ebx, 0xffffffc9
movzx ebx, bl
mov edx, ebx
jmp 0x59b4a5
add ebx, 0xffffffe3
movzx ebx, bl
jmp 0x59b87b
mov edx, 0x3f
jmp 0x59b4a5
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x9c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 4]
test ecx, ecx
jne 0x59b8e4
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
mov ebx, edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
xor edx, edx
jmp 0x59b48f
mov edx, dword [0xcad720]
cmp edx, ecx
je 0x59b93a
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov edx, dword [esp + 0x50]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0x88
ret
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [0xcad724]
mov dword [esp + 8], edx
call fcn.004021a0
movzx eax, byte [esp + 0xc]
test al, al
je 0x59b998
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x74]
mov edi, eax
xor eax, eax
mov dword [esp + 0x74], eax
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov eax, edi
mov ecx, dword [esp + 0x34]
jmp 0x59b5bc
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
jmp 0x59b8ee
xor edx, edx
jmp 0x59b48f
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x9c]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test edx, edx
je 0x59bab8
mov eax, dword [0xcad720]
cmp eax, edx
je 0x59ba2d
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
invalid
test byte [eax + esi*4], ah
add byte [eax], al
add byte [eax], al
invalid