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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
movss xmm1, dword [ecx + 0x18]
subss xmm1, dword [edi + 0x1c]
movss xmm0, dword [ecx + 0x1c]
subss xmm0, dword [edi + 0x20]
movss xmm2, dword [ecx + 0x20]
subss xmm2, dword [edi + 0x24]
movaps xmmword [esp + 0x90], xmm0
mulss xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm1
mulss xmm1, xmm1
addss xmm1, xmm0
movaps xmmword [esp + 0xa0], xmm2
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm0, xmm1
sqrtss xmm7, xmm0
movss dword [ebx + 0x24], xmm7
movaps xmm5, xmm7
divss xmm5, dword [edi + 0x5c]
test al, 1
movss dword [esp + 0x30], xmm7
jne 0x100245ab
test al, 4
jne 0x10024f9f
test al, 8
jne 0x1002501b
test al, 0x10
jne 0x1002509b
test al, 0x20
jne 0x1002511b
jmp 0x10025246
mov eax, dword [esi]
mov ecx, dword [ebx]
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x50], ecx
cmp eax, 0x3e
jg 0x100245f6
cmp eax, 0xa
mov esi, dword [ebp + 0xc]
jle 0x10024623
cmp eax, 0xb
je 0x10024669
cmp eax, 0x33
je 0x1002467d
cmp eax, 0x3b
jne 0x100252f8
mov dword [esp + 0x24], 0x10039b64
jmp 0x1002468f
cmp eax, 0x106
mov esi, dword [ebp + 0xc]
jle 0x1002463b
cmp eax, 0x107
je 0x10024673
cmp eax, 0x60f
je 0x10024687
cmp eax, 0x63f
jne 0x100252f8
mov dword [esp + 0x24], 0x10039ba4
jmp 0x1002468f
cmp eax, 3
je 0x10024655
cmp eax, 4
jne 0x100252f8
mov dword [esp + 0x24], 0x10039b14
jmp 0x1002468f
cmp eax, 0x3f
je 0x1002465f
cmp eax, 0xff
jne 0x100252f8
mov dword [esp + 0x24], 0x10039b84
jmp 0x1002468f
mov dword [esp + 0x24], 0x10039b24
jmp 0x1002468f
mov dword [esp + 0x24], 0x10039b74
jmp 0x1002468f
mov dword [esp + 0x24], 0x10039b34
jmp 0x1002468f
mov dword [esp + 0x24], 0x10039b44
jmp 0x1002468f
mov dword [esp + 0x24], 0x10039b54
jmp 0x1002468f
mov dword [esp + 0x24], 0x10039b94
mov dword [esp + 0x1c], 0
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x100246c9
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, 1
cmp edx, 2
jb 0x100246bd
nop dword [eax]
ucomiss xmm5, dword [eax + ecx*8]
jb 0x100246bd
inc ecx
cmp edx, ecx
jne 0x100246b0
jmp 0x100246c1
cmp ecx, edx
jne 0x100246dc
movss xmm0, dword [eax + edx*8 - 4]
jmp 0x1002470e
movss xmm0, dword [0x10039920]
ucomiss xmm5, xmm0
jb 0x1002470e
divss xmm0, xmm5
jmp 0x1002470e
movss xmm0, dword [eax + ecx*8]
movaps xmm1, xmm0
subss xmm1, xmm5
subss xmm0, dword [eax + ecx*8 - 8]
divss xmm1, xmm0
movss xmm0, dword [0x10039920]
subss xmm0, xmm1
mulss xmm1, dword [eax + ecx*8 - 4]
mulss xmm0, dword [eax + ecx*8 + 4]
addss xmm0, xmm1
mov ecx, dword [edi + 0x4c]
test ecx, ecx
movss dword [esp + 0x20], xmm0
je 0x10024749
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, 1
cmp edx, 2
jb 0x1002473d
nop word [eax + eax]
ucomiss xmm5, dword [eax + ecx*8]
jb 0x1002473d
inc ecx
cmp edx, ecx
jne 0x10024730
jmp 0x10024741
cmp ecx, edx
jne 0x10024762
movss xmm0, dword [eax + edx*8 - 4]
jmp 0x10024794
movss xmm0, dword [0x10039920]
movss dword [esp + 0x34], xmm0
ucomiss xmm5, xmm0
jb 0x1002479a
divss xmm0, xmm5
jmp 0x10024794
movss xmm0, dword [eax + ecx*8]
movaps xmm1, xmm0
subss xmm1, xmm5
subss xmm0, dword [eax + ecx*8 - 8]
divss xmm1, xmm0
movss xmm0, dword [0x10039920]
subss xmm0, xmm1
mulss xmm1, dword [eax + ecx*8 - 4]
mulss xmm0, dword [eax + ecx*8 + 4]
addss xmm0, xmm1
movss dword [esp + 0x34], xmm0
cmp dword [esi + 0x30], 0
movss dword [esp + 0x40], xmm5
je 0x10024870
movss xmm0, dword [esi + 4]
mulss xmm0, dword [esp + 0x90]
movss xmm1, dword [esi]
mulss xmm1, dword [esp + 0xb0]
addss xmm1, xmm0
movss xmm0, dword [esi + 8]
mulss xmm0, dword [esp + 0xa0]
addss xmm0, xmm1
divss xmm0, xmm7
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_acos]
fstp dword [esp + 0x8c]
movss xmm2, dword [esp + 0x8c]
mov eax, dword [esi + 0x30]
movss xmm4, dword [eax]
movss xmm3, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss xmm0, dword [eax + 0xc]
xorps xmm5, xmm5
ucomiss xmm4, xmm5
jne 0x10024825
jp 0x10024825
ucomiss xmm3, xmm5
jne 0x10024825
jnp 0x1002484e
ucomiss xmm4, dword [0x10039940]
jne 0x10024af2
jp 0x10024af2
ucomiss xmm3, dword [0x10039940]
jne 0x10024af2
jp 0x10024af2
movaps xmm0, xmm1
movss xmm7, dword [esp + 0x30]
movss xmm5, dword [esp + 0x20]
mulss xmm5, xmm0
movss xmm1, dword [esp + 0x34]
mulss xmm1, xmm0
movss dword [esp + 0x34], xmm1
jmp 0x10024876
movss xmm5, dword [esp + 0x20]
cmp dword [edi], 0
movss dword [esp + 0x20], xmm5
je 0x10024943
cmp dword [edi + 0x3c], 1
jne 0x10024943
movss xmm0, dword [edi + 8]
mulss xmm0, dword [esp + 0x90]
movss xmm1, dword [edi + 4]
mulss xmm1, dword [esp + 0xb0]
addss xmm1, xmm0
movss xmm0, dword [edi + 0xc]
mulss xmm0, dword [esp + 0xa0]
addss xmm0, xmm1
divss xmm0, xmm7
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_acos]
fstp dword [esp + 0x88]
movss xmm2, dword [esp + 0x88]
mov eax, dword [edi]
movss xmm4, dword [eax]
movss xmm3, dword [eax + 4]
movss xmm1, dword [eax + 8]
movss xmm0, dword [eax + 0xc]
xorps xmm5, xmm5
ucomiss xmm4, xmm5
jne 0x1002490a
jp 0x1002490a
ucomiss xmm3, xmm5
jne 0x1002490a
jnp 0x10024933
ucomiss xmm4, dword [0x10039940]
jne 0x1002530b
jp 0x1002530b
ucomiss xmm3, dword [0x10039940]
jne 0x1002530b
jp 0x1002530b
movaps xmm0, xmm1
movss xmm5, dword [esp + 0x20]
mulss xmm5, xmm0
movss dword [esp + 0x20], xmm5
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
imul ecx, esi
shl ecx, 2
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
call sym._memset
cmp esi, 1
jne 0x100249ca
mov eax, dword [edi + 0x3c]
test eax, eax
movss xmm7, dword [esp + 0x30]
movss xmm5, dword [esp + 0x40]
movss xmm2, dword [esp + 0x20]
je 0x10024f91
xor ecx, ecx
movss xmm0, dword [0x10039940]
jmp 0x100249b5
mov eax, dword [esp + 0x3c]
movss dword [eax + ecx*4], xmm2
mov eax, dword [edi + 0x3c]
inc ecx
cmp ecx, eax
jae 0x10024f91
mov edx, dword [edi + 0x44]
test edx, edx
je 0x100249a0
movss xmm1, dword [edx + ecx*4]
ucomiss xmm1, xmm0
jne 0x100249a0
jp 0x100249a0
jmp 0x100249ac
cmp byte [esp + 0x1c], 0
movss xmm7, dword [esp + 0x30]
movss xmm5, dword [esp + 0x40]
movss xmm6, dword [esp + 0x20]
jne 0x10024f91
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [esp + 0xd0], eax
movsd xmm0, qword [ecx]
movsd qword [esp + 0xc8], xmm0
movss xmm1, dword [ecx]
movss xmm0, dword [ecx + 0xc]
movsd xmm4, qword [ecx + 0x10]
movsd xmm2, qword [ecx + 4]
movaps xmm3, xmm1
shufps xmm3, xmm2, 0xd4
shufps xmm3, xmm2, 0x52
mulps xmm3, xmm4
mulss xmm1, xmm4
movss xmm4, xmm0
shufps xmm4, xmm4, 0xe1
mulps xmm4, xmm2
subps xmm3, xmm4
mulss xmm0, xmm2
subss xmm0, xmm1
movlps qword [esp + 0xd4], xmm3
movss dword [esp + 0xdc], xmm0
mov eax, dword [ecx + 0x14]
mov dword [esp + 0xe8], eax
movsd xmm0, qword [ecx + 0xc]
movsd qword [esp + 0xe0], xmm0
mov eax, dword [edi + 0x3c]
cmp eax, 1
jne 0x10024b69
movaps xmm1, xmmword [0x10039930]
movaps xmm3, xmmword [esp + 0xa0]
xorps xmm3, xmm1
movaps xmm2, xmmword [esp + 0x90]
xorps xmm2, xmm1
xorps xmm1, xmmword [esp + 0xb0]
movss xmm0, dword [edi + 0x34]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
movss xmm4, dword [esp + 0x34]
movss dword [esp + 8], xmm4
movss dword [esp + 4], xmm6
movss dword [esp], xmm3
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
lea edx, [esp + 0xc8]
mov ecx, dword [esp + 0x24]
call dbg.ComputeEmitterChannelCoefficients
movss xmm5, dword [esp + 0x40]
movss xmm7, dword [esp + 0x30]
jmp 0x10024f91
movss xmm7, dword [esp + 0x30]
xorps xmm5, xmm5
cvtss2sd xmm5, xmm7
movsd xmm6, qword [0x10039948]
ucomisd xmm6, xmm5
jae 0x1002537c
xorps xmm2, xmmword [0x10039930]
mulss xmm4, dword [0x10039944]
ucomiss xmm4, xmm2
movss xmm5, dword [esp + 0x20]
jae 0x10025374
mulss xmm3, dword [0x10039944]
ucomiss xmm3, xmm2
jb 0x1002485a
subss xmm2, xmm4
subss xmm3, xmm4
divss xmm2, xmm3
movss xmm3, dword [0x10039920]
subss xmm3, xmm2
mulss xmm0, xmm2
mulss xmm3, xmm1
addss xmm0, xmm3
jmp 0x1002485a
test eax, eax
je 0x10024f91
movss xmm6, dword [edi + 0x14]
movss dword [esp + 0x50], xmm6
movss xmm2, dword [edi + 0xc]
movss xmm4, dword [edi + 0x18]
movss xmm1, dword [edi + 4]
movss xmm3, dword [edi + 8]
mulss xmm6, xmm2
movss xmm0, dword [edi + 0x10]
mulss xmm2, xmm0
mulss xmm0, xmm3
mulss xmm3, xmm4
subss xmm6, xmm3
movss dword [esp + 0x64], xmm6
mulss xmm4, xmm1
subss xmm4, xmm2
movss dword [esp + 0x68], xmm4
mulss xmm1, dword [esp + 0x50]
subss xmm0, xmm1
movss dword [esp + 0x60], xmm0
xor esi, esi
movss xmm1, dword [0x10039940]
jmp 0x10024c06
mov ecx, dword [esp + 0x24]
imul eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + eax*4]
movss xmm0, dword [esp + 0x34]
movss dword [eax + esi*4], xmm0
inc esi
mov eax, dword [edi + 0x3c]
cmp esi, eax
jae 0x10024f91
mov ecx, dword [edi + 0x44]
movss xmm0, dword [ecx + esi*4]
ucomiss xmm0, xmm1
jne 0x10024c15
jnp 0x10024be0
movss xmm1, dword [edi + 4]
mulss xmm1, dword [edi + 0x40]
movss dword [esp + 0x1c], xmm1
movaps xmmword [esp + 0x50], xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
fstp dword [esp + 0x84]
movss xmm0, dword [esp + 0x1c]
mulss xmm0, dword [esp + 0x84]
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmmword [esp + 0x50]
andps xmm0, xmmword [0x10039950]
movaps xmmword [esp + 0x50], xmm0
ucomiss xmm0, dword [0x10039960]
jae 0x10024e94
movss xmm0, dword [edi + 0x40]
mulss xmm0, dword [esp + 0x64]
movss dword [esp + 0x4c], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
movaps xmm0, xmmword [esp + 0x50]
ucomiss xmm0, dword [0x10039960]
fstp dword [esp + 0x80]
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [esp + 0x80]
movss dword [esp + 0x4c], xmm0
jae 0x10024ebf
movss xmm0, dword [edi + 8]
mulss xmm0, dword [edi + 0x40]
movss dword [esp + 0x38], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
movaps xmm0, xmmword [esp + 0x50]
ucomiss xmm0, dword [0x10039960]
fstp dword [esp + 0x7c]
movss xmm0, dword [esp + 0x38]
mulss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x38], xmm0
jae 0x10024efd
movss xmm0, dword [edi + 0x40]
mulss xmm0, dword [esp + 0x68]
movss dword [esp + 0x48], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
movaps xmm0, xmmword [esp + 0x50]
ucomiss xmm0, dword [0x10039960]
fstp dword [esp + 0x78]
movss xmm0, dword [esp + 0x48]
mulss xmm0, dword [esp + 0x78]
movss dword [esp + 0x48], xmm0
jae 0x10024f28
movss xmm0, dword [edi + 0xc]
mulss xmm0, dword [edi + 0x40]
movss dword [esp + 0x44], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
movaps xmm0, xmmword [esp + 0x50]
ucomiss xmm0, dword [0x10039960]
fstp dword [esp + 0x74]
movss xmm0, dword [esp + 0x44]
mulss xmm0, dword [esp + 0x74]
movss dword [esp + 0x44], xmm0
jae 0x10024f66
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x38]
addss xmm0, dword [esp + 0x48]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [edi + 0x40]
mulss xmm0, dword [esp + 0x60]
movss dword [esp + 0x50], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
fstp dword [esp + 0x70]
movss xmm0, dword [esp + 0x50]
mulss xmm0, dword [esp + 0x70]
movss xmm4, dword [esp + 0x44]
addss xmm4, xmm0
movss xmm3, dword [esp + 0x1c]
subss xmm3, dword [esp + 0xb0]
movss xmm2, dword [esp + 0x38]
subss xmm2, dword [esp + 0x90]
subss xmm4, dword [esp + 0xa0]
movss xmm0, dword [edi + 0x34]
mov eax, dword [edi + 0x3c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
movss xmm1, dword [esp + 0x34]
movss dword [esp + 8], xmm1
movss xmm1, dword [esp + 0x20]
movss dword [esp + 4], xmm1
movss dword [esp], xmm4
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0xc8]
movaps xmm1, xmm3
call dbg.ComputeEmitterChannelCoefficients
movss xmm7, dword [esp + 0x30]
movss xmm5, dword [esp + 0x40]
movss xmm1, dword [0x10039940]
jmp 0x10024bfa
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
fstp st(0)
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
fstp st(0)
jmp 0x10024c79
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
fstp st(0)
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
fstp st(0)
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
fstp st(0)
jmp 0x10024cc9
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
fstp st(0)
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
fstp st(0)
jmp 0x10024d12
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
fstp st(0)
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
fstp st(0)
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_cos]
fstp st(0)
jmp 0x10024d5c
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
fstp st(0)
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_sin]
fstp st(0)
jmp 0x10024da5
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
test al, 4
je 0x1002458e
mov eax, dword [edi + 0x50]
test eax, eax
mov ecx, 0x10039bb4
cmovne ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, 1
cmp edx, 2
jb 0x10024fcd
nop dword [eax + eax]
ucomiss xmm5, dword [eax + ecx*8]
jb 0x10024fcd
inc ecx
cmp edx, ecx
jne 0x10024fc0
jmp 0x10024fd1
cmp ecx, edx
jne 0x10024fd9
movss xmm0, dword [eax + edx*8 - 4]
jmp 0x1002500b
movss xmm0, dword [eax + ecx*8]
movaps xmm1, xmm0
subss xmm1, xmm5
subss xmm0, dword [eax + ecx*8 - 8]
divss xmm1, xmm0
movss xmm0, dword [0x10039920]
subss xmm0, xmm1
mulss xmm1, dword [eax + ecx*8 - 4]
mulss xmm0, dword [eax + ecx*8 + 4]
addss xmm0, xmm1
mov eax, dword [ebp + 0x14]
movss dword [ebx + 0x10], xmm0
test al, 8
je 0x10024596
mov eax, dword [edi + 0x54]
test eax, eax
mov ecx, 0x10039bbc
cmovne ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, 1
cmp edx, 2
jb 0x1002504d
nop word [eax + eax]
ucomiss xmm5, dword [eax + ecx*8]
jb 0x1002504d
inc ecx
cmp edx, ecx
jne 0x10025040
jmp 0x10025051
cmp ecx, edx
jne 0x10025059
movss xmm0, dword [eax + edx*8 - 4]
jmp 0x1002508b
movss xmm0, dword [eax + ecx*8]
movaps xmm1, xmm0
subss xmm1, xmm5
subss xmm0, dword [eax + ecx*8 - 8]
divss xmm1, xmm0
movss xmm0, dword [0x10039920]
subss xmm0, xmm1
mulss xmm1, dword [eax + ecx*8 - 4]
mulss xmm0, dword [eax + ecx*8 + 4]
addss xmm0, xmm1
mov eax, dword [ebp + 0x14]
movss dword [ebx + 0x14], xmm0
test al, 0x10
je 0x1002459e
mov eax, dword [edi + 0x58]
test eax, eax
mov ecx, 0x10039bc4
cmovne ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, 1
cmp edx, 2
jb 0x100250cd
nop word [eax + eax]
ucomiss xmm5, dword [eax + ecx*8]
jb 0x100250cd
inc ecx
cmp edx, ecx
jne 0x100250c0
jmp 0x100250d1
cmp ecx, edx
jne 0x100250d9
movss xmm0, dword [eax + edx*8 - 4]
jmp 0x1002510b
movss xmm0, dword [eax + ecx*8]
movaps xmm1, xmm0
subss xmm1, xmm5
subss xmm0, dword [eax + ecx*8 - 8]
divss xmm1, xmm0
movss xmm0, dword [0x10039920]
subss xmm0, xmm1
mulss xmm1, dword [eax + ecx*8 - 4]
mulss xmm0, dword [eax + ecx*8 + 4]
addss xmm0, xmm1
mov eax, dword [ebp + 0x14]
movss dword [ebx + 0x18], xmm0
test al, 0x20
je 0x10025246
movss xmm0, dword [esi + 0xc]
mov dword [ebx + 0x1c], 0x3f800000
xorps xmm1, xmm1
ucomiss xmm7, xmm1
jne 0x10025131
jnp 0x100251a1
mov ecx, dword [ebp + 0xc]
movss xmm1, dword [ecx + 0x28]
movaps xmm3, xmmword [esp + 0x90]
mulss xmm1, xmm3
movss xmm2, dword [ecx + 0x24]
movaps xmm4, xmmword [esp + 0xb0]
mulss xmm2, xmm4
addss xmm2, xmm1
movss xmm1, dword [ecx + 0x2c]
movaps xmm5, xmmword [esp + 0xa0]
mulss xmm1, xmm5
addss xmm1, xmm2
divss xmm1, xmm7
movss dword [ebx + 0x2c], xmm1
movss xmm2, dword [edi + 0x2c]
mulss xmm2, xmm3
movss xmm3, dword [edi + 0x28]
mulss xmm3, xmm4
addss xmm3, xmm2
movss xmm2, dword [edi + 0x30]
mulss xmm2, xmm5
addss xmm2, xmm3
divss xmm2, xmm7
jmp 0x100251ab
mov dword [ebx + 0x2c], 0
xorps xmm2, xmm2
movss dword [ebx + 0x28], xmm2
movss xmm3, dword [edi + 0x60]
xorps xmm4, xmm4
ucomiss xmm3, xmm4
jbe 0x10025246
movaps xmm4, xmm0
divss xmm4, xmm3
minss xmm1, xmm4
movss dword [ebx + 0x2c], xmm1
minss xmm2, xmm4
movss dword [ebx + 0x28], xmm2
movss xmm3, dword [edi + 0x60]
mulss xmm1, xmm3
movaps xmm4, xmm0
subss xmm4, xmm1
mulss xmm2, xmm3
subss xmm0, xmm2
divss xmm4, xmm0
movss dword [ebx + 0x1c], xmm4
movss dword [esp], xmm4
call dword [sym.imp.ucrtbase.dll__fdclass]
cmp ax, 2
jne 0x10025216
movss xmm0, dword [0x10039920]
jmp 0x10025238
movss xmm1, dword [ebx + 0x1c]
movss xmm0, dword [0x10039964]
ucomiss xmm1, xmm0
ja 0x10025238
movss xmm0, dword [0x10039944]
ucomiss xmm0, xmm1
ja 0x10025238
movaps xmm0, xmm1
movss dword [ebx + 0x1c], xmm0
mov eax, dword [ebp + 0x14]
movss xmm7, dword [esp + 0x30]
test al, 0x40
je 0x100252c0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
movsd xmm1, qword [0x10039970]
ucomisd xmm1, xmm0
jbe 0x10025269
movss xmm0, dword [0x10039968]
jmp 0x100252bb
movaps xmm2, xmmword [esp + 0x90]
mulss xmm2, dword [edi + 8]
movaps xmm0, xmmword [esp + 0xb0]
mulss xmm0, dword [edi + 4]
movaps xmm1, xmmword [esp + 0xa0]
mulss xmm1, dword [edi + 0xc]
addss xmm0, xmm2
addss xmm1, xmm0
divss xmm1, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_acos]
mov eax, dword [ebp + 0x14]
fstp dword [esp + 0x6c]
movss xmm0, dword [esp + 0x6c]
movss dword [ebx + 0x20], xmm0
test al, 2
je 0x100252f0
cmp dword [esi], 3
jne 0x100252f0
cmp dword [ebx + 0xc], 0
je 0x100252f0
xor eax, eax
nop word cs:[eax + eax]
mov ecx, dword [ebx + 4]
mov dword [ecx + eax*4], 0
inc eax
cmp eax, dword [ebx + 0xc]
jb 0x100252e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x24], 0
mov al, 1
mov dword [esp + 0x1c], eax
jmp 0x10024697
movss xmm5, dword [esp + 0x30]
cvtss2sd xmm5, xmm5
movsd xmm6, qword [0x10039948]
ucomisd xmm6, xmm5
jae 0x10024930
mulss xmm4, dword [0x10039944]
ucomiss xmm4, xmm2
movss xmm5, dword [esp + 0x20]
jae 0x10025384
mulss xmm3, dword [0x10039944]
ucomiss xmm3, xmm2
jb 0x10024939
subss xmm2, xmm4
subss xmm3, xmm4
divss xmm2, xmm3
movss xmm3, dword [0x10039920]
subss xmm3, xmm2
mulss xmm0, xmm2
mulss xmm3, xmm1
addss xmm0, xmm3
jmp 0x10024939
movaps xmm0, xmm1
jmp 0x1002485a
movaps xmm0, xmm1
jmp 0x10024854
movaps xmm0, xmm1
jmp 0x10024939