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

Disassembly:
sub esp, 0x44
push ebx
push ebp
mov ebp, dword [esp + 0x54]
push esi
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x30]
push eax
push ebp
push esi
mov ebx, ecx
call fcn.006ebe10
mov ecx, dword [esp + 0x38]
sub ecx, dword [esp + 0x30]
je 0x5f5004
mov edx, dword [esp + 0x3c]
sub edx, dword [esp + 0x34]
je 0x5f5004
movzx eax, word [ebx + 0x28]
lea ecx, [eax + 0xff]
shr ecx, 8
dec ecx
cmp esi, ecx
jne 0x5f4c0a
and eax, 0xff
jne 0x5f4c06
mov eax, 0x100
mov esi, eax
jmp 0x5f4c0f
mov esi, 0x100
movzx eax, word [ebx + 0x2a]
lea edx, [eax + 0xff]
shr edx, 8
dec edx
cmp ebp, edx
jne 0x5f4c2a
and eax, 0xff
mov edx, eax
jne 0x5f4c2f
mov edx, 0x100
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5f4c50
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x18], ecx
jmp 0x5f4c60
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
push edi
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], edx
call fcn.00426cc0
mov edi, dword [esp + 0x6c]
test edi, edi
je 0x5f4e12
fild dword [esp + 0x14]
mov esi, dword [esp + 0x78]
fmul dword [edi]
fadd dword [esp + 0x60]
fstp dword [esi]
fild dword [esp + 0x18]
fmul dword [edi + 4]
fadd dword [esp + 0x64]
fstp dword [esi + 4]
fild dword [esp + 0x1c]
fmul dword [edi]
fadd dword [esp + 0x60]
fstp dword [esi + 8]
fild dword [esp + 0x20]
fmul dword [edi + 4]
fadd dword [esp + 0x64]
fstp dword [esi + 0xc]
mov ebp, dword [0x781e94]
mov al, byte [ebp + 0x1c6]
test al, al
jne 0x5f4d0f
fild dword [ebp + 0x30]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x48]
fstp dword [esp + 0x28]
push edx
fild dword [ebp + 0x34]
mov ecx, esi
fstp dword [esp + 0x30]
fild dword [ebp + 0x38]
fstp dword [esp + 0x34]
fild dword [ebp + 0x3c]
fstp dword [esp + 0x38]
call fcn.005f3360
mov ecx, eax
call fcn.005f3330
test al, al
je 0x5f4d0f
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x44
ret 0x24
cmp dword [ebp + 0xf4], 1
mov ecx, dword [esp + 0x34]
jne 0x5f4dc4
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
sub eax, ecx
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
mov eax, dword [esp + 0x38]
sub edx, eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x1c]
fst dword [esi + 0x10]
fild dword [esp + 0x78]
sub edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x78], edx
fst dword [esp + 0x6c]
sub ecx, eax
fstp dword [esi + 0x14]
fild dword [esp + 0x78]
mov dword [esp + 0x78], ecx
fst dword [esp + 0x68]
fstp dword [esi + 0x18]
fild dword [esp + 0x78]
fst dword [esp + 0x78]
fstp dword [esi + 0x1c]
mov eax, dword [edi]
cmp eax, 0x3f800000
je 0x5f4d95
fadd dword [0x700490]
fstp dword [esi + 0x10]
fld dword [esp + 0x68]
fsub dword [0x700490]
fstp dword [esi + 0x18]
jmp 0x5f4d97
fstp st(0)
cmp dword [edi + 4], 0x3f800000
mov ebp, dword [esp + 0x5c]
je 0x5f4efd
fld dword [esp + 0x6c]
fadd dword [0x700490]
fstp dword [esi + 0x14]
fld dword [esp + 0x78]
fsub dword [0x700490]
jmp 0x5f4efa
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
sub edx, ecx
mov dword [esp + 0x78], edx
fild dword [esp + 0x78]
mov edx, dword [esp + 0x18]
sub edx, eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x1c]
fstp dword [esi + 0x10]
fild dword [esp + 0x78]
sub edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x78], edx
fstp dword [esi + 0x14]
sub ecx, eax
fild dword [esp + 0x78]
mov dword [esp + 0x78], ecx
fstp dword [esi + 0x18]
fild dword [esp + 0x78]
jmp 0x5f4efa
fld dword [esp + 0x60]
call fcn.0065ea1c
fld dword [esp + 0x64]
mov edx, dword [esp + 0x14]
mov esi, eax
lea eax, [esi + edx]
mov dword [esp + 0x24], eax
call fcn.0065ea1c
mov ecx, dword [esp + 0x18]
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
add eax, edx
add esi, ecx
mov dword [esp + 0x30], eax
mov eax, dword [0x781e94]
mov cl, byte [eax + 0x1c6]
test cl, cl
mov dword [esp + 0x2c], esi
jne 0x5f4e72
mov ecx, dword [0x77ff08]
add ecx, 0x30
push ecx
lea ecx, [esp + 0x28]
call fcn.00426cc0
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x24], edx
jge 0x5f4d00
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x28], eax
jge 0x5f4d00
mov esi, dword [esp + 0x78]
fild dword [esp + 0x24]
fld st(0)
fstp dword [esi]
fild dword [esp + 0x28]
fst dword [esi + 4]
fild dword [esp + 0x2c]
fst dword [esp + 0x6c]
fstp dword [esi + 8]
fild dword [esp + 0x30]
fst dword [esp + 0x10]
fstp dword [esi + 0xc]
fild dword [esp + 0x34]
fstp dword [esp + 0x78]
fxch st(1)
fsub dword [esp + 0x60]
fsub dword [esp + 0x78]
fstp dword [esi + 0x10]
fild dword [esp + 0x38]
fstp dword [esp + 0x68]
fsub dword [esp + 0x64]
fsub dword [esp + 0x68]
fstp dword [esi + 0x14]
fld dword [esp + 0x6c]
fsub dword [esp + 0x60]
fsub dword [esp + 0x78]
fstp dword [esi + 0x18]
fld dword [esp + 0x10]
fsub dword [esp + 0x64]
fsub dword [esp + 0x68]
fstp dword [esi + 0x1c]
mov ecx, ebx
call fcn.005f36c0
movzx ecx, word [ebx + 0x28]
mov edi, dword [esp + 0x58]
mov edx, dword [ebx + 0x30]
add ecx, 0xff
shr ecx, 8
imul ecx, ebp
add ecx, edi
cmp dword [edx + ecx*4], 0
jne 0x5f4f3c
push ebp
push edi
mov ecx, ebx
call fcn.005f47d0
test al, al
jne 0x5f4f3c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret 0x24
movzx eax, word [ebx + 0x28]
mov ecx, dword [ebx + 0x30]
add eax, 0xff
shr eax, 8
imul eax, ebp
add eax, edi
mov edi, dword [ecx + eax*4]
mov ecx, ebx
call fcn.006ebbf0
mov ecx, dword [eax + 0x58]
push edi
call fcn.005f1a40
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], edx
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + 4]
mov ecx, dword [edi + 0xc]
fild dword [eax + 8]
fild dword [eax + 0xc]
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
mov edx, dword [edi + 0x10]
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x78]
fld dword [0x700490]
fdiv st(2)
fstp dword [esp + 0x68]
fld dword [esp + 0x78]
fadd dword [esi + 0x10]
fmul dword [esp + 0x68]
fstp dword [esi + 0x10]
fild dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [0x700490]
fdiv st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x6c]
fadd dword [esi + 0x14]
fmul st(1)
fstp dword [esi + 0x14]
fld dword [esp + 0x78]
fadd dword [esi + 0x18]
fmul dword [esp + 0x68]
fstp dword [esi + 0x18]
fld dword [esp + 0x6c]
fadd dword [esi + 0x1c]
fmul st(1)
fstp dword [esi + 0x1c]
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 4]
fstp st(0)
pop edi
mov dword [esi + 0x28], eax
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x44
ret 0x24
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x44
ret 0x24