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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x7c
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x78], eax
mov eax, edx
mov dword [esp + 0x58], ecx
cmp edx, 1
je 0x1000ee70
cmp ecx, 1
je 0x1000eb47
mov esi, edx
imul eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
shr esi, 1
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x58]
sub ecx, eax
shr esi, 1
mov eax, ecx
mov dword [esp + 0x18], esi
test edx, edx
jne 0x1000e6db
mov esi, dword [esp + 0x18]
test esi, esi
je 0x1000e6d3
mov esi, dword [esp + 0x78]
add eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], 0
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
lea edx, [esi - 1]
movups xmm4, xmmword [0x10025340]
movupd xmm2, xmmword [0x100252b0]
mov eax, edx
mov dword [esp + 0x3c], edx
imul eax, edi
test edi, edi
mov ecx, eax
cmovs ecx, dword [ebp + 0x1c]
add ebx, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], ebx
add ebx, dword [ebp + 0x14]
test edi, edi
mov dword [esp + 0x40], ebx
lea ebx, [edx*4]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x44], ebx
mov ebx, eax
cmovns ebx, dword [ebp + 0x1c]
add eax, edi
add ecx, dword [ebp + 0x14]
mov dword [esp + 0x4c], eax
add edx, ebx
mov dword [esp + 0x2c], ebx
add ebx, dword [ebp + 0x14]
mov dword [esp + 0x30], ecx
mov ecx, esi
shr esi, 2
mov dword [esp + 0x48], ebx
mov ebx, ecx
lea eax, [ecx*4]
and ebx, 0xfffffffc
mov dword [esp + 0x38], edx
add edx, dword [ebp + 0x14]
mov dword [esp + 0x24], ebx
imul ebx, edi
mov dword [esp + 0x68], esi
lea esi, [edi*4]
mov dword [esp + 0x64], esi
lea esi, [edi + edi*2]
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], eax
mov eax, esi
mov esi, edi
mov edi, eax
lea esi, [esi]
mov ecx, dword [esp + 0x5c]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x60], 0
movsd xmm3, qword [0x10025208]
add eax, dword [ebp + 0x18]
mov dword [esp + 0x58], eax
test ecx, ecx
je 0x1000e6b9
lea esi, [esi]
lea edi, [edi]
mov ebx, dword [esp + 0x78]
test ebx, ebx
jle 0x1000e6a0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
add ecx, dword [ebp + 0xc]
add eax, dword [ebp + 8]
cmp ecx, eax
mov eax, dword [esp + 0x40]
setb bl
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
seta al
or ebx, eax
mov eax, dword [esp + 0x48]
add eax, dword [ebp + 8]
cmp ecx, eax
mov eax, dword [esp + 0x30]
setb dl
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
seta al
or eax, edx
and eax, ebx
cmp dword [esp + 0x3c], 3
mov ebx, dword [esp + 0x38]
seta dl
and eax, edx
mov edx, dword [esp + 0x34]
add edx, dword [ebp + 8]
cmp dword [ebp + 0xc], edx
seta dl
add ebx, dword [ebp + 8]
cmp ecx, ebx
setb bl
or edx, ebx
test al, dl
je 0x1000ea50
mov eax, dword [esp + 0x2c]
add eax, dword [ebp + 8]
cmp ecx, eax
mov eax, dword [esp + 0x28]
setb dl
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
seta al
or dl, al
je 0x1000ea50
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x6c], edi
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x74], 0
add eax, ebx
mov dword [esp + 0x70], eax
add ecx, ebx
add edx, ebx
lea esi, [esi]
mov edi, dword [esp + 0x6c]
movd xmm6, dword [ebx + esi*2]
movd xmm0, dword [ebx]
mov eax, dword [esp + 0x70]
movd xmm5, dword [ebx + edi]
punpckldq xmm6, xmm5
movd xmm5, dword [ebx + esi]
punpckldq xmm0, xmm5
movd xmm5, dword [ecx + edi]
punpcklqdq xmm0, xmm6
movd xmm6, dword [ecx + esi*2]
cvtdq2ps xmm7, xmm0
movd xmm0, dword [ecx]
punpckldq xmm6, xmm5
movd xmm5, dword [ecx + esi]
punpckldq xmm0, xmm5
movdqu xmm5, xmm0
punpcklqdq xmm5, xmm6
movd xmm6, dword [edx]
cvtdq2ps xmm0, xmm5
movd xmm5, dword [edx + edi]
addps xmm0, xmm7
movd xmm7, dword [edx + esi*2]
punpckldq xmm7, xmm5
movd xmm5, dword [edx + esi]
punpckldq xmm6, xmm5
movd xmm5, dword [eax + edi]
mov edi, dword [esp + 0x74]
punpcklqdq xmm6, xmm7
movd xmm7, dword [eax + esi*2]
add dword [esp + 0x74], 1
cvtdq2ps xmm6, xmm6
addps xmm0, xmm6
movd xmm6, dword [eax]
shl edi, 4
punpckldq xmm7, xmm5
movd xmm5, dword [eax + esi]
mov eax, dword [ebp + 0xc]
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm7
cvtdq2ps xmm6, xmm6
addps xmm0, xmm6
mulps xmm0, xmm4
movhlps xmm1, xmm0
cvtps2pd xmm6, xmm0
addpd xmm6, xmm2
cvtps2pd xmm7, xmm1
addpd xmm7, xmm2
cvttpd2dq xmm0, xmm6
cvttpd2dq xmm6, xmm7
punpcklqdq xmm0, xmm6
movups xmmword [eax + edi], xmm0
mov edi, dword [esp + 0x64]
add dword [esp + 0x70], edi
add ebx, edi
add ecx, edi
add edx, edi
mov edi, dword [esp + 0x74]
cmp dword [esp + 0x68], edi
jne 0x1000e520
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
add eax, dword [ebp + 8]
cmp dword [esp + 0x78], edx
je 0x1000e692
movss xmm6, dword [0x10025350]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x58]
lea esi, [esi]
mov ebx, dword [ebp + 0x18]
pxor xmm0, xmm0
pxor xmm7, xmm7
mov ecx, dword [ebp + 0x14]
cvtsi2ss xmm0, dword [eax]
cvtsi2ss xmm7, dword [eax + ebx]
mov ebx, dword [ebp + 0xc]
addss xmm0, xmm7
pxor xmm7, xmm7
cvtsi2ss xmm7, dword [eax + ecx]
addss xmm0, xmm7
pxor xmm7, xmm7
cvtsi2ss xmm7, dword [eax + edi]
add eax, esi
addss xmm0, xmm7
mulss xmm0, xmm6
cvtss2sd xmm0, xmm0
addsd xmm0, xmm3
cvttsd2si ecx, xmm0
mov dword [ebx + edx*4], ecx
add edx, 1
cmp dword [esp + 0x78], edx
jg 0x1000e638
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x4c]
add dword [ebp + 8], eax
mov eax, dword [esp + 0x54]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
add dword [esp + 0x60], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x5c], eax
jne 0x1000e460
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x18], eax
jne 0x1000e430
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test esi, esi
je 0x1000e6d3
mov esi, dword [esp + 0x78]
add eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], eax
movups xmm4, xmmword [0x10025340]
movupd xmm1, xmmword [0x100252b0]
lea eax, [esi - 1]
mov ecx, eax
mov dword [esp + 0x54], eax
mov eax, 3
imul ecx, edi
test edi, edi
lea edx, [ecx + 3]
cmovns eax, edx
mov edx, dword [ebp + 0x18]
mov ebx, eax
mov dword [esp + 0x2c], eax
add eax, dword [ebp + 0x18]
mov dword [esp + 0x44], eax
add eax, dword [ebp + 0x14]
test edi, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x54]
lea eax, [eax*4 + 3]
mov dword [esp + 0x3c], eax
mov eax, 0
cmovs eax, ecx
add ebx, dword [ebp + 0x14]
add ecx, edi
mov dword [esp + 0x34], ebx
add edx, eax
mov dword [esp + 0x28], eax
add eax, dword [ebp + 0x14]
mov dword [esp + 0x30], eax
mov eax, esi
shr esi, 2
mov ebx, eax
mov dword [esp + 0x48], edx
add edx, dword [ebp + 0x14]
shl eax, 2
and ebx, 0xfffffffc
mov dword [esp + 0x68], esi
lea esi, [edi*4]
mov dword [esp + 0x24], ebx
imul ebx, edi
mov dword [esp + 0x64], esi
lea esi, [edi + edi*2]
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
mov eax, esi
mov esi, edi
mov edi, eax
nop
lea esi, [esi]
mov eax, dword [ebp + 0x14]
add eax, dword [ebp + 0x18]
mov dword [esp + 0x60], 0
movsd xmm3, qword [0x10025208]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1000ea29
nop
mov edx, dword [esp + 0x78]
test edx, edx
jle 0x1000ea10
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
add ecx, dword [ebp + 0xc]
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
mov eax, dword [esp + 0x38]
seta bl
add eax, dword [ebp + 8]
cmp ecx, eax
setb al
or ebx, eax
mov eax, dword [esp + 0x34]
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
mov eax, dword [esp + 0x30]
seta dl
add eax, dword [ebp + 8]
cmp ecx, eax
setb al
or eax, edx
and eax, ebx
cmp dword [esp + 0x54], 3
mov ebx, dword [esp + 0x48]
seta dl
and eax, edx
mov edx, dword [esp + 0x44]
add edx, dword [ebp + 8]
cmp dword [ebp + 0xc], edx
seta dl
add ebx, dword [ebp + 8]
cmp ecx, ebx
setb bl
or edx, ebx
test al, dl
je 0x1000ead0
mov eax, dword [esp + 0x28]
add eax, dword [ebp + 8]
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setb dl
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
seta al
or dl, al
je 0x1000ead0
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x6c], edi
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x74], 0
add eax, ebx
mov dword [esp + 0x70], eax
add ecx, ebx
add edx, ebx
lea esi, [esi]
mov edi, dword [esp + 0x6c]
movd xmm6, dword [ebx + esi*2]
movd xmm0, dword [ebx]
mov eax, dword [esp + 0x70]
movd xmm5, dword [ebx + edi]
punpckldq xmm6, xmm5
movd xmm5, dword [ebx + esi]
punpckldq xmm0, xmm5
movd xmm5, dword [ecx + edi]
punpcklqdq xmm0, xmm6
movd xmm6, dword [ecx + esi*2]
cvtdq2ps xmm7, xmm0
movd xmm0, dword [ecx]
punpckldq xmm6, xmm5
movd xmm5, dword [ecx + esi]
punpckldq xmm0, xmm5
movdqu xmm5, xmm0
punpcklqdq xmm5, xmm6
movd xmm6, dword [edx]
cvtdq2ps xmm0, xmm5
movd xmm5, dword [edx + edi]
addps xmm0, xmm7
movd xmm7, dword [edx + esi*2]
punpckldq xmm7, xmm5
movd xmm5, dword [edx + esi]
punpckldq xmm6, xmm5
movd xmm5, dword [eax + edi]
mov edi, dword [esp + 0x74]
punpcklqdq xmm6, xmm7
movd xmm7, dword [eax + esi*2]
add dword [esp + 0x74], 1
cvtdq2ps xmm6, xmm6
addps xmm0, xmm6
movd xmm6, dword [eax]
shl edi, 4
punpckldq xmm7, xmm5
movd xmm5, dword [eax + esi]
mov eax, dword [ebp + 0xc]
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm7
cvtdq2ps xmm6, xmm6
addps xmm0, xmm6
mulps xmm0, xmm4
movhlps xmm2, xmm0
cvtps2pd xmm6, xmm0
addpd xmm6, xmm1
cvtps2pd xmm7, xmm2
addpd xmm7, xmm1
cvttpd2dq xmm0, xmm6
cvttpd2dq xmm6, xmm7
punpcklqdq xmm0, xmm6
movups xmmword [eax + edi], xmm0
mov edi, dword [esp + 0x64]
add dword [esp + 0x70], edi
add ebx, edi
add ecx, edi
add edx, edi
mov edi, dword [esp + 0x74]
cmp dword [esp + 0x68], edi
jne 0x1000e890
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
add eax, dword [ebp + 8]
cmp dword [esp + 0x78], edx
je 0x1000ea02
movss xmm6, dword [0x10025350]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0x58]
lea esi, [esi]
mov ebx, dword [ebp + 0x18]
pxor xmm0, xmm0
pxor xmm7, xmm7
mov ecx, dword [ebp + 0x14]
cvtsi2ss xmm0, dword [eax]
cvtsi2ss xmm7, dword [eax + ebx]
mov ebx, dword [ebp + 0xc]
addss xmm7, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + ecx]
addss xmm7, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + edi]
add eax, esi
addss xmm0, xmm7
mulss xmm0, xmm6
cvtss2sd xmm0, xmm0
addsd xmm0, xmm3
cvttsd2si ecx, xmm0
mov dword [ebx + edx*4], ecx
add edx, 1
cmp dword [esp + 0x78], edx
jg 0x1000e9a8
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
add dword [ebp + 8], eax
mov eax, dword [esp + 0x4c]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
add dword [esp + 0x60], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x5c], eax
jne 0x1000e7d0
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x18], eax
jne 0x1000e7a8
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x74], edi
mov eax, dword [ebp + 8]
xor edx, edx
movss xmm6, dword [0x10025350]
mov edi, dword [esp + 0x58]
lea esi, [esi]
mov ebx, dword [ebp + 0x18]
pxor xmm0, xmm0
pxor xmm7, xmm7
mov ecx, dword [ebp + 0x14]
cvtsi2ss xmm0, dword [eax]
cvtsi2ss xmm7, dword [eax + ebx]
mov ebx, dword [ebp + 0xc]
addss xmm0, xmm7
pxor xmm7, xmm7
cvtsi2ss xmm7, dword [eax + ecx]
addss xmm0, xmm7
pxor xmm7, xmm7
cvtsi2ss xmm7, dword [eax + edi]
add eax, esi
addss xmm0, xmm7
mulss xmm0, xmm6
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x10025208]
cvttsd2si ecx, xmm0
mov dword [ebx + edx*4], ecx
add edx, 1
cmp dword [esp + 0x78], edx
jne 0x1000ea68
jmp 0x1000e68e
mov dword [esp + 0x74], edi
mov eax, dword [ebp + 8]
xor edx, edx
movss xmm6, dword [0x10025350]
mov edi, dword [esp + 0x58]
lea esi, [esi]
mov ebx, dword [ebp + 0x18]
pxor xmm0, xmm0
pxor xmm7, xmm7
mov ecx, dword [ebp + 0x14]
cvtsi2ss xmm0, dword [eax]
cvtsi2ss xmm7, dword [eax + ebx]
mov ebx, dword [ebp + 0xc]
addss xmm7, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + ecx]
addss xmm7, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [eax + edi]
add eax, esi
addss xmm0, xmm7
mulss xmm0, xmm6
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x10025208]
cvttsd2si ecx, xmm0
mov dword [ebx + edx*4], ecx
add edx, 1
cmp dword [esp + 0x78], edx
jne 0x1000eae8
jmp 0x1000e9fe
cmp edx, 1
je 0x1000ee70
cmp eax, dword [esp + 0x58]
je 0x1000f274
cmp dword [esp + 0x58], 1
je 0x1000ef21
mov eax, dword [esp + 0x58]
shr eax, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x34], eax
je 0x1000f244
mov esi, dword [esp + 0x78]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x60], 0
movdqu xmm6, xmmword [0x100252f0]
movups xmm5, xmmword [0x10025300]
movupd xmm3, xmmword [0x100252b0]
lea ebx, [esi - 1]
add eax, eax
sub eax, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x54], eax
mov eax, 3
imul ecx, edi
test edi, edi
mov dword [esp + 0x28], ebx
lea edx, [ecx + 3]
cmovns eax, edx
mov dword [esp + 0x38], eax
add eax, dword [ebp + 0x14]
test edi, edi
mov dword [esp + 0x3c], eax
lea eax, [ebx*4 + 3]
mov dword [esp + 0x40], eax
mov eax, 0
cmovs eax, ecx
add ecx, edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], eax
add eax, dword [ebp + 0x14]
mov dword [esp + 0x48], eax
mov eax, esi
shr esi, 2
mov ebx, eax
shl eax, 2
mov dword [esp + 0x68], esi
lea esi, [edi*4]
and ebx, 0xfffffffc
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], ebx
imul ebx, edi
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x6c], esi
lea esi, [edi + edi*2]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x78]
test ecx, ecx
jle 0x1000edfb
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x40]
add edx, ebx
cmp eax, edx
mov edx, dword [esp + 0x38]
setb cl
add edx, ebx
cmp dword [esp + 0x74], edx
seta dl
or edx, ecx
mov ecx, dword [esp + 0x48]
add ecx, ebx
cmp eax, ecx
mov ecx, dword [esp + 0x3c]
setb al
add ecx, ebx
cmp dword [esp + 0x74], ecx
seta cl
or eax, ecx
test dl, al
je 0x1000eea0
cmp dword [esp + 0x28], 3
jbe 0x1000eea0
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x70], esi
mov eax, ebx
xor ecx, ecx
add edx, ebx
lea esi, [esi]
mov esi, dword [esp + 0x70]
movd xmm1, dword [edx + edi*2]
mov ebx, ecx
add ecx, 1
movd xmm0, dword [edx]
shl ebx, 4
movd xmm2, dword [edx + esi]
movd xmm7, dword [eax + esi]
mov esi, dword [esp + 0x74]
punpckldq xmm1, xmm2
movd xmm2, dword [edx + edi]
punpckldq xmm0, xmm2
movd xmm2, dword [eax + edi*2]
punpcklqdq xmm0, xmm1
movdqu xmm1, xmm0
psrld xmm0, 0x10
punpckldq xmm2, xmm7
movd xmm7, dword [eax + edi]
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm5
pand xmm1, xmm6
cvtdq2ps xmm1, xmm1
addps xmm1, xmm0
movd xmm0, dword [eax]
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm2
movdqu xmm2, xmm0
psrld xmm0, 0x10
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm5
pand xmm2, xmm6
cvtdq2ps xmm2, xmm2
addps xmm0, xmm2
addps xmm1, xmm0
movhlps xmm4, xmm1
cvtps2pd xmm0, xmm1
cvtps2pd xmm1, xmm4
mulpd xmm0, xmm3
mulpd xmm1, xmm3
cvttpd2dq xmm0, xmm0
cvttpd2dq xmm1, xmm1
punpcklqdq xmm0, xmm1
movups xmmword [esi + ebx], xmm0
mov ebx, dword [esp + 0x6c]
add edx, ebx
add eax, ebx
cmp ecx, dword [esp + 0x68]
jne 0x1000eca0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x70]
add edx, dword [esp + 0x30]
cmp ecx, eax
je 0x1000edeb
movss xmm1, dword [0x100252e8]
mov esi, dword [ebp + 0x14]
lea esi, [esi]
mov eax, dword [edx + esi]
pxor xmm0, xmm0
pxor xmm2, xmm2
pxor xmm7, xmm7
movzx ebx, ax
shr eax, 0x10
cvtsi2ss xmm0, eax
mov eax, dword [edx]
add edx, edi
cvtsi2ss xmm2, ebx
movzx ebx, ax
shr eax, 0x10
cvtsi2ss xmm7, ebx
mov ebx, dword [esp + 0x74]
mulss xmm0, xmm1
addss xmm0, xmm2
pxor xmm2, xmm2
cvtsi2ss xmm2, eax
mulss xmm2, xmm1
addss xmm2, xmm7
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x10025208]
cvttsd2si eax, xmm0
mov dword [ebx + ecx*4], eax
add ecx, 1
cmp dword [esp + 0x78], ecx
jg 0x1000ed80
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x50]
add dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x74], ecx
add dword [esp + 0x60], 1
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x60]
add dword [esp + 0x64], ecx
cmp dword [esp + 0x5c], eax
jne 0x1000ec2e
mov eax, dword [esp + 0x58]
imul eax, dword [ebp + 0x14]
add eax, dword [ebp + 8]
cmp dword [esp + 0x64], eax
jne 0x1000f257
mov dword [esp + 0x64], 1
mov eax, dword [esp + 0x78]
imul eax, edi
imul eax, dword [esp + 0x64]
imul eax, dword [esp + 0x34]
add eax, dword [ebp + 0xc]
cmp dword [esp + 0x74], eax
je 0x1000e6d3
mov dword [esp + 8], 0x43b
mov dword [esp + 4], str._home_runner_build_wine_wine_dlls_glu32_mipmap.c
mov dword [esp], str._char__dest____char__dataOut___components__element_size__halfWidth__halfHeight_
call dword [sym.imp.ucrtbase.dll__assert]
nop
cmp dword [esp + 0x58], 1
jne 0x1000eb50
mov dword [esp + 8], 0x3ba
mov dword [esp + 4], str._home_runner_build_wine_wine_dlls_glu32_mipmap.c
mov dword [esp], str.__width__1__height__1_
call dword [sym.imp.ucrtbase.dll__assert]
nop
lea esi, [esi]
mov dword [esp + 0x70], esi
mov ecx, dword [esp + 0x64]
xor edx, edx
movss xmm1, dword [0x100252e8]
mov esi, dword [ebp + 0x14]
mov eax, dword [ecx + esi]
pxor xmm0, xmm0
pxor xmm2, xmm2
pxor xmm7, xmm7
movzx ebx, ax
shr eax, 0x10
cvtsi2ss xmm0, eax
mov eax, dword [ecx]
add ecx, edi
cvtsi2ss xmm2, ebx
movzx ebx, ax
shr eax, 0x10
cvtsi2ss xmm7, ebx
mov ebx, dword [esp + 0x74]
mulss xmm0, xmm1
addss xmm0, xmm2
pxor xmm2, xmm2
cvtsi2ss xmm2, eax
mulss xmm2, xmm1
addss xmm2, xmm7
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x10025208]
cvttsd2si eax, xmm0
mov dword [ebx + edx*4], eax
add edx, 1
cmp dword [esp + 0x78], edx
jne 0x1000eeb5
jmp 0x1000ede7
cmp eax, 1
je 0x1000f291
shr eax, 1
mov dword [esp + 0x60], eax
je 0x1000e6d3
mov esi, dword [esp + 0x78]
mov eax, 3
mov dword [esp + 0x64], 0
movdqu xmm6, xmmword [0x100252f0]
movups xmm5, xmmword [0x10025300]
movupd xmm4, xmmword [0x100252b0]
lea ebx, [esi - 1]
mov ecx, ebx
mov dword [esp + 0x40], ebx
imul ecx, edi
test edi, edi
lea edx, [ecx + 3]
cmovns eax, edx
mov dword [esp + 0x44], eax
add eax, dword [ebp + 0x18]
test edi, edi
mov dword [esp + 0x50], eax
lea eax, [ebx*4 + 3]
mov dword [esp + 0x5c], eax
mov eax, 0
cmovs eax, ecx
add ecx, edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], eax
add eax, dword [ebp + 0x18]
mov dword [esp + 0x48], eax
mov eax, esi
shr esi, 2
mov ebx, eax
shl eax, 2
mov dword [esp + 0x68], esi
lea esi, [edi*4]
and ebx, 0xfffffffc
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], ebx
imul ebx, edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], esi
lea esi, [edi + edi*2]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x78]
test ebx, ebx
jle 0x1000f19a
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
add eax, dword [ebp + 8]
add ecx, ebx
cmp ebx, eax
mov eax, dword [esp + 0x48]
seta dl
add eax, dword [ebp + 8]
cmp ecx, eax
setb al
or edx, eax
mov eax, dword [esp + 0x44]
add eax, dword [ebp + 8]
cmp ebx, eax
mov ebx, dword [esp + 0x4c]
seta al
add ebx, dword [ebp + 8]
cmp ecx, ebx
setb cl
or eax, ecx
test dl, al
mov edx, dword [ebp + 8]
je 0x1000f1c0
cmp dword [esp + 0x40], 3
jbe 0x1000f1c0
mov eax, dword [ebp + 8]
add edx, dword [ebp + 0x18]
mov dword [esp + 0x70], esi
xor ecx, ecx
lea esi, [esi]
mov esi, dword [esp + 0x70]
movd xmm1, dword [edx + edi*2]
mov ebx, ecx
add ecx, 1
movd xmm0, dword [edx]
shl ebx, 4
movd xmm2, dword [edx + esi]
movd xmm7, dword [eax + esi]
mov esi, dword [esp + 0x74]
punpckldq xmm1, xmm2
movd xmm2, dword [edx + edi]
punpckldq xmm0, xmm2
movd xmm2, dword [eax + edi*2]
punpcklqdq xmm0, xmm1
movdqu xmm1, xmm0
psrld xmm0, 0x10
punpckldq xmm2, xmm7
movd xmm7, dword [eax + edi]
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm5
pand xmm1, xmm6
cvtdq2ps xmm1, xmm1
addps xmm1, xmm0
movd xmm0, dword [eax]
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm2
movdqu xmm2, xmm0
psrld xmm0, 0x10
cvtdq2ps xmm0, xmm0
mulps xmm0, xmm5
pand xmm2, xmm6
cvtdq2ps xmm2, xmm2
addps xmm0, xmm2
addps xmm1, xmm0
movhlps xmm3, xmm1
cvtps2pd xmm0, xmm1
cvtps2pd xmm1, xmm3
mulpd xmm0, xmm4
mulpd xmm1, xmm4
cvttpd2dq xmm0, xmm0
cvttpd2dq xmm1, xmm1
punpcklqdq xmm0, xmm1
movups xmmword [esi + ebx], xmm0
mov ebx, dword [esp + 0x6c]
add edx, ebx
add eax, ebx
cmp ecx, dword [esp + 0x68]
jne 0x1000f048
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x38]
add edx, dword [ebp + 8]
cmp dword [esp + 0x78], ecx
je 0x1000f18b
movss xmm1, dword [0x100252e8]
mov esi, dword [ebp + 0x18]
nop
mov eax, dword [edx + esi]
pxor xmm0, xmm0
pxor xmm2, xmm2
pxor xmm7, xmm7
movzx ebx, ax
shr eax, 0x10
cvtsi2ss xmm0, eax
mov eax, dword [edx]
add edx, edi
cvtsi2ss xmm2, ebx
movzx ebx, ax
shr eax, 0x10
cvtsi2ss xmm7, ebx
mov ebx, dword [esp + 0x74]
mulss xmm0, xmm1
addss xmm0, xmm2
pxor xmm2, xmm2
cvtsi2ss xmm2, eax
mulss xmm2, xmm1
addss xmm2, xmm7
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x10025208]
cvttsd2si eax, xmm0
mov dword [ebx + ecx*4], eax
add ecx, 1
cmp dword [esp + 0x78], ecx
jg 0x1000f120
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
add dword [ebp + 8], eax
add dword [esp + 0x74], ecx
mov eax, dword [ebp + 0x18]
add dword [esp + 0x64], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x60], eax
jne 0x1000efd8
mov dword [esp + 0x34], 1
jmp 0x1000ee33
movss xmm1, dword [0x100252e8]
mov dword [esp + 0x70], esi
xor ebx, ebx
mov esi, dword [ebp + 0x18]
lea esi, [esi]
mov eax, dword [edx]
pxor xmm0, xmm0
pxor xmm2, xmm2
pxor xmm7, xmm7
movzx ecx, ax
shr eax, 0x10
cvtsi2ss xmm0, eax
mov eax, dword [edx + esi]
add edx, edi
cvtsi2ss xmm2, ecx
movzx ecx, ax
shr eax, 0x10
cvtsi2ss xmm7, ecx
mov ecx, dword [esp + 0x74]
mulss xmm0, xmm1
addss xmm0, xmm2
pxor xmm2, xmm2
cvtsi2ss xmm2, eax
mulss xmm2, xmm1
addss xmm2, xmm7
addss xmm0, xmm2
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x10025208]
cvttsd2si eax, xmm0
mov dword [ecx + ebx*4], eax
add ebx, 1
cmp dword [esp + 0x78], ebx
jne 0x1000f1d8
jmp 0x1000f187
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x64], eax
jmp 0x1000ee16
mov dword [esp + 8], 0x438
mov dword [esp + 4], str._home_runner_build_wine_wine_dlls_glu32_mipmap.c
mov dword [esp], str.src____const_char__dataIn__ysizeheight_
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0x3fc
mov dword [esp + 4], str._home_runner_build_wine_wine_dlls_glu32_mipmap.c
mov dword [esp], str.width___height
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0x3ff
mov dword [esp + 4], str._home_runner_build_wine_wine_dlls_glu32_mipmap.c
mov dword [esp], str.width___1
call dword [sym.imp.ucrtbase.dll__assert]
nop