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

Disassembly:
sub esp, 0x98
mov eax, dword [0x1032e6c0]
xor eax, esp
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
push esi
mov dword [esp + 0x14], eax
mov esi, dword [ecx + 0x20]
movzx eax, word [eax]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esi + 0x2c]
cmp eax, 1
je 0x1002496c
cmp eax, 2
je 0x1002496c
mov eax, dword [esi + 0x20]
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [esi + 0x20]
lea edx, [esp + 0x7c]
push 0
push edx
push 1
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push eax
call dword [ecx + 0x28]
jmp 0x10024a41
movsd xmm0, qword [ecx + 0x1c0]
lea edx, [esp + 0x20]
cvtpd2ps xmm0, xmm0
mov eax, dword [esi + 0x20]
push edx
lea edx, [esp + 0x68]
push edx
sub esp, 8
movss dword [esp + 0x74], xmm0
movsd xmm0, qword [ecx + 0x1c8]
cvtpd2ps xmm0, xmm0
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push eax
movss dword [esp + 0x7c], xmm0
movsd xmm0, qword [ecx + 0x1d0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x80], xmm0
movsd xmm0, qword [ecx + 0x1d8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x84], xmm0
movsd xmm0, qword [ecx + 0x1e0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x88], xmm0
movsd xmm0, qword [ecx + 0x1e8]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x8c], xmm0
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov ecx, dword [esi + 0x20]
xor eax, eax
cmp dword [esi + 0x2c], 2
lea esi, [esp + 0x7c]
push 0
push esi
mov edx, dword [ecx]
lea esi, [esp + 0x20]
push 1
push esi
sete al
push eax
lea eax, [esp + 0x78]
push eax
sub esp, 8
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push ecx
call dword [edx + 0x44]
test eax, eax
jns 0x10024a60
mov eax, 0x64
pop esi
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.1026465b
add esp, 0x98
ret
mov esi, dword [esp + 0x80]
xorps xmm3, xmm3
movzx eax, word [esp + 0x20]
mov ecx, esi
sub ecx, dword [esp + 0x84]
sub ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x8c]
sub edx, dword [esp + 0x90]
sub edx, dword [esp + 0x88]
movd xmm2, eax
xor eax, eax
test ecx, ecx
movsd qword [esp + 0x5c], xmm3
cvtdq2ps xmm2, xmm2
cmovg eax, ecx
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
test edx, edx
cmovg eax, edx
divss xmm0, xmm2
cvtps2pd xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0x88]
sub eax, dword [esp + 0x94]
movsd qword [esp + 0x44], xmm1
divss xmm0, xmm2
cvtps2pd xmm4, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
comisd xmm1, xmm3
addsd xmm0, qword [esi*8 + 0x102a4f50]
mov esi, dword [esp + 0x1c]
movsd qword [esp + 0x4c], xmm4
cvtpd2ps xmm0, xmm0
divss xmm0, xmm2
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x54], xmm0
movd xmm0, dword [esp + 0x7c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x34], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3c], xmm0
jbe 0x10024bd6
comisd xmm4, xmm3
jbe 0x10024bd6
movsd xmm0, qword [0x102a2928]
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x10]
movsd qword [esp + 0x10], xmm0
push eax
lea eax, [esi + 0x1f0]
movsd qword [esp + 0xc], xmm0
push eax
call fcn.100134c0
movsd xmm0, qword [0x10325f60]
add esp, 0xc
movsd xmm1, qword [esp + 0xc]
movsd xmm2, qword [esp + 4]
andps xmm1, xmm0
andps xmm2, xmm0
movaps xmm0, xmm1
addsd xmm0, xmm1
addsd xmm0, qword [esp + 0x44]
movsd qword [esp + 0x44], xmm0
movsd xmm0, qword [esp + 0x34]
subsd xmm0, xmm1
movsd qword [esp + 0x34], xmm0
movaps xmm0, xmm2
addsd xmm0, xmm2
addsd xmm0, qword [esp + 0x4c]
movsd qword [esp + 0x4c], xmm0
movsd xmm0, qword [esp + 0x3c]
subsd xmm0, xmm2
movsd qword [esp + 0x3c], xmm0
lea eax, [esp + 0x34]
push eax
push esi
push dword [esp + 0x1c]
call fcn.10010430
mov ecx, dword [esp + 0xa4]
add esp, 0xc
xor eax, eax
pop esi
xor ecx, esp
call fcn.1026465b
add esp, 0x98
ret