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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov edx, ecx
push esi
push edi
cmp word [edx], 0
je case.0x42b936.0
movzx eax, word [edx + 0x34]
movss xmm6, dword [0x4f3cd0]
test ax, ax
je 0x42b6e6
movss xmm5, dword [edx + 0x2c]
movaps xmm0, xmm6
movss xmm1, dword [edx + 0x24]
subss xmm0, xmm5
movss xmm2, dword [edx + 0x28]
dec eax
movss xmm3, dword [edx + 0x1c]
movss xmm4, dword [edx + 0x20]
mulss xmm1, xmm5
movzx eax, ax
mulss xmm2, xmm5
mov word [edx + 0x34], ax
addss xmm5, dword [edx + 0x30]
mulss xmm3, xmm0
mulss xmm4, xmm0
comiss xmm5, xmm6
addss xmm3, xmm1
movss dword [edx + 0x2c], xmm5
addss xmm4, xmm2
movss dword [edx + 0x14], xmm3
movss dword [edx + 0x18], xmm4
jae 0x42b6d3
test ax, ax
jne 0x42b6e6
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], ecx
mov dword [edx + 0x2c], 0x3f800000
movzx eax, word [edx + 0x58]
test ax, ax
je 0x42b760
movss xmm5, dword [edx + 0x50]
movaps xmm0, xmm6
movss xmm1, dword [edx + 0x48]
subss xmm0, xmm5
movss xmm2, dword [edx + 0x4c]
dec eax
movss xmm3, dword [edx + 0x40]
movss xmm4, dword [edx + 0x44]
mulss xmm1, xmm5
movzx eax, ax
mulss xmm2, xmm5
mov word [edx + 0x58], ax
addss xmm5, dword [edx + 0x54]
mulss xmm3, xmm0
mulss xmm4, xmm0
comiss xmm5, xmm6
addss xmm3, xmm1
movss dword [edx + 0x50], xmm5
addss xmm4, xmm2
movss dword [edx + 0x38], xmm3
movss dword [edx + 0x3c], xmm4
jae 0x42b74d
test ax, ax
jne 0x42b760
mov eax, dword [edx + 0x48]
mov ecx, dword [edx + 0x4c]
mov dword [edx + 0x38], eax
mov dword [edx + 0x3c], ecx
mov dword [edx + 0x50], 0x3f800000
movzx eax, word [edx + 0x94]
mov ecx, eax
test ax, ax
je 0x42b829
movss xmm5, dword [edx + 0x8c]
lea eax, [ecx - 1]
movaps xmm4, xmm6
movzx eax, ax
subss xmm4, xmm5
movaps xmm0, xmm5
mulss xmm0, dword [edx + 0x80]
movaps xmm3, xmm4
movaps xmm2, xmm4
mulss xmm3, dword [edx + 0x70]
movaps xmm1, xmm4
mulss xmm2, dword [edx + 0x74]
mulss xmm4, dword [edx + 0x6c]
addss xmm3, xmm0
mulss xmm1, dword [edx + 0x78]
movaps xmm0, xmm5
mulss xmm0, dword [edx + 0x84]
addss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm5, dword [edx + 0x7c]
mulss xmm0, dword [edx + 0x88]
addss xmm4, xmm5
addss xmm1, xmm0
movss dword [edx + 0x5c], xmm4
movss dword [edx + 0x60], xmm3
movss dword [edx + 0x64], xmm2
movss dword [edx + 0x68], xmm1
movss xmm0, dword [edx + 0x90]
addss xmm0, dword [edx + 0x8c]
mov word [edx + 0x94], ax
comiss xmm0, xmm6
movss dword [edx + 0x8c], xmm0
jae 0x42b817
test ax, ax
jne 0x42b829
movups xmm0, xmmword [edx + 0x7c]
mov dword [edx + 0x8c], 0x3f800000
movups xmmword [edx + 0x5c], xmm0
movzx eax, word [edx + 0xd0]
mov ecx, eax
test ax, ax
je 0x42b913
movss xmm5, dword [edx + 0xc8]
lea eax, [ecx - 1]
movaps xmm4, xmm6
movzx eax, ax
subss xmm4, xmm5
movaps xmm0, xmm5
mulss xmm0, dword [edx + 0xbc]
movaps xmm3, xmm4
movaps xmm2, xmm4
mulss xmm3, dword [edx + 0xac]
movaps xmm1, xmm4
mulss xmm2, dword [edx + 0xb0]
mulss xmm4, dword [edx + 0xa8]
addss xmm3, xmm0
mulss xmm1, dword [edx + 0xb4]
movaps xmm0, xmm5
mulss xmm0, dword [edx + 0xc0]
addss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm5, dword [edx + 0xb8]
mulss xmm0, dword [edx + 0xc4]
addss xmm4, xmm5
addss xmm1, xmm0
movss dword [edx + 0x98], xmm4
movss dword [edx + 0x9c], xmm3
movss dword [edx + 0xa0], xmm2
movss dword [edx + 0xa4], xmm1
movss xmm0, dword [edx + 0xcc]
addss xmm0, dword [edx + 0xc8]
mov word [edx + 0xd0], ax
comiss xmm0, xmm6
movss dword [edx + 0xc8], xmm0
jae 0x42b8fb
test ax, ax
jne 0x42b913
movups xmm0, xmmword [edx + 0xb8]
mov dword [edx + 0xc8], 0x3f800000
movups xmmword [edx + 0x98], xmm0
movss xmm0, dword [edx + 0xa4]
mulss xmm0, dword [0x4f3fa4]
cvttss2si eax, xmm0
movzx esi, ax
mov eax, dword [edx + 0xc]
cmp eax, 3
ja case.default.0x42b936
jmp dword [eax*4 + 0x42b9f8]
movzx eax, word [edx + 0x10]
cmp ax, si
jge 0x42b965
add eax, 6
movzx ecx, ax
mov word [edx + 0x10], cx
mov eax, ecx
cmp cx, si
jle 0x42b95d
mov word [edx + 0x10], si
mov eax, esi
movzx edi, ax
cmp di, si
jmp 0x42b9b3
mov edi, eax
jle 0x42b960
add eax, 0xfffffffa
movzx ecx, ax
mov word [edx + 0x10], cx
mov edi, ecx
cmp cx, si
jge 0x42b960
mov word [edx + 0x10], si
mov al, 1
mov dword [edx + 0xc], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movzx eax, word [edx + 0x10]
test ax, ax
jns 0x42b9c4
add eax, 6
movzx ecx, ax
mov word [edx + 0x10], cx
mov eax, ecx
test cx, cx
jle 0x42b9ad
xor eax, eax
mov word [edx + 0x10], ax
movzx esi, ax
test si, si
jne case.default.0x42b936
mov dword [edx + 0xc], 0
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, eax
test ax, ax
jle 0x42b9b0
add eax, 0xfffffffa
movzx ecx, ax
mov word [edx + 0x10], cx
mov esi, ecx
test cx, cx
jns 0x42b9b0
xor eax, eax
mov word [edx + 0x10], ax
mov dword [edx + 0xc], eax
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret