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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov ebx, ecx
mov edi, dword [esp + 0xa8]
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x98]
mov eax, dword [0x100ec500]
xor eax, esp
mov dword [esp + 0x78], eax
test edi, edi
jne 0x1003eaa8
push ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [esp + 0xa4]
add esp, 4
mov edi, eax
add edi, ebp
movss xmm0, dword [esi + 4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss xmm1, dword [ecx + 0xc]
movups xmmword [esp + 0x38], xmm0
movss dword [esp], xmm1
ucomiss xmm0, xmm1
ja 0x1003f1de
movss xmm0, dword [esp + 0xac]
movss xmm1, dword [esp + 0x94]
movss xmm2, dword [esi]
movups xmmword [esp + 0x48], xmm2
movss xmm2, dword [ebx + 0x10]
divss xmm1, xmm2
movss dword [esp + 0x30], xmm1
mulss xmm2, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movss dword [esp + 8], xmm2
ja 0x1003eb68
movups xmm0, xmmword [esp + 0x38]
addss xmm0, xmm2
movss xmm1, dword [ecx + 4]
movss dword [esp + 4], xmm1
ucomiss xmm1, xmm0
jbe 0x1003eb68
cmp edi, ebp
jbe 0x1003eb68
nop word cs:[eax + eax]
movups xmmword [esp + 0x38], xmm0
mov eax, edi
sub eax, ebp
push eax
push 0xa
push ebp
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
lea ebp, [eax + 1]
test eax, eax
cmove ebp, edi
movss xmm0, dword [esp + 8]
addss xmm0, dword [esp + 0x38]
movss xmm1, dword [esp + 4]
ucomiss xmm1, xmm0
jbe 0x1003eb68
cmp ebp, edi
jb 0x1003eb30
movss xmm0, dword [esp + 0xac]
ucomiss xmm0, dword [0x10074150]
ja 0x1003ebea
mov eax, edi
sub eax, ebp
cmp eax, 0x2711
jl 0x1003ebf5
movss xmm0, dword [esp]
ucomiss xmm0, dword [esp + 0x38]
jbe 0x1003f1f3
mov esi, ebp
cmp ebp, edi
jae 0x1003ebf7
mov esi, ebp
movups xmm1, xmmword [esp + 0x38]
nop word cs:[eax + eax]
movss dword [esp + 4], xmm1
mov eax, edi
sub eax, esi
push eax
push 0xa
push esi
call sub.VCRUNTIME140.dll_memchr
movss xmm1, dword [esp + 0x10]
add esp, 0xc
lea esi, [eax + 1]
test eax, eax
cmove esi, edi
addss xmm1, dword [esp + 8]
movss xmm0, dword [esp]
ucomiss xmm0, xmm1
jbe 0x1003ebf7
cmp esi, edi
jb 0x1003ebb0
jmp 0x1003ebf7
mov esi, edi
cmp ebp, esi
jne 0x1003ebff
jmp 0x1003f1de
mov esi, edi
cmp ebp, esi
je 0x1003f1de
mov dword [esp + 0x34], ebx
movups xmm0, xmmword [esp + 0x48]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movups xmmword [esp + 0x64], xmm0
mov ebx, dword [esp + 0x90]
mov eax, esi
sub eax, ebp
lea edx, [eax*4]
add eax, eax
lea edi, [eax + eax*2]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x60], eax
mov ecx, ebx
push edx
mov dword [esp + 0x60], edi
push edi
call fcn.1003bdd0
movups xmm5, xmmword [esp + 0x64]
movss xmm1, dword [esp + 0xac]
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x24], eax
mov edi, dword [ebx + 0x38]
mov eax, dword [esp + 0x9c]
or eax, 0xffffff
mov dword [esp + 0x58], eax
mov dword [esp + 0x2c], 0
xorps xmm7, xmm7
movaps xmm2, xmm5
movss xmm3, dword [esp + 8]
cmp ebp, esi
jae 0x1003f195
movaps xmm4, xmm2
movups xmm0, xmmword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov ebx, ebp
movss dword [esp + 0x48], xmm2
jmp 0x1003ecb3
mov ebx, esi
addss xmm0, xmm3
xor ecx, ecx
movaps xmm4, xmm5
cmp ebx, esi
jae 0x1003f195
ucomiss xmm1, xmm7
jbe 0x1003ed8e
test ecx, ecx
jne 0x1003ed36
movss dword [esp + 4], xmm0
movaps xmm0, xmm4
subss xmm0, xmm5
movss xmm1, dword [esp + 0xac]
subss xmm1, xmm0
sub esp, 0x10
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
movss xmm0, dword [esp + 0x40]
movss dword [esp], xmm0
movss dword [esp + 0xc], xmm1
mov ecx, dword [esp + 0x44]
movss dword [esp + 0x10], xmm4
call fcn.10049130
movss xmm4, dword [esp]
movss xmm0, dword [esp + 4]
movss xmm2, dword [esp + 0x48]
xorps xmm7, xmm7
movups xmm5, xmmword [esp + 0x64]
movss xmm3, dword [esp + 8]
movss xmm1, dword [esp + 0xac]
xor ecx, ecx
cmp eax, ebx
sete cl
add ecx, eax
cmp ebx, ecx
jb 0x1003ed80
cmp ebx, esi
jae 0x1003eca2
mov eax, esi
sub eax, ebx
jmp 0x1003ed58
inc ebx
dec eax
je 0x1003eca0
movzx ecx, byte [ebx]
cmp ecx, 0x20
je 0x1003ed50
cmp ecx, 9
je 0x1003ed50
lea eax, [ebx + 1]
cmp cl, 0xa
cmove ebx, eax
jmp 0x1003eca2
movaps xmm2, xmm4
movups xmmword [esp + 0x38], xmm0
mov ebp, ebx
mov dword [esp + 0x2c], ecx
movsx ecx, byte [ebp]
mov dword [esp + 0x74], ecx
test ecx, ecx
mov ebx, dword [esp + 0x34]
js 0x1003edb0
inc ebp
cmp ecx, 0x1f
jbe 0x1003edf5
jmp 0x1003ee2a
movss dword [esp + 0x48], xmm2
push esi
push ebp
lea eax, [esp + 0x7c]
push eax
call fcn.100212a0
add esp, 0xc
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1003f195
add ebp, eax
movss xmm1, dword [esp + 0xac]
movss xmm3, dword [esp + 8]
movups xmm5, xmmword [esp + 0x64]
xorps xmm7, xmm7
movss xmm2, dword [esp + 0x48]
cmp ecx, 0x1f
ja 0x1003ee2a
cmp ecx, 0xa
jne 0x1003ee21
movups xmm0, xmmword [esp + 0x38]
addss xmm0, xmm3
mov eax, dword [esp + 0xa0]
movups xmmword [esp + 0x38], xmm0
ucomiss xmm0, dword [eax + 0xc]
movaps xmm2, xmm5
jbe 0x1003ec82
jmp 0x1003f195
cmp ecx, 0xd
je 0x1003ec82
movzx eax, cx
cmp dword [ebx + 0x14], eax
jbe 0x1003ee40
mov ecx, dword [ebx + 0x1c]
movzx eax, word [ecx + eax*2]
cmp eax, 0xffff
jne 0x1003ee45
mov ecx, dword [ebx + 0x2c]
jmp 0x1003ee4e
lea ecx, [eax + eax*4]
shl ecx, 3
add ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1003ec82
movss xmm0, dword [ecx + 4]
movss xmm6, dword [esp + 0x30]
mulss xmm0, xmm6
mov eax, dword [ecx]
test al, 2
jne 0x1003ee74
addss xmm2, xmm0
jmp 0x1003ec82
movss dword [esp + 4], xmm0
movss xmm4, dword [ecx + 8]
mulss xmm4, xmm6
addss xmm4, xmm2
mov edx, dword [esp + 0xa0]
movss xmm0, dword [edx + 8]
movss dword [esp], xmm0
ucomiss xmm0, xmm4
jae 0x1003eeac
movss xmm0, dword [esp + 4]
addss xmm2, xmm0
jmp 0x1003ec82
movss xmm7, dword [ecx + 0x10]
mulss xmm7, xmm6
movss dword [esp + 0x48], xmm2
addss xmm7, xmm2
movss xmm2, dword [edx]
ucomiss xmm7, xmm2
jae 0x1003eee0
xorps xmm7, xmm7
movss xmm2, dword [esp + 0x48]
movss xmm0, dword [esp + 4]
addss xmm2, xmm0
jmp 0x1003ec82
movss xmm3, dword [ecx + 0xc]
mulss xmm3, xmm6
movups xmm5, xmmword [esp + 0x38]
addss xmm3, xmm5
movss xmm0, dword [ecx + 0x14]
mulss xmm0, xmm6
addss xmm0, xmm5
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx + 0x18]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [ecx + 0x1c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ecx + 0x20]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ecx + 0x24]
movss dword [esp + 0x20], xmm0
cmp byte [esp + 0xb0], 0
movss xmm0, dword [esp + 4]
je 0x1003ef8f
ucomiss xmm2, xmm4
movups xmm5, xmmword [esp + 0x64]
jbe 0x1003efad
movaps xmm6, xmm7
movss dword [esp + 0x10], xmm2
subss xmm6, xmm2
movaps xmm1, xmm7
subss xmm1, xmm4
divss xmm6, xmm1
movss xmm1, dword [0x1006d630]
subss xmm1, xmm6
movss xmm4, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x14]
subss xmm4, xmm2
mulss xmm4, xmm1
addss xmm2, xmm4
movss dword [esp + 0x14], xmm2
jmp 0x1003efb3
movaps xmm2, xmm4
movss dword [esp], xmm7
movaps xmm4, xmm3
movss xmm3, dword [esp + 8]
movups xmm5, xmmword [esp + 0x64]
xorps xmm7, xmm7
jmp 0x1003f0b3
movss dword [esp + 0x10], xmm4
mov ecx, dword [esp + 0xa0]
movss xmm6, dword [esp + 0xc]
movss xmm4, dword [ecx + 4]
ucomiss xmm4, xmm3
jbe 0x1003f005
movaps xmm1, xmm6
subss xmm1, xmm4
subss xmm6, xmm3
divss xmm1, xmm6
movss xmm3, dword [0x1006d630]
subss xmm3, xmm1
movss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x18]
subss xmm1, xmm2
mulss xmm1, xmm3
addss xmm2, xmm1
movss dword [esp + 0x18], xmm2
jmp 0x1003f008
movaps xmm4, xmm3
ucomiss xmm7, dword [esp]
jbe 0x1003f045
movss xmm1, dword [esp]
movss xmm3, dword [esp + 0x10]
subss xmm1, xmm3
subss xmm7, xmm3
divss xmm1, xmm7
movss xmm3, dword [esp + 0x14]
movss xmm2, dword [esp + 0x1c]
subss xmm2, xmm3
mulss xmm2, xmm1
addss xmm2, xmm3
movss dword [esp + 0x1c], xmm2
jmp 0x1003f04a
movss dword [esp], xmm7
movss xmm2, dword [esp + 0xc]
movss xmm1, dword [ecx + 0xc]
ucomiss xmm2, xmm1
xorps xmm7, xmm7
jbe 0x1003f092
movaps xmm3, xmm1
subss xmm3, xmm4
subss xmm2, xmm4
divss xmm3, xmm2
movss xmm2, dword [esp + 0x20]
movss xmm6, dword [esp + 0x18]
subss xmm2, xmm6
mulss xmm2, xmm3
addss xmm2, xmm6
movss dword [esp + 0x20], xmm2
movss dword [esp + 0xc], xmm1
jmp 0x1003f095
movaps xmm1, xmm2
movss xmm3, dword [esp + 8]
ucomiss xmm4, xmm1
movss xmm1, dword [esp + 0xac]
movss xmm2, dword [esp + 0x10]
jae 0x1003f18a
movss dword [esp + 0x10], xmm2
test al, 1
mov eax, dword [esp + 0x58]
cmove eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x28]
mov word [edi], dx
lea ecx, [edx + 1]
mov word [edi + 2], cx
lea ecx, [edx + 2]
mov word [edi + 4], cx
mov word [edi + 6], dx
mov word [edi + 8], cx
lea ecx, [edx + 3]
mov word [edi + 0xa], cx
mov ecx, dword [esp + 0x24]
movss dword [ecx], xmm2
movss dword [ecx + 4], xmm4
mov dword [ecx + 0x10], eax
movss xmm6, dword [esp + 0x14]
movss dword [ecx + 8], xmm6
movss xmm2, dword [esp]
movss xmm6, dword [esp + 0x18]
movss dword [ecx + 0xc], xmm6
movss dword [ecx + 0x14], xmm2
movss dword [ecx + 0x18], xmm4
mov dword [ecx + 0x24], eax
movss xmm4, dword [esp + 0x1c]
movss dword [ecx + 0x1c], xmm4
movss dword [ecx + 0x20], xmm6
movss dword [ecx + 0x28], xmm2
movss xmm6, dword [esp + 0xc]
movss dword [ecx + 0x2c], xmm6
mov dword [ecx + 0x38], eax
movss dword [ecx + 0x30], xmm4
movss xmm4, dword [esp + 0x20]
movss dword [ecx + 0x34], xmm4
movss xmm2, dword [esp + 0x10]
movss dword [ecx + 0x3c], xmm2
movss dword [ecx + 0x40], xmm6
mov dword [ecx + 0x4c], eax
movss xmm2, dword [esp + 0x14]
movss dword [ecx + 0x44], xmm2
movss dword [ecx + 0x48], xmm4
add ecx, 0x50
mov dword [esp + 0x24], ecx
add edx, 4
mov dword [esp + 0x28], edx
add edi, 0xc
movss xmm2, dword [esp + 0x48]
jmp 0x1003ee6b
mov ebx, dword [esp + 0x24]
mov eax, ebx
mov esi, dword [esp + 0x90]
sub eax, dword [esi + 0x20]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x18], eax
mov eax, edi
sub eax, dword [esi + 0x14]
sar eax, 1
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x60]
add ecx, dword [esp + 0x5c]
sub eax, ecx
mov ecx, dword [esi]
mov edx, dword [esi + 8]
lea ecx, [ecx + ecx*4]
add dword [edx + ecx*8 - 0xc], eax
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], edi
mov eax, dword [esp + 0x28]
mov dword [esi + 0x28], eax
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.1006a0d8
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
mov esi, ebp
cmp ebp, esi
jne 0x1003ebff
jmp 0x1003f1de