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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7490a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x440
push ebx
mov ebx, ecx
push esi
push edi
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x10], esp
test ecx, ecx
mov dword [ebp - 0x38], ebx
jne 0x5f1996
push 0xc96
push 0x7c0d90
push str.m_pOwner
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x5f19d3
push 0xc97
push 0x7c0d90
push str.m_pMagic
push str.CHECKF
push 0x793720
call fcn.00401080
add esp, 0x14
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ecx]
call dword [eax + 0xa4]
test eax, eax
mov dword [ebp - 0x2c], eax
jne 0x5f19f7
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [0x7fd5e0]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x14]
mov edx, dword [ecx]
push eax
call dword [edx + 0x10]
mov esi, eax
test esi, esi
mov dword [ebp - 0x3c], esi
je 0x5f1a39
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
mov dword [ebp - 0x30], eax
mov edi, dword [ebp + 8]
test edi, edi
jl 0x5f1e84
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx]
call dword [edx + 0x40]
cmp edi, eax
jge 0x5f1cbe
mov ecx, dword [ebx + 0x10]
push edi
mov eax, dword [ecx]
call dword [eax + 0x44]
mov dword [ebp - 0x14], eax
xor edi, edi
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
sub eax, ecx
mov dword [ebp - 0x20], edi
sar eax, 2
cmp edi, eax
jae 0x5f1cbb
mov eax, ecx
mov dword [ebp - 4], 0
mov eax, dword [eax + edi*4]
test eax, eax
jne 0x5f1a92
mov dword [ebp - 4], 0xffffffff
inc edi
jmp 0x5f1a62
mov ecx, dword [ebx + 0x78]
push eax
mov edx, dword [ecx]
call dword [edx + 0x11c]
mov esi, eax
test esi, esi
mov dword [ebp - 0x40], esi
jne 0x5f1ab4
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
inc edi
jmp 0x5f1a62
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
mov edx, dword [esi]
mov ecx, esi
mov dword [ebp - 0x44], eax
call dword [edx + 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
mov edx, dword [esi]
mov ecx, esi
mov edi, eax
call dword [edx + 0x1c]
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [ebx + 0x78]
mov esi, eax
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov ecx, dword [ebp - 0x24]
cmp eax, ecx
jge 0x5f1b0b
cmp esi, edi
jge 0x5f1aff
mov eax, 7
jmp 0x5f1b39
xor eax, eax
cmp esi, edi
setle al
add eax, 5
jmp 0x5f1b39
jle 0x5f1b24
cmp esi, edi
jge 0x5f1b18
mov eax, 1
jmp 0x5f1b39
xor eax, eax
cmp esi, edi
setg al
add eax, 2
jmp 0x5f1b39
cmp esi, edi
jge 0x5f1b2c
xor eax, eax
jmp 0x5f1b39
xor eax, eax
cmp esi, edi
setle al
dec eax
and al, 0xfc
add eax, 8
mov edx, dword [ebp - 0x14]
xor ecx, ecx
and eax, 0xff
mov cl, byte [edx]
add eax, ecx
mov edi, eax
and edi, 0x80000007
jns 0x5f1b56
dec edi
or edi, 0xfffffff8
inc edi
mov esi, dword [ebp - 0x40]
xor ebx, ebx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
mov eax, dword [esi]
push ecx
push 0x100001
mov ecx, esi
mov dword [ebp - 0x24], edi
call dword [eax + 0x114]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x34]
cmp eax, edx
jge 0x5f1c20
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
mov esi, dword [eax*4 + 0x758dec]
mov edi, dword [eax*4 + 0x758e10]
mov eax, dword [ebp - 0x28]
add esi, ebx
add edi, edx
test eax, eax
je 0x5f1bd8
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
push 0x9f
call dword [edx + 0x14c]
test eax, eax
je 0x5f1bd8
mov ecx, dword [ebp - 0x28]
call fcn.0045ab60
mov ecx, dword [ebp - 0x28]
push edi
push esi
push eax
call fcn.004724a0
test al, al
je 0x5f1c0e
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
xor eax, eax
mov al, byte [ecx + 2]
mov ecx, dword [ebp - 0x2c]
push eax
push edi
push esi
push edx
push ebx
call fcn.004858a0
test al, al
jne 0x5f1c09
mov al, byte [ebp + 0x10]
test al, al
je 0x5f1c0e
mov ecx, dword [ebp - 0x2c]
push edi
push esi
call fcn.004857c0
test al, al
je 0x5f1c0e
mov ebx, esi
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x34], eax
jmp 0x5f1b7a
mov eax, dword [esi]
push 9
mov ecx, esi
call dword [eax + 0x13c]
mov eax, dword [ebp - 0x14]
mov edx, dword [esi]
add edi, 4
mov ecx, dword [eax + 4]
and edi, 0x80000007
push ecx
jns 0x5f1c45
dec edi
or edi, 0xfffffff8
inc edi
mov eax, dword [ebp - 0x18]
push edi
push eax
push ebx
mov ecx, esi
call dword [edx + 0x1c8]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 4], 0xffffffff
inc edi
jmp 0x5f1a62
mov edi, dword [ebp + 8]
test edi, edi
jl 0x5f1e84
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x38]
cmp edi, eax
jge 0x5f1e84
mov ecx, dword [ebx + 0x78]
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0x18], eax
mov edx, dword [ecx]
call dword [edx + 0x24]
test esi, esi
mov byte [ebp - 0x20], al
je 0x5f1d61
mov ecx, dword [ebx + 0x78]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ebx, dword [ebx + 0x78]
mov esi, eax
mov ecx, ebx
mov edx, dword [ebx]
call dword [edx + 0x1c]
mov ecx, dword [ebp - 0x1c]
cmp eax, ecx
mov ecx, dword [ebp - 0x30]
jge 0x5f1d30
cmp esi, ecx
jge 0x5f1d24
mov eax, 7
jmp 0x5f1d5e
xor eax, eax
cmp esi, ecx
setle al
add eax, 5
jmp 0x5f1d5e
jle 0x5f1d49
cmp esi, ecx
jge 0x5f1d3d
mov eax, 1
jmp 0x5f1d5e
xor eax, eax
cmp esi, ecx
setg al
add eax, 2
jmp 0x5f1d5e
cmp esi, ecx
jge 0x5f1d51
xor eax, eax
jmp 0x5f1d5e
xor eax, eax
cmp esi, ecx
setle al
dec eax
and al, 0xfc
add eax, 8
mov byte [ebp - 0x20], al
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [ebp - 0x20]
mov ebx, eax
xor eax, eax
and ecx, 0xff
mov al, byte [ebx]
mov esi, eax
add esi, ecx
and esi, 0x80000007
jns 0x5f1d90
dec esi
or esi, 0xfffffff8
inc esi
mov ecx, dword [edi + 0x78]
lea eax, [ebp + 0x10]
mov dword [ebp + 0x10], 0
push eax
mov edx, dword [ecx]
push 0x100001
mov dword [ebp - 0x1c], esi
call dword [edx + 0x114]
mov al, byte [ebx + 1]
mov dword [ebp + 8], 0
test al, al
jbe 0x5f1e5f
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov esi, dword [eax*4 + 0x758dec]
add esi, edi
mov edi, dword [eax*4 + 0x758e10]
mov eax, dword [ebp + 0x10]
add edi, edx
test eax, eax
je 0x5f1e0e
mov edx, dword [eax + 8]
lea ecx, [eax + 8]
push 0x9f
call dword [edx + 0x14c]
test eax, eax
je 0x5f1e0e
mov ecx, dword [ebp + 0x10]
push edi
push esi
call fcn.0045ab60
mov ecx, dword [ebp + 0x10]
push eax
call fcn.004724a0
test al, al
je 0x5f1e45
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
xor eax, eax
mov al, byte [ebx + 2]
push eax
push edi
push esi
push ecx
mov ecx, dword [ebp - 0x2c]
push edx
call fcn.004858a0
test al, al
jne 0x5f1e3f
mov al, byte [ebp + 0xc]
test al, al
je 0x5f1e45
mov ecx, dword [ebp - 0x2c]
push edi
push esi
call fcn.004857c0
test al, al
je 0x5f1e45
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], edi
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [ebx + 1]
inc eax
cmp eax, ecx
mov dword [ebp + 8], eax
jl 0x5f1dc0
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x38]
mov ecx, dword [edi + 0x78]
push 9
mov edx, dword [ecx]
call dword [edx + 0x13c]
mov edx, dword [ebx + 4]
mov ecx, dword [edi + 0x78]
push edx
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx]
push esi
push edx
mov edx, dword [ebp - 0x14]
push edx
call dword [eax + 0x1c8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc