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

Disassembly:
sub esp, 0x6c
push esi
push edi
mov edi, dword [esp + 0x78]
mov esi, ecx
mov ecx, edi
call fcn.00504b60
test eax, eax
je 0x50d5e0
pop edi
xor eax, eax
pop esi
add esp, 0x6c
ret 4
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.0050abe0
fld dword [edi + 0x460]
fsub dword [esp + 0x5c]
fstp dword [esp + 0x38]
fld dword [edi + 0x464]
fsub dword [esp + 0x60]
fstp dword [esp + 0x3c]
fld dword [edi + 0x468]
fsub dword [esp + 0x64]
fstp dword [esp + 0x40]
fld dword [esp + 0x3c]
fld dword [esp + 0x38]
fld dword [esp + 0x40]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fcomp dword [0x68a28c]
fnstsw ax
test ah, 0x41
je 0x50d5d6
push ebx
mov ecx, esi
call fcn.0050ad80
test eax, eax
jne 0x50d670
mov ecx, esi
call fcn.00504b50
test eax, eax
jne 0x50d670
lea ebx, [esi + 0x2d8]
mov dword [esp + 0xc], ebx
add edi, 0x2d8
jmp 0x50d682
lea ecx, [esi + 0x2f4]
mov dword [esp + 0xc], ecx
add edi, 0x2f4
mov ebx, ecx
push ebp
lea edx, [esp + 0x70]
push edx
lea ecx, [esi + 0x378]
mov dword [esp + 0x84], edi
call fcn.00520f80
mov eax, dword [ebx + 0x14]
mov ebp, dword [eax]
mov ecx, dword [ebx]
mov edx, edi
mov eax, dword [edx + 0x14]
mov ebx, dword [edx]
mov edi, dword [eax]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x14]
mov eax, dword [eax]
test ecx, ecx
je 0x50d6c7
cmp ecx, eax
je 0x50d6d0
call fcn.00615e0c
mov ecx, dword [esp + 0x24]
cmp ebp, esi
je 0x50d9e9
jmp 0x50d6e0
mov eax, dword [esp + 0x80]
mov esi, dword [eax + 0x14]
mov eax, dword [eax]
test ebx, ebx
je 0x50d6f4
cmp ebx, eax
je 0x50d6fd
call fcn.00615e0c
mov ecx, dword [esp + 0x24]
cmp edi, esi
je 0x50d926
test ecx, ecx
jne 0x50d914
call fcn.00615e0c
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x50d71e
call fcn.00615e0c
test ebx, ebx
jne 0x50d91b
call fcn.00615e0c
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x50d737
call fcn.00615e0c
mov ecx, dword [ebp + 0x28]
sub ecx, dword [ebp + 0x24]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], 0
je 0x50d8f4
mov dword [esp + 0x20], 0
cmp dword [esp + 0x1c], eax
jb 0x50d771
call fcn.00615e0c
mov esi, dword [ebp + 0x24]
add esi, dword [esp + 0x20]
mov dword [esp + 0x18], 1
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [esi]
mov dword [esp + 0x44], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x48], edx
mov edx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
mov dword [esi + 0x14], edx
fild dword [esp + 0x18]
xor ebx, ebx
fdiv qword [0x676288]
fstp dword [esp + 0x14]
fld dword [esp + 0x70]
fld dword [esp + 0x14]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x74]
fmul st(1)
fstp dword [esp + 0x50]
fmul dword [esp + 0x78]
fstp dword [esp + 0x54]
fld dword [esp + 0x34]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
fld dword [esp + 0x38]
mov dword [esi], eax
fadd dword [esp + 0x50]
mov eax, 0x92492493
fstp dword [esp + 0x5c]
mov ecx, dword [esp + 0x5c]
fld dword [esp + 0x3c]
mov dword [esi + 4], ecx
fadd dword [esp + 0x54]
fstp dword [esp + 0x60]
mov edx, dword [esp + 0x60]
mov dword [esi + 8], edx
mov ecx, dword [edi + 0x28]
sub ecx, dword [edi + 0x24]
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x50d886
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x50d846
call fcn.00615e0c
mov ebp, dword [edi + 0x24]
add ebp, dword [esp + 0x14]
push ebp
push esi
call fcn.00514cb0
add esp, 8
test al, al
jne 0x50d955
mov ecx, dword [edi + 0x28]
sub ecx, dword [edi + 0x24]
add dword [esp + 0x14], 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jb 0x50d846
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 0x32
mov dword [esp + 0x18], eax
jle 0x50d7b2
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esi], eax
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x14], edx
mov edx, dword [esp + 0x3c]
add dword [esp + 0x20], 0x1c
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov ecx, dword [ebp + 0x28]
sub ecx, dword [ebp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [esp + 0x1c], esi
cmp esi, eax
jb 0x50d766
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x50d922
call fcn.00615e0c
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x50d909
call fcn.00615e0c
mov edi, dword [edi]
mov ecx, dword [esp + 0x24]
jmp 0x50d6e0
mov eax, dword [ecx]
jmp 0x50d714
mov eax, dword [ebx]
jmp 0x50d72d
mov eax, dword [ebx]
jmp 0x50d8ff
test ecx, ecx
jne 0x50d951
call fcn.00615e0c
mov ecx, dword [esp + 0x24]
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x50d943
call fcn.00615e0c
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp]
mov dword [esp + 0x28], eax
mov ebp, eax
jmp 0x50d6b6
mov eax, dword [ecx]
jmp 0x50d935
fld dword [esi + 4]
fsub dword [ebp + 4]
fld dword [esi]
fsub dword [ebp]
fld dword [esi + 0x10]
fsub dword [ebp + 4]
fld dword [esi + 0xc]
fsub dword [ebp]
fld st(2)
fmulp st(3)
fld st(3)
fmulp st(4)
fxch st(2)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fcompp
fnstsw ax
test ah, 1
jne 0x50d9b4
mov eax, 1
jmp 0x50d9b6
xor eax, eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x48]
mov dword [esi + 0x10], edx
mov edx, dword [esp + 0x34]
pop ebp
mov dword [esi], edx
mov edx, dword [esp + 0x38]
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x34]
pop ebx
mov dword [esi + 4], ecx
pop edi
mov dword [esi + 8], edx
pop esi
add esp, 0x6c
ret 4
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x6c
ret 4