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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x94
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
movss xmm1, dword [ebp + 0x1c]
movss xmm3, dword [ebp + 0x20]
mov dword [esp], eax
mov esi, dword [ebp + 0x10]
mov dword [esp + 4], ebx
unpcklps xmm1, xmm3
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ebx
movlps qword [esp + 0x2c], xmm1
call fcn.6c974ff0
test eax, eax
je 0x6c975c28
mov ebx, eax
call fcn.6c973540
mov edx, dword [eax + 0x74]
test edx, edx
jne 0x6c975a68
mov ecx, dword [eax + 0x78]
test ecx, ecx
jne 0x6c975973
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x38]
cmp eax, 0xffffffff
je 0x6c975a59
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x44], eax
test eax, eax
jle 0x6c975b50
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x40], eax
xor eax, eax
jmp 0x6c97599d
add eax, 1
cmp dword [esp + 0x44], eax
je 0x6c975b50
mov edx, dword [esp + 0x40]
mov edx, dword [edx + eax*4]
mov ebx, dword [edx + 4]
mov ecx, dword [edx]
xor ebx, edi
xor ecx, esi
or ecx, ebx
jne 0x6c975990
cmp dword [esp + 0x44], eax
jle 0x6c975b50
fld dword [ebp + 0x1c]
fsub dword [edx + 8]
mov ebx, 0
fld dword [ebp + 0x20]
movlps xmm2, qword [esp + 0x2c]
fsub dword [edx + 0xc]
fxch st(1)
fst dword [esp + 0x44]
fxch st(1)
movss xmm0, dword [esp + 0x44]
fst dword [esp + 0x44]
movss xmm4, dword [esp + 0x44]
fldz
fucomi st(2)
fstp st(2)
unpcklps xmm0, xmm4
setnp cl
movlhps xmm2, xmm0
cmovne ecx, ebx
fucompi st(1)
movaps xmmword [esp + 0x44], xmm2
setnp al
cmovne eax, ebx
test cl, al
je 0x6c975a28
fld dword [ebp + 0x24]
fsub dword [edx + 0x10]
fucompi st(1)
fstp st(0)
setnp al
cmovne eax, ebx
test al, al
jne 0x6c975a59
jmp 0x6c975a2a
fstp st(0)
movlps xmm5, qword [esp + 0x2c]
movss xmm6, dword [ebp + 0x24]
movlps qword [edx + 8], xmm5
movss dword [edx + 0x10], xmm6
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x702
call fcn.6c96fda0
cmp al, 1
je 0x6c975ba8
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x3c]
and edx, dword [esp + 0x38]
cmp edx, 0xffffffff
je 0x6c975c18
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x6c975973
cmp dword [0x6cb1c430], 1
jne 0x6c975973
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
xor edx, dword [0x6cb1c424]
xor eax, dword [0x6cb1c420]
or eax, edx
jne 0x6c975973
mov edx, dword [0x6cb1c42c]
mov eax, dword [0x6cb1c428]
xor edx, edi
xor eax, esi
or eax, edx
jne 0x6c975973
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
xor eax, eax
fmul dword [ebp + 0x20]
fstp dword [esp + 0x34]
fild dword [esp + 0x44]
fmul dword [ebp + 0x1c]
cvttss2si ecx, dword [esp + 0x34]
fstp dword [esp + 0x34]
cvttss2si edx, dword [esp + 0x34]
test edx, edx
cmovs edx, eax
mov eax, dword [esp + 0x44]
sub eax, 1
cmp dword [esp + 0x44], edx
cmovle edx, eax
xor eax, eax
test ecx, ecx
cmovns eax, ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
sub ecx, 1
cmp dword [esp + 0x40], eax
cmovle eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [esp], eax
call fcn.6c973c50
jmp 0x6c975973
mov eax, dword [ebp + 0x18]
movss xmm7, dword [ebp + 0x24]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
movss xmm5, dword [ebp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
movss dword [esp + 0x20], xmm7
movss xmm7, dword [ebp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], 1
mov dword [esp + 4], eax
movss dword [esp + 0x1c], xmm7
movss dword [esp + 0x18], xmm5
call fcn.6c975370
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x3c]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x64], esi
movaps xmm6, xmmword [esp + 0x44]
mov dword [esp + 0x54], 0x702
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x38]
movups xmmword [esp + 0x6c], xmm6
movss xmm6, dword [ebp + 0x24]
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x68], edi
movss dword [esp + 0x7c], xmm6
test edx, edx
je 0x6c975bf1
mov eax, dword [ebp + 0x18]
mov dword [esp], eax
call fcn.6ca1fb20
mov dword [esp + 0x80], eax
lea eax, [esp + 0x54]
mov dword [esp], eax
call fcn.6c96f2b0
test eax, eax
setg al
lea esp, [ebp - 0xc]
pop ebx
movzx eax, al
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax + 0x78]
test eax, eax
je 0x6c975a59
jmp 0x6c975973
mov eax, 0xffffffff
jmp 0x6c975a5b