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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [esp + 0x74]
xor ecx, ecx
cmp eax, 1
mov edx, 0
sbb edx, edx
mov esi, dword [esp + 0x70]
or edx, eax
mov edi, edx
sub edi, esi
jbe 0x10014ccb
mov ebp, dword [esp + 0x68]
mov ebx, esi
jmp 0x100148ed
cmp byte [esi + ecx + 1], 0x23
je 0x10014902
inc ebx
inc ecx
cmp edi, ecx
je 0x10014900
movzx eax, byte [esi + ecx]
cmp eax, 0x23
je 0x100148e0
test eax, eax
jne 0x100148e7
add ecx, esi
mov ebx, ecx
jmp 0x10014902
mov ebx, edx
mov edx, dword [esp + 0x78]
cmp ebx, esi
je 0x10014ccb
mov ecx, dword [0x100e9750]
mov eax, dword [ecx + 0x1924]
mov dword [esp + 0x34], eax
mov eax, dword [ebp]
mov edi, dword [ebp + 4]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
movd xmm6, eax
test edx, edx
mov dword [esp + 0x38], ecx
je 0x1001494e
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
movd xmm2, eax
jmp 0x100149dc
movd dword [esp + 0x30], xmm6
movss xmm0, dword [ecx + 0x1854]
mov ecx, dword [ecx + 0x1850]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
movss dword [esp + 0x40], xmm0
movss dword [esp + 4], xmm0
lea eax, [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x7f7fffff
mov dword [esp + 0x3c], ecx
call fcn.1002d360
sub esp, 0x1c
movss xmm0, dword [esp + 0x20]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jae 0x100149c1
movss xmm1, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
divss xmm1, dword [eax]
subss xmm0, xmm1
movd xmm6, dword [esp + 0x30]
addss xmm0, dword [str.33s_]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm2, xmm0
movss dword [esp + 0x20], xmm2
movd xmm1, edi
mov eax, dword [esp + 0x80]
test eax, eax
cmovne ebp, eax
lea eax, [eax + 8]
mov edi, dword [esp + 0x6c]
cmove eax, edi
addss xmm2, xmm6
movss xmm0, dword [eax]
mov cl, 1
ucomiss xmm2, xmm0
jae 0x10014a16
movss xmm3, dword [esp + 0x24]
addss xmm3, xmm1
ucomiss xmm3, dword [eax + 4]
setae cl
cmp dword [esp + 0x80], 0
je 0x10014a3c
mov edx, 1
ucomiss xmm6, dword [ebp]
jb 0x10014a34
xor edx, edx
ucomiss xmm1, dword [ebp + 4]
setb dl
movzx ecx, cl
or ecx, edx
setne cl
mov edx, dword [esp + 0x7c]
movss xmm4, dword [edx]
xorps xmm3, xmm3
ucomiss xmm3, xmm4
jae 0x10014a66
movss xmm5, dword [edi]
subss xmm5, xmm2
mulss xmm5, xmm4
addss xmm5, xmm6
maxss xmm5, xmm6
movss dword [esp + 0x28], xmm5
movss xmm2, dword [edx + 4]
ucomiss xmm3, xmm2
jae 0x10014a95
movss xmm3, dword [edi + 4]
movss xmm4, dword [esp + 0x24]
addss xmm4, xmm1
subss xmm3, xmm4
mulss xmm3, xmm2
addss xmm3, xmm1
maxss xmm3, xmm1
movss dword [esp + 0x2c], xmm3
test cl, cl
je 0x10014bb1
movss xmm1, dword [eax + 4]
movsd xmm2, qword [ebp]
movsd qword [esp + 0x44], xmm2
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x50], xmm1
mov eax, dword [0x100e9750]
movss xmm0, dword [eax + 0x14e8]
mulss xmm0, dword [eax + 0x158c]
movss xmm1, dword [0x10034020]
movss xmm2, dword [eax + 0x1580]
minss xmm2, xmm1
xorps xmm3, xmm3
maxss xmm2, xmm3
movss xmm4, dword [0x10034a00]
mulss xmm2, xmm4
movss xmm5, dword [0x100340c4]
addss xmm2, xmm5
cvttss2si edx, xmm2
minss xmm1, dword [eax + 0x1584]
maxss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edi, xmm1
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x270]
shl edi, 8
movss xmm1, dword [eax + 0x1588]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
xorps xmm0, xmm0
maxps xmm0, xmm1
mulps xmm0, xmmword [0x10034a20]
addps xmm0, xmmword [0x100340d0]
or edi, edx
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edx, xmm0
or edx, edi
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
or eax, edx
mov ebp, dword [esp + 0x38]
movss xmm0, dword [ebp + 0x1854]
mov edx, dword [ebp + 0x1850]
lea edi, [esp + 0x44]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
lea edi, [esp + 0x28]
mov dword [esp + 8], edi
movss dword [esp + 4], xmm0
mov dword [esp], edx
mov dword [esp + 0xc], eax
jmp 0x10014ca4
mov eax, dword [0x100e9750]
movss xmm0, dword [eax + 0x14e8]
mulss xmm0, dword [eax + 0x158c]
movss xmm1, dword [0x10034020]
movss xmm2, dword [eax + 0x1580]
minss xmm2, xmm1
xorps xmm3, xmm3
maxss xmm2, xmm3
movss xmm4, dword [0x10034a00]
mulss xmm2, xmm4
movss xmm5, dword [0x100340c4]
addss xmm2, xmm5
cvttss2si edx, xmm2
minss xmm1, dword [eax + 0x1584]
maxss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edi, xmm1
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x270]
shl edi, 8
movss xmm1, dword [eax + 0x1588]
unpcklps xmm1, xmm0
minps xmm1, xmmword [0x10034a10]
xorps xmm0, xmm0
maxps xmm0, xmm1
mulps xmm0, xmmword [0x10034a20]
addps xmm0, xmmword [0x100340d0]
or edi, edx
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd eax, xmm0
or eax, edi
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
or edx, eax
mov ebp, dword [esp + 0x38]
movss xmm0, dword [ebp + 0x1854]
mov eax, dword [ebp + 0x1850]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
lea edi, [esp + 0x28]
mov dword [esp + 8], edi
movss dword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
call fcn.10024e50
sub esp, 0x20
cmp byte [ebp + 0x2998], 0
je 0x10014ccb
mov dword [esp], ebx
lea ecx, [esp + 0x28]
mov edx, esi
call fcn.10014770
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret