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

Disassembly:
sub esp, 0x54
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
push ebp
mov ebp, dword [esp + 0x6c]
push edi
movups xmm0, xmmword [eax]
lea eax, [esp + 0x48]
mov dword [esp + 0x14], ecx
push ebp
push eax
mov ecx, eax
movups xmmword [esp + 0x50], xmm0
call fcn.1003b460
test al, al
je 0x1010d3cd
mov eax, dword [esp + 0x4c]
push esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
cmp eax, esi
jge 0x1010d3cc
mov edx, dword [esp + 0x54]
push ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x2c], ebx
mov edi, dword [esp + 0x34]
mov ecx, eax
mov eax, dword [esp + 0x34]
sub ecx, dword [eax + 4]
mov eax, dword [esp + 0x38]
imul ecx, dword [eax + 8]
mov eax, ebx
sub eax, dword [edi]
mov edi, dword [esp + 0x1c]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x38]
add eax, dword [ecx + 4]
mov dword [esp + 0x44], eax
cmp ebx, edx
jge 0x1010d3ba
xor ecx, ecx
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm5, xmm5
xorps xmm2, xmm2
movss dword [esp + 0x28], xmm3
movss dword [esp + 0x24], xmm4
movss dword [esp + 0x20], xmm5
mov dword [esp + 0x40], ecx
cmp dword [edi + 0x38], ecx
jle 0x1010d1ce
mov edx, dword [edi + 0x34]
xor eax, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], eax
lea ebx, [edx*4]
mov dword [esp + 0x10], ebx
nop dword [eax + eax]
test edx, edx
jle 0x1010d1ba
mov eax, dword [esp + 0x1c]
mov esi, ecx
sub esi, dword [edi + 0x4c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 8]
sub edx, dword [eax + 0x48]
dec ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
dec ebx
add esi, dword [esp + 0x30]
add eax, dword [esp + 0x18]
mov edi, dword [ebp + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
nop
mov dword [esp + 0x48], edx
cmp edx, dword [ebp]
jge 0x1010d0ad
mov eax, ebp
jmp 0x1010d0bd
mov edi, dword [ebp + 4]
lea eax, [esp + 0x48]
cmp edx, ecx
lea ecx, [esp + 0x28]
cmovge eax, ecx
mov eax, dword [eax]
cmp esi, edi
jge 0x1010d0c7
mov ecx, edi
jmp 0x1010d0ce
cmp esi, ebx
mov ecx, ebx
cmovl ecx, esi
mov edi, dword [esp + 0x4c]
inc edx
imul ecx, dword [edi + 8]
add ecx, dword [edi + 4]
mov edi, dword [ebp + 4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esp + 0x20]
add dword [esp + 0x20], 4
movss xmm1, dword [eax]
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
movzx eax, cl
mov ecx, dword [esp + 0x28]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
sub dword [esp + 0x24], 1
addsd xmm0, qword [eax*8 + 0x10386860]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm5, xmm0
jne 0x1010d0a0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x10]
movss dword [esp + 0x20], xmm5
movss dword [esp + 0x24], xmm4
movss dword [esp + 0x28], xmm3
inc ecx
add eax, ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], eax
cmp ecx, dword [edi + 0x38]
jl 0x1010d060
movss xmm0, dword [edi + 0x40]
sub esp, 8
movss dword [esp + 0x20], xmm0
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
jbe 0x1010d221
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010d224
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010d230
xor esi, esi
jmp 0x1010d23a
mov esi, 0xff
cmp eax, esi
cmovl esi, eax
movss xmm0, dword [esp + 0x18]
sub esp, 8
mulss xmm0, dword [esp + 0x30]
addss xmm0, dword [edi + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
ja 0x1010d280
movaps xmm0, xmm1
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010d290
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010d29c
xor ebx, ebx
jmp 0x1010d2a3
cmp eax, esi
mov ebx, esi
cmovl ebx, eax
movss xmm0, dword [esp + 0x18]
sub esp, 8
mulss xmm0, dword [esp + 0x2c]
addss xmm0, dword [edi + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
ja 0x1010d2e9
movaps xmm0, xmm1
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010d2f9
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010d305
xor edi, edi
jmp 0x1010d30c
cmp eax, esi
mov edi, esi
cmovl edi, eax
movss xmm0, dword [esp + 0x18]
sub esp, 8
mulss xmm0, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
addss xmm0, dword [eax + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
ja 0x1010d356
movaps xmm0, xmm1
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010d366
movaps xmm0, xmm1
cvttss2si ecx, xmm0
test ecx, ecx
jns 0x1010d372
xor eax, eax
jmp 0x1010d379
cmp ecx, esi
mov eax, esi
cmovl eax, ecx
shl esi, 8
or esi, ebx
mov ebx, dword [esp + 0x2c]
shl esi, 8
inc ebx
or esi, edi
mov dword [esp + 0x2c], ebx
mov edi, dword [esp + 0x1c]
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x44]
mov dword [eax], esi
add eax, 4
mov edx, dword [esp + 0x58]
mov dword [esp + 0x44], eax
cmp ebx, edx
jl 0x1010d016
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, esi
jl 0x1010cfe3
pop ebx
pop esi
mov ecx, dword [esp + 0x58]
pop edi
pop ebp
xor ecx, esp
call fcn.1037e005
add esp, 0x54
ret 0x14
sub esp, 0x54
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
push ebp
mov ebp, dword [esp + 0x6c]
push edi
movups xmm0, xmmword [eax]
lea eax, [esp + 0x48]
mov dword [esp + 8], ecx
push ebp
push eax
mov ecx, eax
movups xmmword [esp + 0x50], xmm0
call fcn.1003b460
test al, al
je 0x1010d7dd
mov eax, dword [esp + 0x4c]
push esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x10], eax
cmp eax, esi
jge 0x1010d7dc
mov edx, dword [esp + 0x54]
push ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x20], ebx
mov edi, dword [esp + 0x3c]
mov ecx, eax
mov eax, dword [esp + 0x3c]
sub ecx, dword [eax + 4]
mov eax, dword [esp + 0x40]
imul ecx, dword [eax + 8]
mov eax, ebx
sub eax, dword [edi]
mov edi, dword [esp + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x40]
add eax, dword [ecx + 4]
mov dword [esp + 0x48], eax
cmp ebx, edx
jge 0x1010d7ca
xor ecx, ecx
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm2, xmm2
movss dword [esp + 0x28], xmm3
movss dword [esp + 0x24], xmm4
mov dword [esp + 0x2c], ecx
cmp dword [edi + 0x38], ecx
jle 0x1010d603
mov edx, dword [edi + 0x34]
xor eax, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x34], eax
lea ebx, [edx*4]
mov dword [esp + 0x18], ebx
test edx, edx
jle 0x1010d5ef
mov eax, dword [esp + 0x10]
mov esi, ecx
sub esi, dword [edi + 0x4c]
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
sub edx, dword [eax + 0x48]
dec ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
dec ebx
add esi, dword [esp + 0x14]
add eax, dword [esp + 0x34]
mov edi, dword [ebp + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], edx
cmp edx, dword [ebp]
jge 0x1010d50d
mov eax, ebp
jmp 0x1010d51d
mov edi, dword [ebp + 4]
lea eax, [esp + 0x4c]
cmp edx, ecx
lea ecx, [esp + 0x28]
cmovge eax, ecx
mov eax, dword [eax]
cmp esi, edi
jge 0x1010d527
mov ecx, edi
jmp 0x1010d52e
cmp esi, ebx
mov ecx, ebx
cmovl ecx, esi
mov edi, dword [esp + 0x38]
inc edx
imul ecx, dword [edi + 8]
add ecx, dword [edi + 4]
mov edi, dword [ebp + 4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esp + 0x30]
add dword [esp + 0x30], 4
movss xmm1, dword [eax]
mov eax, ecx
shr eax, 0x10
movzx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
movzx eax, cl
mov ecx, dword [esp + 0x28]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
sub dword [esp + 0x24], 1
addsd xmm0, qword [eax*8 + 0x10386860]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm4, xmm0
jne 0x1010d500
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
movss dword [esp + 0x24], xmm4
movss dword [esp + 0x28], xmm3
inc ecx
add eax, ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
cmp ecx, dword [edi + 0x38]
jl 0x1010d4c2
movss xmm0, dword [edi + 0x40]
sub esp, 8
movss dword [esp + 0x34], xmm0
mulss xmm0, xmm2
addss xmm0, dword [edi + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
comiss xmm1, xmm0
jbe 0x1010d656
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010d659
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010d665
xor ebx, ebx
jmp 0x1010d66f
mov ebx, 0xff
cmp eax, ebx
cmovl ebx, eax
movss xmm0, dword [esp + 0x2c]
sub esp, 8
mulss xmm0, dword [esp + 0x30]
addss xmm0, dword [edi + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
comiss xmm1, xmm0
jbe 0x1010d6bf
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010d6c2
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010d6ce
xor edi, edi
jmp 0x1010d6d8
mov edi, 0xff
cmp eax, edi
cmovl edi, eax
movss xmm0, dword [esp + 0x2c]
sub esp, 8
mulss xmm0, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
addss xmm0, dword [eax + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
comiss xmm1, xmm0
jbe 0x1010d72c
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010d72f
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010d73b
xor esi, esi
jmp 0x1010d745
mov esi, 0xff
cmp eax, esi
cmovl esi, eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp]
dec eax
mov ecx, dword [esp + 0x20]
cmp ecx, edx
jl 0x1010d75b
cmp ecx, eax
mov edx, eax
cmovl edx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
dec eax
cmp dword [esp + 0x14], ecx
jl 0x1010d773
cmp dword [esp + 0x14], eax
mov ecx, eax
cmovl ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
push esi
push edi
push ebx
mov eax, dword [eax + 8]
imul eax, ecx
lea ecx, [eax + edx*4]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
movzx eax, byte [ecx + eax + 3]
push eax
call fcn.100433f0
mov ecx, dword [esp + 0x58]
add esp, 0x10
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x20], ebx
mov dword [ecx], eax
add ecx, 4
mov edx, dword [esp + 0x58]
mov dword [esp + 0x48], ecx
cmp ebx, edx
jl 0x1010d486
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, esi
jl 0x1010d453
pop ebx
pop esi
mov ecx, dword [esp + 0x58]
pop edi
pop ebp
xor ecx, esp
call fcn.1037e005
add esp, 0x54
ret 0x14
sub esp, 0x54
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
push ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x68]
push ebp
push edi
mov edi, dword [esp + 0x74]
movups xmm0, xmmword [eax]
lea eax, [esp + 0x4c]
mov dword [esp + 0x14], ecx
push edi
push eax
mov ecx, eax
movups xmmword [esp + 0x54], xmm0
call fcn.1003b460
test al, al
je 0x1010dc48
mov ecx, dword [esp + 0x50]
push esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x2c], ecx
cmp ecx, esi
jge 0x1010dc47
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x20], eax
nop
mov ebp, dword [esp + 0x30]
sub ecx, dword [ebp + 4]
mov ebp, dword [esp + 0x34]
imul ecx, dword [ebp + 8]
mov ebp, dword [esp + 0x30]
sub eax, dword [ebp]
mov ebp, dword [esp + 0x18]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
add eax, dword [ecx + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
cmp eax, edx
jge 0x1010dc36
mov ecx, dword [ebp + 0x38]
xor eax, eax
mov dword [esp + 0x3c], ecx
xorps xmm3, xmm3
movss dword [esp + 0x24], xmm3
xorps xmm4, xmm4
movss dword [esp + 0x44], xmm4
xorps xmm5, xmm5
movss dword [esp + 0x48], xmm5
xorps xmm2, xmm2
mov dword [esp + 0x40], eax
test ecx, ecx
jle 0x1010da3a
mov edx, dword [ebp + 0x34]
xor ecx, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], ecx
lea ebp, [edx*4]
mov dword [esp + 0x10], ebp
lea esi, [edx*4]
mov ebp, dword [esp + 0x3c]
nop word [eax + eax]
test edx, edx
jle 0x1010da23
mov esi, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x18]
mov ebp, dword [edi]
sub edx, dword [eax + 0x4c]
sub esi, dword [eax + 0x48]
mov eax, dword [eax + 0x3c]
add edx, dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
nop
cmp esi, ebp
jl 0x1010d948
cmp esi, dword [edi + 8]
jge 0x1010d948
cmp edx, dword [edi + 4]
jl 0x1010d948
cmp edx, dword [edi + 0xc]
jge 0x1010d948
mov eax, dword [ebx + 8]
imul eax, edx
lea ecx, [eax + esi*4]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + eax]
mov eax, dword [esp + 0x1c]
jmp 0x1010d94a
xor ecx, ecx
movss xmm1, dword [eax]
inc esi
mov eax, ecx
shr eax, 0x18
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, ecx
shr eax, 0x10
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
movzx eax, cl
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, dword [esp + 0x1c]
add eax, 4
sub dword [esp + 0x24], 1
mov dword [esp + 0x1c], eax
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm5, xmm0
jne 0x1010d920
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x10]
movss dword [esp + 0x48], xmm5
movss dword [esp + 0x44], xmm4
movss dword [esp + 0x24], xmm3
inc eax
add ecx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x28], ecx
cmp eax, ebp
jl 0x1010d8f0
mov ebp, dword [esp + 0x18]
movss xmm0, dword [ebp + 0x40]
sub esp, 8
movss dword [esp + 0x24], xmm0
mulss xmm0, xmm2
addss xmm0, dword [ebp + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
jbe 0x1010da8d
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010da90
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010da9c
xor esi, esi
jmp 0x1010daa6
mov esi, 0xff
cmp eax, esi
cmovl esi, eax
movss xmm0, dword [esp + 0x1c]
sub esp, 8
mulss xmm0, dword [esp + 0x2c]
addss xmm0, dword [ebp + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
ja 0x1010daec
movaps xmm0, xmm1
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010dafc
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010db0e
mov dword [esp + 0x28], 0
jmp 0x1010db1d
cmp eax, esi
mov ebp, esi
cmovl ebp, eax
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x18]
movss xmm0, dword [esp + 0x1c]
sub esp, 8
mulss xmm0, dword [esp + 0x4c]
addss xmm0, dword [ebp + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
ja 0x1010db63
movaps xmm0, xmm1
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010db73
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010db7f
xor ebp, ebp
jmp 0x1010db86
cmp eax, esi
mov ebp, esi
cmovl ebp, eax
movss xmm0, dword [esp + 0x1c]
sub esp, 8
mulss xmm0, dword [esp + 0x50]
mov eax, dword [esp + 0x20]
addss xmm0, dword [eax + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
comiss xmm1, xmm0
ja 0x1010dbd0
movaps xmm0, xmm1
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010dbe0
movaps xmm0, xmm1
cvttss2si ecx, xmm0
test ecx, ecx
jns 0x1010dbec
xor eax, eax
jmp 0x1010dbf3
cmp ecx, esi
mov eax, esi
cmovl eax, ecx
shl esi, 8
or esi, dword [esp + 0x28]
shl esi, 8
or esi, ebp
mov ebp, dword [esp + 0x18]
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x4c]
mov dword [eax], esi
add eax, 4
mov edx, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, edx
jl 0x1010d894
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x2c]
inc ecx
mov dword [esp + 0x2c], ecx
cmp ecx, esi
jl 0x1010d860
pop esi
mov ecx, dword [esp + 0x5c]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.1037e005
add esp, 0x54
ret 0x14
sub esp, 0x4c
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
push ebp
push edi
mov edi, dword [esp + 0x6c]
movups xmm0, xmmword [eax]
lea eax, [esp + 0x44]
mov dword [esp + 0xc], ecx
push edi
push eax
mov ecx, eax
movups xmmword [esp + 0x4c], xmm0
call fcn.1003b460
test al, al
je 0x1010e038
mov ecx, dword [esp + 0x48]
push esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x24], ecx
cmp ecx, esi
jge 0x1010e037
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], eax
nop
mov ebp, dword [esp + 0x30]
sub ecx, dword [ebp + 4]
mov ebp, dword [esp + 0x34]
imul ecx, dword [ebp + 8]
mov ebp, dword [esp + 0x30]
sub eax, dword [ebp]
mov ebp, dword [esp + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x34]
add eax, dword [ecx + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
cmp eax, edx
jge 0x1010e026
mov ecx, dword [ebp + 0x38]
xor eax, eax
mov dword [esp + 0x3c], ecx
xorps xmm3, xmm3
movss dword [esp + 0x28], xmm3
xorps xmm4, xmm4
movss dword [esp + 0x18], xmm4
xorps xmm2, xmm2
mov dword [esp + 0x40], eax
test ecx, ecx
jle 0x1010de6f
mov edx, dword [ebp + 0x34]
xor ecx, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], ecx
lea ebp, [edx*4]
mov dword [esp + 0x1c], ebp
lea esi, [edx*4]
mov ebp, dword [esp + 0x3c]
test edx, edx
jle 0x1010de58
mov edx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp + 0x10]
mov ebp, dword [edi]
sub esi, dword [eax + 0x4c]
sub edx, dword [eax + 0x48]
mov eax, dword [eax + 0x3c]
add esi, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], ecx
cmp edx, ebp
jl 0x1010dda8
cmp edx, dword [edi + 8]
jge 0x1010dda8
cmp esi, dword [edi + 4]
jl 0x1010dda8
cmp esi, dword [edi + 0xc]
jge 0x1010dda8
mov eax, dword [ebx + 8]
imul eax, esi
lea ecx, [eax + edx*4]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + eax]
mov eax, dword [esp + 0x18]
jmp 0x1010ddaa
xor ecx, ecx
movss xmm1, dword [eax]
inc edx
mov eax, ecx
shr eax, 0x10
movzx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, ecx
shr eax, 8
movzx eax, al
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
movzx eax, cl
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10386860]
mov eax, dword [esp + 0x18]
add eax, 4
sub dword [esp + 0x28], 1
mov dword [esp + 0x18], eax
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm4, xmm0
jne 0x1010dd80
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x1c]
movss dword [esp + 0x18], xmm4
movss dword [esp + 0x28], xmm3
inc eax
add ecx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], ecx
cmp eax, ebp
jl 0x1010dd51
mov ebp, dword [esp + 0x10]
movss xmm0, dword [ebp + 0x40]
sub esp, 8
movss dword [esp + 0x34], xmm0
mulss xmm0, xmm2
addss xmm0, dword [ebp + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x24], xmm0
fld qword [esp + 0x24]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
comiss xmm1, xmm0
jbe 0x1010dec2
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010dec5
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010ded1
xor ebp, ebp
jmp 0x1010dedb
mov ebp, 0xff
cmp eax, ebp
cmovl ebp, eax
movss xmm0, dword [esp + 0x2c]
sub esp, 8
mulss xmm0, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
addss xmm0, dword [eax + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x24], xmm0
fld qword [esp + 0x24]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
comiss xmm1, xmm0
jbe 0x1010df2f
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010df32
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010df3e
xor esi, esi
jmp 0x1010df48
mov esi, 0xff
cmp eax, esi
cmovl esi, eax
movss xmm0, dword [esp + 0x2c]
sub esp, 8
mulss xmm0, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
addss xmm0, dword [eax + 0x44]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x24], xmm0
fld qword [esp + 0x24]
fstp qword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
movss xmm1, dword [0x1038683c]
add esp, 8
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
comiss xmm1, xmm0
jbe 0x1010df9c
movss xmm1, dword [0x10386844]
comiss xmm0, xmm1
ja 0x1010df9f
movaps xmm0, xmm1
cvttss2si eax, xmm0
test eax, eax
jns 0x1010dfab
xor edx, edx
jmp 0x1010dfb5
mov edx, 0xff
cmp eax, edx
cmovl edx, eax
mov ecx, dword [esp + 0x14]
cmp ecx, dword [edi]
jl 0x1010dfe3
cmp ecx, dword [edi + 8]
jge 0x1010dfe3
mov eax, dword [esp + 0x24]
cmp eax, dword [edi + 4]
jl 0x1010dfe3
cmp eax, dword [edi + 0xc]
jge 0x1010dfe3
mov eax, dword [ebx + 8]
imul eax, dword [esp + 0x24]
lea ecx, [eax + ecx*4]
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax]
jmp 0x1010dfe5
xor eax, eax
push edx
push esi
shr eax, 0x18
push ebp
push eax
call fcn.100433f0
mov ecx, dword [esp + 0x54]
add esp, 0x10
mov ebp, dword [esp + 0x10]
mov dword [ecx], eax
add ecx, 4
mov edx, dword [esp + 0x50]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, edx
jl 0x1010dd04
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, esi
jl 0x1010dcd0
pop esi
mov ecx, dword [esp + 0x54]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.1037e005
add esp, 0x4c
ret 0x14
mov eax, dword [ecx + 0x50]
cmp eax, 3
ja case.default.0x1010f628
jmp dword [eax*4 + 0x1010f660]
cmp byte [ecx + 0x54], 0
jne 0x1010cf70
jmp 0x1010d3e0
cmp byte [ecx + 0x54], 0
jne fcn.1010e050
jmp fcn.1010e500
cmp byte [ecx + 0x54], 0
jne 0x1010d7f0
jmp 0x1010dc60
ret 0x14