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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x5f1d23
sub esp, 0x8c
mov eax, 0
mov dword [esp + 0x88], eax
mov byte [esp + 0x33], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
test byte [ecx], al
mov edx, dword [eax + 4]
mov dword [esp + 0x40], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x54], ebx
lea ebp, [ecx + 0xb8]
mov dword [esp + 0x64], ebp
mov dword [esp], ebp
call fcn.004664f0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea eax, [0x5f1d30]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x88], eax
mov byte [esp + 0x33], 1
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x54]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + 0xc]
lea edi, [esp + 0x70]
mov ebx, eax
xor eax, eax
call fcn.0045f9ea
mov eax, dword [esp + 0x60]
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x70], edx
lea eax, [esp + 0x70]
mov dword [esp], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov byte [esp + 0x14], 0
call fcn.004451b0
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x5f1b41
je 0x5f1b10
cmp eax, 1
je 0x5f1ad3
cmp eax, 2
jne 0x5f1d16
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
mov eax, dword [0x860710]
mov ecx, dword [0x860714]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.005efc90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
test edx, edx
jne 0x5f1cf1
mov edx, dword [esp + 0x94]
mov ebx, dword [edx + 0x20]
test ebx, ebx
je 0x5f1bb3
je 0x5f1b87
lea ebp, [0x672d00]
cmp dword [ebx + 4], ebp
je 0x5f1bb3
mov ebx, dword [edx + 0x30]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [edx + 0x2c]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5f1bb7
mov ebx, 0xffffffff
mov esi, 0xffffffff
jmp 0x5f1bb7
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], esi
mov ebp, dword [esp + 0x90]
movzx edi, byte [ebp + 0x64]
mov ebp, dword [esp + 0x58]
mov dword [esp], ebp
mov dword [esp + 4], edx
xchg edi, eax
mov byte [esp + 8], al
xchg edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
call fcn.005f3280
mov eax, dword [esp + 0x34]
test eax, eax
setne al
mov ecx, dword [esp + 0x38]
test ecx, ecx
setne cl
or ecx, eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
test ebp, ebp
jne 0x5f1ccc
test cl, cl
je 0x5f1c30
xor ecx, ecx
jmp 0x5f1c39
mov ecx, dword [esp + 0x3c]
test ecx, ecx
sete cl
mov ebp, dword [esp + 0x90]
mov byte [ebp + 0xc6], 1
mov esi, dword [ebp + 0x14]
mov edi, dword [esp + 0x58]
mov ebp, dword [edi + 0xa0]
mov dword [esp], edi
mov dword [esp + 4], esi
mov byte [esp + 8], cl
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
call fcn.005f2200
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
je 0x5f1ca7
mov eax, dword [eax + 0x34]
test eax, eax
je 0x5f1ca7
mov dword [esp + 0x50], edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax]
mov edx, eax
call ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
mov byte [esp + 0x33], 0
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
nop
call fcn.004337a0
add esp, 0x8c
ret
call fcn.0045e340
jmp fcn.005f1960