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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59c729
sub esp, 0x60
mov eax, dword [esp + 0x70]
cmp eax, 4
jne 0x59c720
mov ecx, dword [esp + 0x6c]
cmp dword [ecx], 0x78696e75
jne 0x59c68d
mov edx, 1
mov ebx, dword [esp + 0x88]
cmp ebx, 4
jne 0x59c681
mov ebp, dword [esp + 0x84]
cmp dword [ebp], 0x6c616964
jne 0x59c5c6
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x74]
test ebx, ebx
jne 0x59c5a0
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x59c597
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x7c]
test esi, esi
jne 0x59c55e
xor edi, edi
xchg edi, eax
test al, al
xchg edi, eax
je 0x59c552
xor esi, esi
xor edi, edi
test esi, esi
je 0x59c4ef
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x64]
mov dword [esp], edi
mov edi, dword [esp + 0x68]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x30], eax
call fcn.00593130
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x59c4ce
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ecx
add esp, 0x60
ret
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x60
ret
cmp edx, 2
je 0x59c540
mov dword [esp + 0x50], eax
mov eax, 1
mov byte [esp + 0x43], al
mov eax, dword [esp + 0x50]
movzx edx, byte [esp + 0x43]
test dl, dl
jne 0x59c517
mov edx, dword [esp + 0x48]
jmp 0x59c443
mov eax, dword [0xdc3104]
mov ecx, dword [0xdc3100]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x60
ret
test ebx, ebx
setne dl
xor edx, 1
mov byte [esp + 0x43], dl
mov edx, dword [esp + 0x48]
jmp 0x59c505
mov edi, dword [esp + 0x80]
jmp 0x59c43b
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x5c], ebp
mov eax, dword [esi + 0x1c]
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
call eax
movzx edi, byte [esp + 4]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x7c]
jmp 0x59c42d
mov ebp, dword [esp + 0x78]
jmp 0x59c41f
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
call eax
movzx ebp, byte [esp + 4]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x74]
jmp 0x59c411
cmp ebx, 6
jne 0x59c5f4
cmp dword [ebp], 0x7473696c
jne 0x59c5f4
cmp word [ebp + 4], 0x6e65
jne 0x59c5f4
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x59c443
mov dword [esp], 0
lea eax, [0x98a232]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00443900
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
lea edx, [0x909320]
mov dword [esp], edx
call fcn.0040ae10
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0xdd7ec0]
test eax, eax
jne 0x59c676
mov eax, dword [esp + 0x58]
mov dword [edi], eax
mov dword [esp + 0x90], 0
lea eax, [0xa4d860]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
add esp, 0x60
ret
mov eax, dword [esp + 0x58]
call fcn.00456fe0
jmp 0x59c653
mov ebp, dword [esp + 0x84]
jmp 0x59c5c6
cmp eax, 8
jne 0x59c6ad
cmp dword [ecx], 0x78696e75
jne 0x59c6ad
cmp dword [ecx + 4], 0x6d617267
jne 0x59c6ad
mov edx, 2
jmp 0x59c3db
cmp eax, 0xa
je 0x59c6e5
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004086a0
mov eax, dword [esp + 8]
mov dword [esp + 0x90], 0
lea ecx, [0xa4ef20]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x60
ret
mov dword [esp], ecx
lea edx, [0x987800]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00402300
movzx eax, byte [esp + 0xc]
test al, al
je 0x59c716
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, 5
jmp 0x59c3db
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
jmp 0x59c6b2
mov ecx, dword [esp + 0x6c]
jmp 0x59c68d
call fcn.004557a0
jmp fcn.0059c3a0