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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x9c
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x98], eax
mov eax, edx
mov dword [esp + 0x64], ecx
cmp edx, 1
je 0x1000c728
cmp ecx, 1
je 0x1000c32c
mov esi, edx
imul eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
shr esi, 1
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x64]
sub ebx, eax
shr esi, 1
mov eax, ebx
mov dword [esp + 0x18], esi
test edx, edx
jne 0x1000bbc6
mov esi, dword [esp + 0x18]
test esi, esi
je 0x1000bbbe
add eax, dword [ebp + 0x14]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], eax
mov ecx, dword [ebp + 0x18]
lea edx, [esi - 1]
mov eax, edx
mov dword [esp + 0x48], edx
imul eax, edi
test edi, edi
mov ebx, eax
cmovs ebx, dword [ebp + 0x1c]
add ecx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ecx
add ecx, dword [ebp + 0x14]
test edi, edi
mov dword [esp + 0x54], ecx
lea ecx, [edx*4]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x30], ecx
mov ecx, eax
cmovns ecx, dword [ebp + 0x1c]
add eax, edi
add ebx, dword [ebp + 0x14]
mov dword [esp + 0x44], eax
add edx, ecx
mov dword [esp + 0x28], ecx
add ecx, dword [ebp + 0x14]
mov dword [esp + 0x40], ebx
mov ebx, esi
shr esi, 2
mov dword [esp + 0x4c], ecx
mov ecx, ebx
lea eax, [ebx*4]
and ecx, 0xfffffffc
mov dword [esp + 0x38], edx
add edx, dword [ebp + 0x14]
mov dword [esp + 0x24], ecx
imul ecx, edi
mov dword [esp + 0x64], esi
lea esi, [edi*4]
mov dword [esp + 0x60], esi
lea esi, [edi + edi*2]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x50], eax
mov eax, esi
mov esi, edi
mov edi, eax
lea esi, [esi]
lea edi, [edi]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x5c], 0
test ecx, ecx
je 0x1000bba4
lea esi, [esi]
mov ebx, dword [esp + 0x98]
test ebx, ebx
jle 0x1000bb8b
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
add ecx, dword [ebp + 0xc]
add ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
add eax, dword [ebp + 0x18]
cmp ecx, ebx
setb bl
mov edx, dword [esp + 0x40]
add edx, dword [ebp + 8]
mov dword [esp + 0x8c], eax
cmp dword [ebp + 0xc], edx
mov edx, dword [esp + 0x54]
seta al
add edx, dword [ebp + 8]
or ebx, eax
cmp dword [ebp + 0xc], edx
mov eax, dword [esp + 0x3c]
seta dl
add eax, dword [ebp + 8]
cmp ecx, eax
setb al
or eax, edx
and eax, ebx
cmp dword [esp + 0x48], 0x21
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 0x1000c140
mov ebx, dword [esp + 0x28]
add ebx, dword [ebp + 8]
cmp ecx, ebx
mov ebx, dword [esp + 0x2c]
setb dl
add ebx, dword [ebp + 8]
cmp dword [ebp + 0xc], ebx
seta al
or dl, al
je 0x1000c140
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x68], edi
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x94], 0
add eax, ebx
mov dword [esp + 0x90], eax
add ecx, ebx
add edx, ebx
lea esi, [esi]
mov edi, dword [esp + 0x68]
movd xmm6, dword [ebx + esi]
movd xmm3, dword [ebx]
movd xmm0, dword [ebx + esi*2]
movd xmm5, dword [ebx + edi]
movd xmm2, dword [ecx]
punpckldq xmm3, xmm6
movd xmm6, dword [ecx + esi]
movd xmm4, dword [edx + esi*2]
punpckldq xmm0, xmm5
movdqu xmm1, xmm3
movd xmm5, dword [ecx + edi]
mov eax, dword [esp + 0x90]
punpcklqdq xmm1, xmm0
movd xmm0, dword [ecx + esi*2]
punpckldq xmm2, xmm6
cvtdq2pd xmm3, xmm3
movdqu xmm6, xmm2
movd xmm7, dword [eax + esi*2]
movups xmmword [esp + 0x7c], xmm1
cvtdq2pd xmm2, xmm2
punpckldq xmm0, xmm5
movd xmm5, dword [edx + edi]
movd xmm1, dword [eax + esi]
punpcklqdq xmm6, xmm0
movd xmm0, dword [edx]
punpckldq xmm4, xmm5
movd xmm5, dword [edx + esi]
punpckldq xmm0, xmm5
movdqu xmm5, xmm0
cvtdq2pd xmm0, xmm0
punpcklqdq xmm5, xmm4
movd xmm4, dword [eax + edi]
punpckldq xmm7, xmm4
movd xmm4, dword [eax]
punpckldq xmm4, xmm1
movdqu xmm1, xmm4
cvtdq2pd xmm4, xmm4
punpcklqdq xmm1, xmm7
pxor xmm7, xmm7
movups xmmword [esp + 0x6c], xmm1
movupd xmm1, xmm3
cmpltpd xmm1, xmm7
movupd xmm7, xmmword [0x100252a0]
andpd xmm7, xmm1
movupd xmm1, xmm2
addpd xmm3, xmm7
pxor xmm7, xmm7
cmpltpd xmm1, xmm7
movupd xmm7, xmmword [0x100252a0]
andpd xmm7, xmm1
pshufd xmm1, xmmword [esp + 0x7c], 0xee
addpd xmm2, xmm7
pxor xmm7, xmm7
addpd xmm3, xmm2
movupd xmm2, xmm0
cmpltpd xmm2, xmm7
andpd xmm2, xmmword [0x100252a0]
addpd xmm0, xmm2
cvtdq2pd xmm2, xmm1
movupd xmm1, xmmword [0x100252a0]
addpd xmm3, xmm0
movupd xmm0, xmm4
cmpltpd xmm0, xmm7
andpd xmm0, xmmword [0x100252a0]
addpd xmm4, xmm0
addpd xmm4, xmm3
movupd xmm3, xmmword [0x100252d0]
mulpd xmm3, xmm4
movupd xmm4, xmm2
addpd xmm3, xmmword [0x100252b0]
cmpltpd xmm4, xmm7
andpd xmm1, xmm4
pshufd xmm4, xmm6, 0xee
cvtdq2pd xmm6, xmm4
movupd xmm0, xmm6
addpd xmm2, xmm1
pshufd xmm4, xmm5, 0xee
cmpltpd xmm0, xmm7
cvtdq2pd xmm5, xmm4
pshufd xmm4, xmmword [esp + 0x6c], 0xee
andpd xmm0, xmmword [0x100252a0]
addpd xmm6, xmm0
addpd xmm6, xmm2
movupd xmm2, xmm5
cmpltpd xmm2, xmm7
andpd xmm2, xmmword [0x100252a0]
addpd xmm5, xmm2
cvtdq2pd xmm2, xmm4
movupd xmm0, xmm2
cmpltpd xmm0, xmm7
andpd xmm0, xmmword [0x100252a0]
addpd xmm5, xmm6
addpd xmm2, xmm0
addpd xmm2, xmm5
mulpd xmm2, xmmword [0x100252d0]
mov edi, dword [esp + 0x94]
movupd xmm1, xmmword [0x10025230]
mov eax, dword [ebp + 0xc]
movupd xmm0, xmmword [0x100252b0]
shl edi, 4
movupd xmm4, xmmword [0x10025230]
cmplepd xmm1, xmm3
add dword [esp + 0x94], 1
addpd xmm0, xmm2
movupd xmm2, xmmword [0x10025230]
andpd xmm2, xmm1
pslld xmm1, 0x1f
subpd xmm3, xmm2
movupd xmm2, xmmword [0x10025230]
cmplepd xmm2, xmm0
cvttpd2dq xmm3, xmm3
andpd xmm4, xmm2
pslld xmm2, 0x1f
subpd xmm0, xmm4
shufps xmm1, xmm2, 0x88
cvttpd2dq xmm0, xmm0
punpcklqdq xmm3, xmm0
pxor xmm3, xmm1
movups xmmword [eax + edi], xmm3
mov edi, dword [esp + 0x60]
add dword [esp + 0x90], edi
add ebx, edi
add ecx, edi
add edx, edi
mov edi, dword [esp + 0x94]
cmp dword [esp + 0x64], edi
jne 0x1000b800
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
add edx, dword [ebp + 8]
cmp dword [esp + 0x98], ecx
je 0x1000bb7d
mov dword [esp + 0x94], esi
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x90], edi
mov edi, dword [ebp + 0x18]
lea esi, [esi]
mov eax, dword [edx]
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm5, xmm5
movupd xmm6, xmmword [0x10025230]
mov ebx, dword [ebp + 0xc]
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [edx + edi]
movupd xmm3, xmm6
addsd xmm0, qword [0x100252c0]
add eax, 0x80000000
cvtsi2sd xmm1, eax
mov eax, dword [edx + esi]
addsd xmm1, qword [0x100252c0]
add eax, 0x80000000
addsd xmm0, xmm1
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
mov eax, dword [esp + 0x8c]
addsd xmm1, qword [0x100252c0]
mov eax, dword [edx + eax]
add edx, dword [esp + 0x94]
addsd xmm0, xmm1
pxor xmm1, xmm1
add eax, 0x80000000
cvtsi2sd xmm1, eax
addsd xmm1, qword [0x100252c0]
addsd xmm0, xmm1
mulsd xmm0, qword [0x100252e0]
addsd xmm0, qword [0x10025208]
movsd xmm5, xmm0
cmplepd xmm6, xmm5
andpd xmm3, xmm6
pslld xmm6, 0x1f
subpd xmm5, xmm3
cvttpd2dq xmm5, xmm5
pxor xmm5, xmm6
movd dword [ebx + ecx*4], xmm5
add ecx, 1
cmp dword [esp + 0x98], ecx
jg 0x1000baa0
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x44]
add dword [ebp + 8], eax
mov eax, dword [esp + 0x50]
add dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x18]
add dword [esp + 0x5c], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x58], eax
jne 0x1000b728
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 0x1000b710
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test esi, esi
je 0x1000bbbe
mov esi, dword [esp + 0x98]
add eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], eax
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]
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 + 0x64], esi
lea esi, [edi*4]
mov dword [esp + 0x24], ebx
imul ebx, edi
mov dword [esp + 0x60], esi
lea esi, [edi + edi*2]
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ebx
lea ebx, [edi + ecx]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], eax
mov eax, esi
mov esi, edi
mov edi, eax
nop
lea esi, [esi]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], 0
test eax, eax
je 0x1000c11c
lea esi, [esi]
mov edx, dword [esp + 0x98]
test edx, edx
jle 0x1000c103
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x3c]
add eax, dword [ebp + 0x18]
add ecx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x40]
add ebx, dword [ebp + 8]
mov dword [esp + 0x8c], eax
cmp dword [ebp + 0xc], ebx
mov edx, dword [esp + 0x38]
seta bl
add edx, dword [ebp + 8]
cmp ecx, edx
mov edx, dword [esp + 0x34]
setb al
add edx, dword [ebp + 8]
or ebx, eax
cmp dword [ebp + 0xc], edx
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], 0x21
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 0x1000c238
mov ebx, dword [esp + 0x28]
add ebx, dword [ebp + 8]
cmp ecx, ebx
mov ebx, dword [esp + 0x2c]
setb dl
add ebx, dword [ebp + 8]
cmp dword [ebp + 0xc], ebx
seta al
or dl, al
je 0x1000c238
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x68], edi
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x94], 0
add eax, ebx
mov dword [esp + 0x90], eax
add ecx, ebx
add edx, ebx
lea esi, [esi]
mov edi, dword [esp + 0x68]
movd xmm0, dword [ebx + esi*2]
movd xmm3, dword [ebx]
movd xmm2, dword [ecx]
movd xmm6, dword [ebx + edi]
movd xmm5, dword [ecx + edi]
movd xmm4, dword [edx + esi*2]
mov eax, dword [esp + 0x90]
punpckldq xmm0, xmm6
movd xmm6, dword [ebx + esi]
movd xmm7, dword [eax + esi*2]
punpckldq xmm3, xmm6
movd xmm6, dword [ecx + esi]
movdqu xmm1, xmm3
cvtdq2pd xmm3, xmm3
punpcklqdq xmm1, xmm0
movd xmm0, dword [ecx + esi*2]
punpckldq xmm2, xmm6
movdqu xmm6, xmm2
movups xmmword [esp + 0x7c], xmm1
movd xmm1, dword [eax + esi]
cvtdq2pd xmm2, xmm2
punpckldq xmm0, xmm5
movd xmm5, dword [edx + edi]
punpcklqdq xmm6, xmm0
movd xmm0, dword [edx]
punpckldq xmm4, xmm5
movd xmm5, dword [edx + esi]
punpckldq xmm0, xmm5
movdqu xmm5, xmm0
cvtdq2pd xmm0, xmm0
punpcklqdq xmm5, xmm4
movd xmm4, dword [eax + edi]
punpckldq xmm7, xmm4
movd xmm4, dword [eax]
punpckldq xmm4, xmm1
movdqu xmm1, xmm4
cvtdq2pd xmm4, xmm4
punpcklqdq xmm1, xmm7
pxor xmm7, xmm7
movups xmmword [esp + 0x6c], xmm1
movupd xmm1, xmm3
cmpltpd xmm1, xmm7
movupd xmm7, xmmword [0x100252a0]
andpd xmm7, xmm1
movupd xmm1, xmm2
addpd xmm3, xmm7
pxor xmm7, xmm7
cmpltpd xmm1, xmm7
movupd xmm7, xmmword [0x100252a0]
andpd xmm7, xmm1
pshufd xmm1, xmmword [esp + 0x7c], 0xee
addpd xmm2, xmm7
pxor xmm7, xmm7
addpd xmm3, xmm2
movupd xmm2, xmm0
cmpltpd xmm2, xmm7
andpd xmm2, xmmword [0x100252a0]
addpd xmm0, xmm2
cvtdq2pd xmm2, xmm1
movupd xmm1, xmmword [0x100252a0]
addpd xmm3, xmm0
movupd xmm0, xmm4
cmpltpd xmm0, xmm7
andpd xmm0, xmmword [0x100252a0]
addpd xmm4, xmm0
addpd xmm4, xmm3
movupd xmm3, xmmword [0x100252d0]
mulpd xmm3, xmm4
movupd xmm4, xmm2
addpd xmm3, xmmword [0x100252b0]
cmpltpd xmm4, xmm7
andpd xmm1, xmm4
pshufd xmm4, xmm6, 0xee
cvtdq2pd xmm6, xmm4
movupd xmm0, xmm6
addpd xmm2, xmm1
pshufd xmm4, xmm5, 0xee
cmpltpd xmm0, xmm7
cvtdq2pd xmm5, xmm4
pshufd xmm4, xmmword [esp + 0x6c], 0xee
andpd xmm0, xmmword [0x100252a0]
addpd xmm6, xmm0
addpd xmm6, xmm2
movupd xmm2, xmm5
cmpltpd xmm2, xmm7
andpd xmm2, xmmword [0x100252a0]
addpd xmm5, xmm2
cvtdq2pd xmm2, xmm4
movupd xmm0, xmm2
cmpltpd xmm0, xmm7
andpd xmm0, xmmword [0x100252a0]
addpd xmm5, xmm6
addpd xmm2, xmm0
addpd xmm2, xmm5
mulpd xmm2, xmmword [0x100252d0]
mov edi, dword [esp + 0x94]
movupd xmm1, xmmword [0x10025230]
mov eax, dword [ebp + 0xc]
movupd xmm0, xmmword [0x100252b0]
shl edi, 4
movupd xmm4, xmmword [0x10025230]
cmplepd xmm1, xmm3
add dword [esp + 0x94], 1
addpd xmm0, xmm2
movupd xmm2, xmmword [0x10025230]
andpd xmm2, xmm1
pslld xmm1, 0x1f
subpd xmm3, xmm2
movupd xmm2, xmmword [0x10025230]
cmplepd xmm2, xmm0
cvttpd2dq xmm3, xmm3
andpd xmm4, xmm2
pslld xmm2, 0x1f
subpd xmm0, xmm4
shufps xmm1, xmm2, 0x88
cvttpd2dq xmm0, xmm0
punpcklqdq xmm3, xmm0
pxor xmm3, xmm1
movups xmmword [eax + edi], xmm3
mov edi, dword [esp + 0x60]
add dword [esp + 0x90], edi
add ebx, edi
add ecx, edi
add edx, edi
mov edi, dword [esp + 0x94]
cmp dword [esp + 0x64], edi
jne 0x1000bd78
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
add edx, dword [ebp + 8]
cmp dword [esp + 0x98], ecx
je 0x1000c0f5
mov dword [esp + 0x94], esi
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x90], edi
mov edi, dword [ebp + 0x18]
lea esi, [esi]
mov eax, dword [edx]
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm6, xmm6
movupd xmm5, xmmword [0x10025230]
mov ebx, dword [ebp + 0xc]
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [edx + edi]
movupd xmm3, xmm5
addsd xmm0, qword [0x100252c0]
add eax, 0x80000000
cvtsi2sd xmm1, eax
mov eax, dword [edx + esi]
addsd xmm1, qword [0x100252c0]
add eax, 0x80000000
addsd xmm0, xmm1
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
mov eax, dword [esp + 0x8c]
addsd xmm1, qword [0x100252c0]
mov eax, dword [edx + eax]
add edx, dword [esp + 0x94]
addsd xmm0, xmm1
pxor xmm1, xmm1
add eax, 0x80000000
cvtsi2sd xmm1, eax
addsd xmm1, qword [0x100252c0]
addsd xmm0, xmm1
mulsd xmm0, qword [0x100252e0]
addsd xmm0, qword [0x10025208]
movsd xmm6, xmm0
cmplepd xmm5, xmm6
andpd xmm3, xmm5
pslld xmm5, 0x1f
subpd xmm6, xmm3
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm5
movd dword [ebx + ecx*4], xmm6
add ecx, 1
cmp dword [esp + 0x98], ecx
jg 0x1000c018
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
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 + 0x5c], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x58], eax
jne 0x1000bca0
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 0x1000bc88
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x94], esi
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x90], edi
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
lea esi, [esi]
mov eax, dword [edx]
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm6, xmm6
movupd xmm5, xmmword [0x10025230]
mov ebx, dword [ebp + 0xc]
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [edx + edi]
movupd xmm3, xmm5
addsd xmm0, qword [0x100252c0]
add eax, 0x80000000
cvtsi2sd xmm1, eax
mov eax, dword [edx + esi]
addsd xmm1, qword [0x100252c0]
add eax, 0x80000000
addsd xmm0, xmm1
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
mov eax, dword [esp + 0x8c]
addsd xmm1, qword [0x100252c0]
mov eax, dword [edx + eax]
add edx, dword [esp + 0x94]
addsd xmm0, xmm1
pxor xmm1, xmm1
add eax, 0x80000000
cvtsi2sd xmm1, eax
addsd xmm1, qword [0x100252c0]
addsd xmm0, xmm1
mulsd xmm0, qword [0x100252e0]
addsd xmm0, qword [0x10025208]
movsd xmm6, xmm0
cmplepd xmm5, xmm6
andpd xmm3, xmm5
pslld xmm5, 0x1f
subpd xmm6, xmm3
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm5
movd dword [ebx + ecx*4], xmm6
add ecx, 1
cmp dword [esp + 0x98], ecx
jne 0x1000c160
jmp 0x1000bb6f
mov dword [esp + 0x94], esi
mov edx, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x90], edi
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
lea esi, [esi]
mov eax, dword [edx]
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm6, xmm6
movupd xmm5, xmmword [0x10025230]
mov ebx, dword [ebp + 0xc]
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [edx + edi]
movupd xmm3, xmm5
addsd xmm0, qword [0x100252c0]
add eax, 0x80000000
cvtsi2sd xmm1, eax
mov eax, dword [edx + esi]
addsd xmm1, qword [0x100252c0]
add eax, 0x80000000
addsd xmm0, xmm1
pxor xmm1, xmm1
cvtsi2sd xmm1, eax
mov eax, dword [esp + 0x8c]
addsd xmm1, qword [0x100252c0]
mov eax, dword [edx + eax]
add edx, dword [esp + 0x94]
addsd xmm0, xmm1
pxor xmm1, xmm1
add eax, 0x80000000
cvtsi2sd xmm1, eax
addsd xmm1, qword [0x100252c0]
addsd xmm0, xmm1
mulsd xmm0, qword [0x100252e0]
addsd xmm0, qword [0x10025208]
movsd xmm6, xmm0
cmplepd xmm5, xmm6
andpd xmm3, xmm5
pslld xmm5, 0x1f
subpd xmm6, xmm3
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm5
movd dword [ebx + ecx*4], xmm6
add ecx, 1
cmp dword [esp + 0x98], ecx
jne 0x1000c258
jmp 0x1000c0e7
cmp edx, 1
je 0x1000c728
cmp eax, dword [esp + 0x64]
je 0x1000cc1c
cmp dword [esp + 0x64], 1
je 0x1000c7e8
mov eax, dword [esp + 0x64]
shr eax, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], eax
je 0x1000cbed
mov esi, dword [esp + 0x98]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x68], 0
movupd xmm5, xmmword [0x100252a0]
movupd xmm3, xmmword [0x10025230]
lea ebx, [esi - 1]
add eax, eax
sub eax, dword [ebp + 0x18]
mov ecx, ebx
mov dword [esp + 0x5c], eax
mov eax, 3
imul ecx, edi
test edi, edi
mov dword [esp + 0x30], ebx
lea edx, [ecx + 3]
cmovns eax, edx
mov dword [esp + 0x40], eax
add eax, dword [ebp + 0x14]
test edi, edi
mov dword [esp + 0x44], eax
lea eax, [ebx*4 + 3]
lea ebx, [edi + edi*2]
mov dword [esp + 0x48], eax
mov eax, 0
cmovs eax, ecx
mov dword [esp + 0x4c], eax
add eax, dword [ebp + 0x14]
mov dword [esp + 0x50], eax
mov eax, esi
shr esi, 2
mov dword [esp + 0x8c], esi
lea esi, [edi*4]
mov dword [esp + 0x6c], esi
mov esi, eax
shl eax, 2
and esi, 0xfffffffc
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x34], esi
imul esi, edi
mov dword [esp + 0x94], eax
mov dword [esp + 0x38], esi
lea esi, [ecx + edi]
mov dword [esp + 0x58], esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x98]
test ecx, ecx
jle 0x1000c6a2
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x94]
add edx, dword [esp + 0x4c]
add eax, esi
cmp eax, edx
mov edx, dword [esp + 0x94]
setb cl
add edx, dword [esp + 0x40]
cmp esi, edx
seta dl
or edx, ecx
mov ecx, dword [esp + 0x94]
add ecx, dword [esp + 0x50]
cmp eax, ecx
mov ecx, dword [esp + 0x94]
setb al
add ecx, dword [esp + 0x44]
cmp esi, ecx
seta cl
or eax, ecx
test dl, al
je 0x1000c750
cmp dword [esp + 0x30], 9
jbe 0x1000c750
mov eax, dword [esp + 0x94]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x7c], ebx
xor ecx, ecx
mov dword [esp + 0x90], esi
pxor xmm6, xmm6
add edx, eax
nop
lea esi, [esi]
mov esi, dword [esp + 0x7c]
movd xmm0, dword [eax + edi*2]
movd xmm7, dword [eax]
movd xmm2, dword [edx]
movd xmm4, dword [eax + esi]
movd xmm1, dword [edx + esi]
mov esi, ecx
add ecx, 1
mov ebx, dword [esp + 0x90]
shl esi, 4
punpckldq xmm0, xmm4
movd xmm4, dword [eax + edi]
punpckldq xmm7, xmm4
movdqu xmm4, xmm7
punpcklqdq xmm4, xmm0
movd xmm0, dword [edx + edi*2]
pshufd xmm4, xmm4, 0xee
punpckldq xmm0, xmm1
movd xmm1, dword [edx + edi]
punpckldq xmm2, xmm1
movdqu xmm1, xmm2
cvtdq2pd xmm2, xmm2
punpcklqdq xmm1, xmm0
movupd xmm0, xmm2
cmpltpd xmm0, xmm6
pshufd xmm1, xmm1, 0xee
cvtdq2pd xmm1, xmm1
andpd xmm0, xmm5
addpd xmm2, xmm0
cvtdq2pd xmm0, xmm7
movupd xmm7, xmm0
cmpltpd xmm7, xmm6
andpd xmm7, xmm5
addpd xmm0, xmm7
addpd xmm2, xmm0
mulpd xmm2, xmmword [0x100252b0]
movupd xmm0, xmm2
movupd xmm2, xmm1
cmpltpd xmm2, xmm6
andpd xmm2, xmm5
addpd xmm1, xmm2
cvtdq2pd xmm2, xmm4
movupd xmm4, xmm2
cmpltpd xmm4, xmm6
andpd xmm4, xmm5
addpd xmm2, xmm4
addpd xmm2, xmm1
movupd xmm1, xmmword [0x100252b0]
mulpd xmm1, xmm2
movupd xmm2, xmm3
cmplepd xmm2, xmm0
movupd xmm4, xmm2
pslld xmm2, 0x1f
andpd xmm4, xmm3
subpd xmm0, xmm4
movupd xmm4, xmm3
cmplepd xmm4, xmm1
cvttpd2dq xmm0, xmm0
movupd xmm7, xmm4
pslld xmm4, 0x1f
andpd xmm7, xmm3
shufps xmm2, xmm4, 0x88
subpd xmm1, xmm7
movdqu xmm7, xmm0
movdqu xmm0, xmm2
cvttpd2dq xmm1, xmm1
punpcklqdq xmm7, xmm1
pxor xmm0, xmm7
movups xmmword [ebx + esi], xmm0
mov esi, dword [esp + 0x6c]
add edx, esi
add eax, esi
cmp ecx, dword [esp + 0x8c]
jne 0x1000c4a0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x98]
mov esi, ebx
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x7c]
add edx, dword [esp + 0x38]
cmp ecx, eax
je 0x1000c693
movsd xmm1, qword [0x100252c0]
mov dword [esp + 0x90], ebx
movsd xmm2, qword [0x10025208]
mov ebx, dword [ebp + 0x14]
nop
mov eax, dword [edx + ebx]
pxor xmm0, xmm0
pxor xmm4, xmm4
pxor xmm6, xmm6
movupd xmm7, xmm3
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [edx]
add edx, edi
add eax, 0x80000000
cvtsi2sd xmm4, eax
addsd xmm0, xmm1
addsd xmm4, xmm1
addsd xmm0, xmm4
movupd xmm4, xmm3
mulsd xmm0, xmm2
movsd xmm6, xmm0
cmplepd xmm4, xmm6
andpd xmm7, xmm4
pslld xmm4, 0x1f
subpd xmm6, xmm7
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm4
movd dword [esi + ecx*4], xmm6
add ecx, 1
cmp dword [esp + 0x98], ecx
jg 0x1000c620
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0x58]
add dword [esp + 0x94], ecx
add esi, dword [esp + 0x54]
add dword [esp + 0x68], 1
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x68]
add dword [esp + 0x94], ecx
cmp dword [esp + 0x60], eax
jne 0x1000c412
mov eax, dword [esp + 0x64]
imul eax, dword [ebp + 0x14]
add eax, dword [ebp + 8]
cmp dword [esp + 0x94], eax
jne 0x1000cbff
mov dword [esp + 0x8c], 1
mov eax, dword [esp + 0x98]
imul eax, edi
imul eax, dword [esp + 0x8c]
imul eax, dword [esp + 0x3c]
add eax, dword [ebp + 0xc]
cmp esi, eax
je 0x1000bbbe
mov dword [esp + 8], 0x3a9
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]
lea esi, [esi]
cmp dword [esp + 0x64], 1
jne 0x1000c335
mov dword [esp + 8], 0x32a
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]
mov dword [esp + 0x90], ebx
mov ecx, dword [esp + 0x94]
xor edx, edx
movsd xmm2, qword [0x10025208]
mov ebx, dword [ebp + 0x14]
mov eax, dword [ecx + ebx]
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm6, xmm6
movupd xmm4, xmmword [0x10025230]
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [ecx]
movupd xmm7, xmm4
add ecx, edi
addsd xmm0, qword [0x100252c0]
add eax, 0x80000000
cvtsi2sd xmm1, eax
addsd xmm1, qword [0x100252c0]
addsd xmm0, xmm1
mulsd xmm0, xmm2
movsd xmm6, xmm0
cmplepd xmm4, xmm6
andpd xmm7, xmm4
pslld xmm4, 0x1f
subpd xmm6, xmm7
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm4
movd dword [esi + edx*4], xmm6
add edx, 1
cmp dword [esp + 0x98], edx
jne 0x1000c76b
jmp 0x1000c68c
cmp eax, 1
je 0x1000cc39
shr eax, 1
mov dword [esp + 0x68], eax
je 0x1000bbbe
mov esi, dword [esp + 0x98]
mov eax, 3
mov dword [esp + 0x8c], 0
movupd xmm5, xmmword [0x100252a0]
movupd xmm3, xmmword [0x10025230]
lea ebx, [esi - 1]
mov ecx, ebx
mov dword [esp + 0x48], ebx
imul ecx, edi
test edi, edi
lea edx, [ecx + 3]
cmovns eax, edx
mov dword [esp + 0x4c], eax
add eax, dword [ebp + 0x18]
test edi, edi
mov dword [esp + 0x58], eax
lea eax, [ebx*4 + 3]
lea ebx, [edi + edi*2]
mov dword [esp + 0x64], eax
mov eax, 0
cmovs eax, ecx
mov dword [esp + 0x54], eax
add eax, dword [ebp + 0x18]
mov dword [esp + 0x50], eax
mov eax, esi
shr esi, 2
mov dword [esp + 0x6c], esi
lea esi, [edi*4]
mov dword [esp + 0x7c], esi
mov esi, eax
shl eax, 2
and esi, 0xfffffffc
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], esi
imul esi, edi
mov dword [esp + 0x44], esi
lea esi, [ecx + edi]
mov dword [esp + 0x60], esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x98]
test eax, eax
jle 0x1000cb26
mov eax, dword [esp + 0x64]
lea ecx, [esi + eax]
mov eax, dword [esp + 0x58]
add eax, dword [ebp + 8]
cmp esi, eax
mov eax, dword [esp + 0x50]
seta dl
add eax, dword [ebp + 8]
cmp ecx, eax
setb al
or edx, eax
mov eax, dword [esp + 0x4c]
add eax, dword [ebp + 8]
cmp esi, eax
mov eax, dword [esp + 0x54]
seta byte [esp + 0x94]
add eax, dword [ebp + 8]
cmp ecx, eax
movzx eax, byte [esp + 0x94]
setb cl
or eax, ecx
test dl, al
je 0x1000cb52
cmp dword [esp + 0x48], 9
jbe 0x1000cb52
mov dword [esp + 0x94], esi
mov eax, dword [ebp + 8]
xor ecx, ecx
pxor xmm6, xmm6
mov dword [esp + 0x90], ebx
mov edx, dword [ebp + 8]
add edx, dword [ebp + 0x18]
lea esi, [esi]
mov esi, dword [esp + 0x90]
movd xmm0, dword [eax + edi*2]
movd xmm7, dword [eax]
movd xmm2, dword [edx]
movd xmm4, dword [eax + esi]
movd xmm1, dword [edx + esi]
mov esi, ecx
add ecx, 1
mov ebx, dword [esp + 0x94]
shl esi, 4
punpckldq xmm0, xmm4
movd xmm4, dword [eax + edi]
punpckldq xmm7, xmm4
movdqu xmm4, xmm7
punpcklqdq xmm4, xmm0
movd xmm0, dword [edx + edi*2]
pshufd xmm4, xmm4, 0xee
punpckldq xmm0, xmm1
movd xmm1, dword [edx + edi]
punpckldq xmm2, xmm1
movdqu xmm1, xmm2
cvtdq2pd xmm2, xmm2
punpcklqdq xmm1, xmm0
movupd xmm0, xmm2
cmpltpd xmm0, xmm6
pshufd xmm1, xmm1, 0xee
cvtdq2pd xmm1, xmm1
andpd xmm0, xmm5
addpd xmm2, xmm0
cvtdq2pd xmm0, xmm7
movupd xmm7, xmm0
cmpltpd xmm7, xmm6
andpd xmm7, xmm5
addpd xmm0, xmm7
addpd xmm2, xmm0
mulpd xmm2, xmmword [0x100252b0]
movupd xmm0, xmm2
movupd xmm2, xmm1
cmpltpd xmm2, xmm6
andpd xmm2, xmm5
addpd xmm1, xmm2
cvtdq2pd xmm2, xmm4
movupd xmm4, xmm2
cmpltpd xmm4, xmm6
andpd xmm4, xmm5
addpd xmm2, xmm4
addpd xmm2, xmm1
movupd xmm1, xmmword [0x100252b0]
mulpd xmm1, xmm2
movupd xmm2, xmm3
cmplepd xmm2, xmm0
movupd xmm4, xmm2
pslld xmm2, 0x1f
andpd xmm4, xmm3
subpd xmm0, xmm4
movupd xmm4, xmm3
cmplepd xmm4, xmm1
cvttpd2dq xmm0, xmm0
movupd xmm7, xmm4
pslld xmm4, 0x1f
andpd xmm7, xmm3
shufps xmm2, xmm4, 0x88
subpd xmm1, xmm7
movdqu xmm7, xmm0
movdqu xmm0, xmm2
cvttpd2dq xmm1, xmm1
punpcklqdq xmm7, xmm1
pxor xmm0, xmm7
movups xmmword [ebx + esi], xmm0
mov esi, dword [esp + 0x7c]
add edx, esi
add eax, esi
cmp ecx, dword [esp + 0x6c]
jne 0x1000c928
mov edx, dword [esp + 0x44]
mov esi, ebx
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
add edx, dword [ebp + 8]
cmp dword [esp + 0x98], ecx
je 0x1000cb1b
movsd xmm1, qword [0x100252c0]
mov dword [esp + 0x94], ebx
movsd xmm2, qword [0x10025208]
mov ebx, dword [ebp + 0x18]
nop
lea esi, [esi]
mov eax, dword [edx + ebx]
pxor xmm0, xmm0
pxor xmm4, xmm4
pxor xmm6, xmm6
movupd xmm7, xmm3
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [edx]
add edx, edi
add eax, 0x80000000
cvtsi2sd xmm4, eax
addsd xmm0, xmm1
addsd xmm4, xmm1
addsd xmm0, xmm4
movupd xmm4, xmm3
mulsd xmm0, xmm2
movsd xmm6, xmm0
cmplepd xmm4, xmm6
andpd xmm7, xmm4
pslld xmm4, 0x1f
subpd xmm6, xmm7
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm4
movd dword [esi + ecx*4], xmm6
add ecx, 1
cmp dword [esp + 0x98], ecx
jg 0x1000caa8
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x60]
add dword [ebp + 8], eax
add esi, dword [esp + 0x5c]
mov eax, dword [ebp + 0x18]
add dword [esp + 0x8c], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0x68], eax
jne 0x1000c89b
mov dword [esp + 0x3c], 1
jmp 0x1000c6e3
mov dword [esp + 0x94], ebx
mov ecx, dword [ebp + 8]
xor edx, edx
movsd xmm2, qword [0x10025208]
mov ebx, dword [ebp + 0x18]
lea esi, [esi]
mov eax, dword [ecx]
pxor xmm0, xmm0
pxor xmm1, xmm1
pxor xmm6, xmm6
movupd xmm4, xmmword [0x10025230]
add eax, 0x80000000
cvtsi2sd xmm0, eax
mov eax, dword [ecx + ebx]
movupd xmm7, xmm4
add ecx, edi
addsd xmm0, qword [0x100252c0]
add eax, 0x80000000
cvtsi2sd xmm1, eax
addsd xmm1, qword [0x100252c0]
addsd xmm0, xmm1
mulsd xmm0, xmm2
movsd xmm6, xmm0
cmplepd xmm4, xmm6
andpd xmm7, xmm4
pslld xmm4, 0x1f
subpd xmm6, xmm7
cvttpd2dq xmm6, xmm6
pxor xmm6, xmm4
movd dword [esi + edx*4], xmm6
add edx, 1
cmp dword [esp + 0x98], edx
jne 0x1000cb70
jmp 0x1000cb14
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x94], eax
jmp 0x1000c6c0
mov dword [esp + 8], 0x3a6
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], 0x36a
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], 0x36d
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]
lea esi, [esi]
lea edi, [edi]