Function at 0x1000f2b0
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 + 0x74], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
cmp edx, 1
je 0x1000f908
cmp ecx, 1
je 0x1000f781
mov eax, dword [esp + 0x68]
mov ecx, dword [ebp + 0x14]
mov ebx, eax
imul eax, dword [ebp + 0x18]
shr ebx, 1
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x6c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [ebp + 0x1c]
shr ebx, 1
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x1000f646
test ebx, ebx
je 0x1000f63e
mov ebx, dword [esp + 0x74]
add eax, dword [ebp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], eax
mov eax, 3
movups xmm1, xmmword [0x10025340]
lea esi, [ebx - 1]
mov ecx, esi
mov dword [esp + 0x50], esi
imul ecx, edi
test edi, edi
lea edx, [ecx + 3]
cmovns eax, edx
mov edx, eax
mov dword [esp + 0x28], eax
add eax, dword [ebp + 0x18]
mov dword [esp + 0x30], eax
add eax, dword [ebp + 0x14]
test edi, edi
mov dword [esp + 0x44], eax
lea eax, [esi*4 + 3]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x40], eax
mov eax, 0
cmovs eax, ecx
add edx, dword [ebp + 0x14]
mov dword [esp + 0x38], edx
add esi, eax
mov dword [esp + 0x24], eax
add eax, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
mov eax, ebx
shr ebx, 2
mov dword [esp + 0x60], ebx
lea ebx, [edi*4]
mov dword [esp + 0x64], ebx
mov ebx, eax
shl eax, 2
and ebx, 0xfffffffc
mov dword [esp + 0x48], eax
mov edx, ebx
mov dword [esp + 0x1c], ebx
shl ebx, 2
imul edx, edi
mov dword [esp + 0x20], ebx
lea ebx, [ecx + edi]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2c], esi
add esi, dword [ebp + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x3c], esi
lea esi, [edi + edi*2]
lea esi, [esi]
mov eax, dword [ebp + 0x14]
add eax, dword [ebp + 0x18]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1000f624
nop
mov edx, dword [esp + 0x74]
test edx, edx
jle 0x1000f60b
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
add ecx, dword [ebp + 0xc]
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
mov eax, dword [esp + 0x3c]
seta bl
add eax, dword [ebp + 8]
cmp ecx, eax
setb al
or ebx, eax
mov eax, dword [esp + 0x38]
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
mov eax, dword [esp + 0x34]
seta dl
add eax, dword [ebp + 8]
cmp ecx, eax
setb al
or eax, edx
and eax, ebx
cmp dword [esp + 0x50], 2
mov ebx, dword [esp + 0x2c]
seta dl
and eax, edx
mov edx, dword [esp + 0x30]
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 0x1000f720
mov eax, dword [esp + 0x28]
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], eax
mov edx, dword [esp + 0x24]
seta al
add edx, dword [ebp + 8]
cmp ecx, edx
setb dl
or al, dl
je 0x1000f720
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x68], esi
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x70], 0
add edx, ebx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x54]
add ecx, ebx
mov dword [esp + 0x78], edx
add eax, ebx
nop
lea esi, [esi]
mov edx, dword [esp + 0x68]
movd xmm6, dword [ebx + edi]
movd xmm2, dword [ebx + edi*2]
movd xmm0, dword [ebx]
movd xmm5, dword [ebx + edx]
mov esi, dword [esp + 0x6c]
punpckldq xmm0, xmm6
add dword [esp + 0x70], 1
punpckldq xmm2, xmm5
punpcklqdq xmm0, xmm2
movups xmmword [esi], xmm0
movd xmm7, dword [ecx + edx]
movd xmm4, dword [ecx + edi]
movd xmm3, dword [ecx + edi*2]
movd xmm2, dword [ecx]
punpckldq xmm3, xmm7
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm3
addps xmm0, xmm2
movups xmmword [esi], xmm0
mov esi, dword [esp + 0x78]
movd xmm5, dword [esi + edx]
movd xmm3, dword [esi + edi*2]
movd xmm2, dword [esi]
movd xmm6, dword [esi + edi]
punpckldq xmm3, xmm5
mov esi, dword [esp + 0x6c]
punpckldq xmm2, xmm6
punpcklqdq xmm2, xmm3
add esi, 0x10
addps xmm0, xmm2
movups xmmword [esi - 0x10], xmm0
movd xmm7, dword [eax + edx]
movd xmm3, dword [eax + edi*2]
movd xmm2, dword [eax]
movd xmm4, dword [eax + edi]
punpckldq xmm3, xmm7
mov edx, dword [esp + 0x70]
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm3
addps xmm0, xmm2
mulps xmm0, xmm1
movups xmmword [esi - 0x10], xmm0
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x64]
add dword [esp + 0x78], esi
add ebx, esi
add ecx, esi
add eax, esi
cmp edx, dword [esp + 0x60]
jne 0x1000f4b8
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
add eax, dword [ebp + 8]
add edx, dword [ebp + 0xc]
cmp dword [esp + 0x74], ecx
je 0x1000f5fd
movss xmm2, dword [0x10025350]
mov dword [esp + 0x78], esi
mov ebx, edi
mov edi, dword [esp + 0x54]
lea esi, [esi]
movss xmm0, dword [eax]
mov esi, dword [ebp + 0x18]
add edx, 4
add ecx, 1
movss dword [edx - 4], xmm0
addss xmm0, dword [eax + esi]
mov esi, dword [ebp + 0x14]
movss dword [edx - 4], xmm0
addss xmm0, dword [eax + esi]
movss dword [edx - 4], xmm0
addss xmm0, dword [eax + edi]
add eax, ebx
mulss xmm0, xmm2
movss dword [edx - 4], xmm0
cmp dword [esp + 0x74], ecx
jg 0x1000f5b8
mov esi, dword [esp + 0x78]
mov edi, ebx
mov eax, dword [esp + 0x4c]
add dword [ebp + 8], eax
mov eax, dword [esp + 0x48]
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 0x1000f3f0
mov eax, dword [esp + 0xc]
add dword [esp + 0x14], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], eax
jne 0x1000f3d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x10]
test edx, edx
je 0x1000f63e
add eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x74]
mov dword [ebp + 0x10], edi
mov ecx, dword [ebp + 0x14]
mov esi, eax
shl eax, 2
add ecx, dword [ebp + 0x18]
imul esi, edi
mov dword [esp + 0x70], eax
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x6c], esi
mov esi, dword [ebp + 0x18]
nop
lea esi, [esi]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x78], 0
movss xmm1, dword [0x10025350]
test eax, eax
je 0x1000f6f5
xor edx, edx
cmp dword [esp + 0x74], 0
mov eax, dword [ebp + 8]
jle 0x1000f6e3
lea esi, [esi]
movss xmm0, dword [eax]
addss xmm0, dword [eax + esi]
addss xmm0, dword [eax + edi]
addss xmm0, dword [eax + ecx]
add eax, dword [ebp + 0x10]
mulss xmm0, xmm1
movss dword [ebx + edx*4], xmm0
add edx, 1
cmp dword [esp + 0x74], edx
jne 0x1000f6b0
mov eax, dword [esp + 0x6c]
add dword [ebp + 8], eax
add ebx, dword [esp + 0x70]
add dword [esp + 0x78], 1
mov eax, dword [esp + 0x78]
add dword [ebp + 8], esi
cmp dword [esp + 0x58], eax
jne 0x1000f6a0
mov eax, dword [esp + 0x64]
add dword [esp + 0x68], 1
add dword [ebp + 8], eax
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x10], eax
jne 0x1000f688
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x78], esi
mov ebx, edi
mov edx, dword [ebp + 8]
xor eax, eax
movss xmm2, dword [0x10025350]
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x54]
lea esi, [esi]
movss xmm0, dword [edx]
mov esi, dword [ebp + 0x18]
movss dword [ecx + eax*4], xmm0
addss xmm0, dword [edx + esi]
mov esi, dword [ebp + 0x14]
movss dword [ecx + eax*4], xmm0
addss xmm0, dword [edx + esi]
movss dword [ecx + eax*4], xmm0
addss xmm0, dword [edx + edi]
add edx, ebx
mulss xmm0, xmm2
movss dword [ecx + eax*4], xmm0
add eax, 1
cmp dword [esp + 0x74], eax
jne 0x1000f740
jmp 0x1000f5f7
cmp edx, 1
je 0x1000f908
mov ebx, dword [esp + 0x6c]
cmp dword [esp + 0x68], ebx
je 0x1000fab9
cmp dword [esp + 0x6c], 1
je 0x1000f930
mov eax, dword [esp + 0x6c]
shr eax, 1
mov dword [esp + 0x68], eax
je 0x1000fa5f
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x78], 0
movss xmm4, dword [0x100252e8]
mov dword [ebp + 0x10], edi
add eax, eax
sub eax, dword [ebp + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x74]
mov ebx, eax
shl eax, 2
imul ebx, edi
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ebx
mov ebx, dword [ebp + 0x1c]
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
xor edx, edx
movss xmm3, dword [0x10025250]
test edi, edi
jle 0x1000f891
lea esi, [esi]
mov eax, dword [ebp + 0x14]
movss xmm2, dword [ecx]
movss xmm0, dword [ecx + eax]
test ebx, ebx
je 0x1000f86c
movd eax, xmm2
movd edi, xmm2
pxor xmm2, xmm2
shr eax, 0x10
movzx edi, di
pxor xmm1, xmm1
cvtsi2ss xmm2, eax
movd eax, xmm0
cvtsi2ss xmm1, edi
shr eax, 0x10
movd edi, xmm0
movzx edi, di
pxor xmm0, xmm0
cvtsi2ss xmm0, edi
mulss xmm2, xmm4
addss xmm2, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, eax
mulss xmm1, xmm4
addss xmm0, xmm1
addss xmm0, xmm2
add ecx, dword [ebp + 0x10]
mulss xmm0, xmm3
movss dword [esi + edx*4], xmm0
add edx, 1
cmp dword [esp + 0x74], edx
jne 0x1000f810
mov edi, dword [esp + 0x60]
add dword [esp + 0x70], edi
add esi, dword [esp + 0x5c]
add dword [esp + 0x78], 1
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x78]
add dword [esp + 0x70], edi
cmp dword [esp + 0x68], eax
jne 0x1000f7f3
mov dword [esp + 0x58], 1
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x6c]
imul eax, dword [ebp + 0x14]
add eax, dword [ebp + 8]
cmp dword [esp + 0x70], eax
jne 0x1000fa6f
mov eax, dword [esp + 0x74]
imul eax, edi
imul eax, dword [esp + 0x58]
imul eax, dword [esp + 0x78]
add eax, dword [ebp + 0xc]
cmp esi, eax
je 0x1000f63e
mov dword [esp + 8], 0x4cc
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 + 0x6c], 1
jne 0x1000f78a
mov dword [esp + 8], 0x44e
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 eax, dword [esp + 0x68]
cmp eax, 1
je 0x1000fa9c
shr eax, 1
mov dword [esp + 0x64], eax
mov dword [esp + 0x58], eax
je 0x1000fa90
mov eax, dword [esp + 0x74]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x70], 0
movss xmm4, dword [0x100252e8]
mov dword [ebp + 0x10], edi
mov ebx, eax
shl eax, 2
imul ebx, edi
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x78], eax
mov dword [esp + 0x60], ebx
mov ebx, dword [ebp + 0x18]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
xor edx, edx
movss xmm3, dword [0x10025250]
test eax, eax
jle 0x1000fa21
nop
lea esi, [esi]
mov eax, dword [ebp + 0x1c]
movss xmm2, dword [ecx]
movss xmm0, dword [ecx + ebx]
test eax, eax
je 0x1000f9fc
movd eax, xmm2
movd edi, xmm2
pxor xmm2, xmm2
shr eax, 0x10
movzx edi, di
pxor xmm1, xmm1
cvtsi2ss xmm2, eax
movd eax, xmm0
cvtsi2ss xmm1, edi
shr eax, 0x10
movd edi, xmm0
movzx edi, di
pxor xmm0, xmm0
cvtsi2ss xmm0, edi
mulss xmm2, xmm4
addss xmm2, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, eax
mulss xmm1, xmm4
addss xmm0, xmm1
addss xmm0, xmm2
add ecx, dword [ebp + 0x10]
mulss xmm0, xmm3
movss dword [esi + edx*4], xmm0
add edx, 1
cmp dword [esp + 0x74], edx
jne 0x1000f9a0
mov edi, dword [esp + 0x60]
add dword [esp + 0x78], edi
add esi, dword [esp + 0x5c]
add dword [esp + 0x70], 1
mov eax, dword [esp + 0x70]
add dword [esp + 0x78], ebx
cmp dword [esp + 0x64], eax
jne 0x1000f981
mov edi, dword [ebp + 0x10]
mov eax, dword [esp + 0x68]
imul eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
sub ebx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x78], 1
add eax, ebx
mov dword [esp + 0x70], eax
jmp 0x1000f8b7
mov eax, dword [esp + 0x6c]
imul eax, dword [ebp + 0x14]
test eax, eax
je 0x1000f63e
mov dword [esp + 8], 0x4cb
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]
lea esi, [esi]
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x78], eax
jmp 0x1000fa3b
mov dword [esp + 8], 0x491
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]
mov dword [esp + 8], 0x48e
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]
lea esi, [esi]
lea edi, [edi]