Function at 0x50b480
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.00502780
test eax, eax
je 0x50b4a0
pop edi
xor eax, eax
pop esi
add esp, 0x6c
ret 4
lea eax, [esp + 0x5c]
push eax
mov ecx, esi
call fcn.00508a90
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 [0x687774]
fnstsw ax
test ah, 0x41
je 0x50b496
push ebx
mov ecx, esi
call fcn.00508c30
test eax, eax
jne 0x50b530
mov ecx, esi
call fcn.00502770
test eax, eax
jne 0x50b530
lea ebx, [esi + 0x2d8]
mov dword [esp + 0xc], ebx
add edi, 0x2d8
jmp 0x50b542
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.0051f490
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 0x50b587
cmp ecx, eax
je 0x50b590
call fcn.006121a6
mov ecx, dword [esp + 0x24]
cmp ebp, esi
je 0x50b8a9
jmp 0x50b5a0
mov eax, dword [esp + 0x80]
mov esi, dword [eax + 0x14]
mov eax, dword [eax]
test ebx, ebx
je 0x50b5b4
cmp ebx, eax
je 0x50b5bd
call fcn.006121a6
mov ecx, dword [esp + 0x24]
cmp edi, esi
je 0x50b7e6
test ecx, ecx
jne 0x50b7d4
call fcn.006121a6
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x50b5de
call fcn.006121a6
test ebx, ebx
jne 0x50b7db
call fcn.006121a6
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x50b5f7
call fcn.006121a6
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 0x50b7b4
mov dword [esp + 0x20], 0
cmp dword [esp + 0x1c], eax
jb 0x50b631
call fcn.006121a6
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 [0x674268]
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 0x50b746
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x50b706
call fcn.006121a6
mov ebp, dword [edi + 0x24]
add ebp, dword [esp + 0x14]
push ebp
push esi
call fcn.00512e00
add esp, 8
test al, al
jne 0x50b815
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 0x50b706
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 0x32
mov dword [esp + 0x18], eax
jle 0x50b672
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 0x50b626
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x50b7e2
call fcn.006121a6
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x50b7c9
call fcn.006121a6
mov edi, dword [edi]
mov ecx, dword [esp + 0x24]
jmp 0x50b5a0
mov eax, dword [ecx]
jmp 0x50b5d4
mov eax, dword [ebx]
jmp 0x50b5ed
mov eax, dword [ebx]
jmp 0x50b7bf
test ecx, ecx
jne 0x50b811
call fcn.006121a6
mov ecx, dword [esp + 0x24]
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x50b803
call fcn.006121a6
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp]
mov dword [esp + 0x28], eax
mov ebp, eax
jmp 0x50b576
mov eax, dword [ecx]
jmp 0x50b7f5
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 0x50b874
mov eax, 1
jmp 0x50b876
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