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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x5f09ee
sub esp, 0xac
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x7c]
test ecx, ecx
jne 0x5f048e
nop
mov edx, dword [0x85fbfc]
lea ecx, [0x6f7820]
mov ebx, dword [eax + 0x20]
test ebx, ebx
je 0x5f04ce
je 0x5f04a2
lea ebp, [0x672d00]
cmp dword [ebx + 4], ebp
je 0x5f04ce
mov ebx, dword [eax + 0x30]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
mov esi, dword [eax + 0x2c]
test esi, esi
xchg edi, ebx
setne bl
xchg edi, ebx
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5f04d2
mov ebx, 0xffffffff
mov esi, 0xffffffff
jmp 0x5f04d2
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 0x1c]
mov dword [esp], edx
lea ebp, [0x65c120]
mov dword [esp + 4], ebp
lea ebp, [0x887b48]
mov dword [esp + 8], ebp
call eax
mov eax, dword [esp + 0x10]
lea ecx, [0x665a40]
cmp dword [esp + 0xc], ecx
je 0x5f0510
xor eax, eax
mov dword [esp + 0x40], eax
lea ecx, [0x652ac0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
lea ecx, [0x652ac0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
lea ecx, [0x652ac0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
lea ecx, [0x652ac0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00404540
mov eax, dword [esp + 8]
mov dword [esp + 0x58], eax
lea ecx, [0x686740]
mov dword [esp], ecx
call fcn.0040b470
mov edi, dword [esp + 4]
mov eax, dword [0x887d70]
test eax, eax
jne 0x5f05b3
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
jmp 0x5f05c1
mov eax, dword [esp + 0xb0]
call fcn.0045f750
mov ecx, eax
mov edx, dword [esp + 0x24]
mov dword [edi + 4], edx
mov ebx, dword [0x887d70]
test ebx, ebx
jne 0x5f05db
mov ebx, dword [esp + 0x3c]
mov dword [edi + 8], ebx
jmp 0x5f05ef
lea ebx, [edi + 8]
mov eax, dword [esp + 0x3c]
mov ebp, edi
mov edi, ebx
call fcn.0045f750
mov ebx, eax
mov edi, ebp
mov dword [esp + 0x48], edi
mov ebp, dword [0x887d70]
mov esi, dword [esp + 0xb4]
mov eax, dword [esi + 0x70]
test ebp, ebp
jne 0x5f060c
mov dword [edi + 0xc], eax
jmp 0x5f061a
lea ebp, [edi + 0xc]
mov edi, ebp
call fcn.0045f750
mov edi, dword [esp + 0x48]
mov ebp, dword [esi]
cmp dword [esi + 4], 4
jne 0x5f0632
cmp dword [ebp], 0x44414548
xchg ebp, ebx
sete bl
xchg ebp, ebx
jmp 0x5f0634
xor ebp, ebp
xchg ebp, eax
mov byte [edi + 0x65], al
xchg ebp, eax
mov eax, dword [esi + 0x24]
mov ebp, dword [esi + 0x20]
mov dword [edi + 0xb4], ebp
mov ebp, dword [0x887d70]
test ebp, ebp
jne 0x5f0657
mov dword [edi + 0xb8], eax
jmp 0x5f0668
lea ebp, [edi + 0xb8]
mov edi, ebp
call fcn.0045f750
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x20]
mov dword [edi + 0xbc], ebp
mov ebp, dword [esp + 0x28]
mov dword [edi + 0xc0], ebp
mov ebp, dword [0x887d70]
test ebp, ebp
jne 0x5f06b4
mov eax, dword [esp + 0x40]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [edi + 0x80], eax
mov eax, dword [esp + 0x60]
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x8c], eax
mov eax, dword [esp + 0x58]
mov dword [edi + 0x84], eax
jmp 0x5f06ff
lea ebp, [edi + 0x10]
mov eax, dword [esp + 0x40]
mov edi, ebp
call fcn.0045f750
mov ebp, dword [esp + 0x48]
lea edi, [ebp + 0x80]
mov eax, dword [esp + 0x64]
call fcn.0045f750
lea edi, [ebp + 0x74]
mov eax, dword [esp + 0x60]
call fcn.0045f750
lea edi, [ebp + 0x8c]
mov eax, dword [esp + 0x5c]
call fcn.0045f750
lea edi, [ebp + 0x84]
mov eax, dword [esp + 0x58]
call fcn.0045f750
lea eax, [0x667060]
mov dword [esp], eax
call fcn.0040b470
mov eax, dword [esp + 4]
lea ecx, [0x5f0c90]
mov dword [eax], ecx
mov ecx, dword [0x887d70]
test ecx, ecx
jne 0x5f0736
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xb4]
mov dword [eax + 8], edx
jmp 0x5f0755
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x48]
call fcn.0045f750
lea edi, [ecx + 8]
mov eax, dword [esp + 0xb4]
call fcn.0045f750
mov eax, ecx
mov dword [esp], eax
call fcn.0043f470
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
lea eax, [0x5f0b80]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x74], edx
lea edi, [esp + 0x78]
mov ebx, eax
xor eax, eax
call fcn.0045f9eb
lea ecx, [0x5f0a00]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x88], ecx
mov ebp, dword [ebx + 0x8c]
mov dword [esp + 0x54], ebp
mov esi, dword [ebx + 0x74]
mov dword [esp + 0x50], esi
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0x14]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + 0xc]
lea edi, [esp + 0x8c]
mov ebx, eax
xor eax, eax
call fcn.0045f9e8
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x8c], edx
lea eax, [esp + 0x8c]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 4
mov byte [esp + 0x14], 1
call fcn.004451b0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5f09a1
cmp eax, 1
je 0x5f094d
cmp eax, 2
je 0x5f08c5
cmp eax, 3
jne 0x5f09ed
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x78]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xac
ret
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x8c]
mov dword [esp], 0
mov dword [esp + 4], ecx
call fcn.00405980
movzx eax, byte [esp + 8]
test al, al
je 0x5f0919
mov eax, dword [esp + 0x78]
lea edx, [esp + 0x78]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp]
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xac
ret
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x68]
call eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xac
ret
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call fcn.005ecc70
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc0], eax
add esp, 0xac
ret
mov eax, dword [0x860710]
mov ecx, dword [0x860714]
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005ecc70
mov eax, dword [0x860710]
mov ecx, dword [0x860714]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xac
ret
nop
call fcn.0045e340
jmp fcn.005f0450