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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, dword [0x103390c8]
sub esp, 0x34
mov eax, dword [eax + 0x10]
push ebx
mov ebx, ecx
push esi
cmp byte [eax + 7], 0
push edi
mov eax, dword [ebx + 0x2c]
je 0x101c551b
cmp eax, dword [ebx + 0x30]
je 0x101c5523
mov eax, dword [0x103390cc]
mov dword [esp + 0x28], eax
mov eax, dword [0x103390d4]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
test eax, eax
je 0x101c5523
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
cmp byte [eax], 0
je 0x101c5523
mov eax, dword [0x103390c8]
mov edi, dword [ebx + 0x2c]
mov eax, dword [eax + 0x10]
add eax, 0x58
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x3c], eax
cmp edi, eax
je 0x101c5518
lea esi, [edi + 0x14]
nop word [eax + eax]
movss xmm0, dword [edi]
sub esp, 8
subss xmm0, dword [esi - 8]
movss xmm2, dword [esi - 0x10]
subss xmm2, dword [esi - 4]
movss xmm3, dword [esi - 0xc]
subss xmm3, dword [esi]
movaps xmm1, xmm0
movss dword [esp + 0x34], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
movss dword [esp + 0x38], xmm2
mulss xmm0, xmm2
movss dword [esp + 0x3c], xmm3
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100ef450
fstp dword [esp + 0x30]
movss xmm3, dword [esp + 0x30]
add esp, 8
xorps xmm1, xmm1
ucomiss xmm3, xmm1
lahf
test ah, 0x44
jnp 0x101c53b4
movss xmm0, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x30]
movss xmm2, dword [esp + 0x34]
divss xmm0, xmm3
divss xmm1, xmm3
divss xmm2, xmm3
jmp 0x101c53bf
movss xmm2, dword [0x102dd87c]
xorps xmm0, xmm0
mov eax, dword [ebx + 0x4c]
movss xmm3, dword [0x102dda18]
mulss xmm0, xmm3
mov dword [eax + 0x40], 0x40800000
mov eax, dword [ebx + 0x4c]
addss xmm0, dword [edi]
mulss xmm1, xmm3
mulss xmm2, xmm3
addss xmm1, dword [esi - 0x10]
addss xmm2, dword [esi - 0xc]
movss dword [eax + 0x14], xmm0
movss dword [eax + 0x18], xmm1
movss xmm1, dword [0x102ddb24]
movss dword [eax + 0x1c], xmm2
mov ecx, dword [ebx + 0x4c]
mov eax, dword [esi - 8]
mov dword [ecx + 0x20], eax
mov eax, dword [esi - 4]
mov dword [ecx + 0x24], eax
mov eax, dword [esi]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [ebx + 0x4c]
movss xmm0, dword [ecx]
mulss xmm0, xmm1
movss dword [eax + 0x64], xmm0
movss xmm0, dword [ecx + 4]
mov eax, dword [ebx + 0x4c]
mulss xmm0, xmm1
movss dword [eax + 0x68], xmm0
movss xmm0, dword [ecx + 8]
mov eax, dword [ebx + 0x4c]
mulss xmm0, xmm1
movss dword [eax + 0x6c], xmm0
movss xmm0, dword [ecx + 0xc]
mov eax, dword [ebx + 0x4c]
mulss xmm0, xmm1
movss dword [eax + 0x54], xmm0
mov eax, dword [ebx + 0x4c]
mov dword [eax + 0x78], 0
mov eax, dword [0x103390c8]
mov ecx, dword [eax + 0x10]
cmp byte [ecx + 0xb8], 0
je 0x101c5487
mov eax, dword [ebx + 0x4c]
or dword [eax + 0x78], 0x40
mov eax, dword [0x103390c8]
mov ecx, dword [eax + 0x10]
cmp byte [ecx + 0xb9], 0
je 0x101c54a2
mov eax, dword [ebx + 0x4c]
or dword [eax + 0x78], 0x80
mov eax, dword [0x103390c8]
mov ecx, dword [eax + 0x10]
cmp byte [ecx + 0xba], 0
je 0x101c54ba
mov eax, dword [ebx + 0x4c]
or dword [eax + 0x78], 4
mov eax, dword [0x103390c8]
mov ecx, dword [eax + 0x10]
cmp byte [ecx + 0xbb], 0
je 0x101c54d2
mov eax, dword [ebx + 0x4c]
or dword [eax + 0x78], 8
mov eax, dword [0x103390c8]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0xbc], 0
je 0x101c54e5
mov eax, dword [ebx + 0x4c]
or dword [eax + 0x78], 0x20
mov eax, dword [0x103390d4]
push dword [ebx + 0x4c]
mov ecx, dword [eax + 0x68]
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
je 0x101c5508
mov ecx, dword [0x103390d4]
push eax
mov ecx, dword [ecx + 0x68]
mov edx, dword [ecx]
call dword [edx + 0x10]
add edi, 0x1c
add esi, 0x1c
cmp edi, dword [esp + 0x3c]
jne 0x101c5320
mov eax, dword [ebx + 0x2c]
cmp eax, dword [ebx + 0x30]
je 0x101c5523
mov dword [ebx + 0x30], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret