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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x38
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
mov eax, edx
cmp edx, 1
je 0x10008cd5
cmp ecx, 1
je 0x10008c1d
mov ecx, edx
imul eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x14]
shr ecx, 1
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x24]
sub edi, eax
shr ecx, 1
mov eax, edi
mov dword [ebp - 0x30], ecx
test esi, esi
jne 0x10008b23
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x10008b1b
add eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x28], 0
add edi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x20]
lea esi, [eax + eax]
imul eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], esi
mov esi, edi
mov dword [ebp - 0x24], eax
nop
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 0
test edi, edi
je 0x10008b09
nop
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
test edx, edx
jle 0x10008afa
lea esi, [esi]
movzx edx, word [eax + ecx]
movzx edi, word [eax]
add ebx, 2
add edi, edx
mov edx, dword [ebp + 0x14]
movzx edx, word [eax + edx]
add edx, edi
movzx edi, word [eax + esi]
add eax, dword [ebp + 0x10]
lea edx, [edx + edi + 2]
sar edx, 2
mov word [ebx - 2], dx
cmp ebx, dword [ebp - 0x10]
jne 0x10008ac8
mov eax, dword [ebp - 0x24]
add dword [ebp + 8], eax
add dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x14]
add dword [ebp + 8], ecx
cmp dword [ebp - 0x1c], eax
jne 0x10008ab0
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x28], 1
add dword [ebp + 8], eax
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x30], eax
jne 0x10008aa0
add esp, 0x38
pop ebx
pop esi
pop edi
pop ebp
ret
test ecx, ecx
je 0x10008b1b
add eax, dword [ebp + 0x14]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
lea esi, [eax + eax]
imul eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], esi
mov esi, dword [ebp + 0x14]
add esi, dword [ebp + 0x18]
mov dword [ebp - 0x14], esi
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0
test eax, eax
je 0x10008bff
lea esi, [esi]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
add eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
test edx, edx
jle 0x10008bec
lea esi, [esi]
movzx edi, byte [eax + 1]
movzx ecx, byte [eax]
add ebx, 2
movzx edx, byte [eax + esi]
shl edi, 8
or edi, ecx
movzx ecx, byte [eax + esi + 1]
movzx edi, di
shl ecx, 8
or edx, ecx
movzx edx, dx
lea ecx, [edi + edx]
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x14]
movzx edi, byte [eax + edi + 1]
movzx edx, byte [eax + edx]
shl edi, 8
or edx, edi
movzx edx, dx
add edx, ecx
mov ecx, dword [ebp - 0x14]
movzx edi, byte [eax + ecx + 1]
movzx ecx, byte [eax + ecx]
add eax, dword [ebp + 0x10]
shl edi, 8
or ecx, edi
movzx ecx, cx
lea edx, [edx + ecx + 2]
sar edx, 2
mov word [ebx - 2], dx
cmp ebx, dword [ebp - 0x10]
jne 0x10008b80
mov eax, dword [ebp - 0x28]
add dword [ebp + 8], eax
add dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
add dword [ebp + 8], esi
cmp dword [ebp - 0x1c], eax
jne 0x10008b68
mov eax, dword [ebp - 0x34]
add dword [ebp - 0x2c], 1
add dword [ebp + 8], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x30], eax
jne 0x10008b50
add esp, 0x38
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, 1
je 0x10008cd5
cmp eax, dword [ebp - 0x24]
je 0x10008e36
cmp dword [ebp - 0x24], 1
je 0x10008d70
mov eax, dword [ebp - 0x24]
shr eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], eax
je 0x10008e29
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], 0
mov edi, ebx
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp + 0x14]
add eax, eax
sub eax, dword [ebp + 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
lea ecx, [eax + eax]
imul eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jg 0x10008cc8
jmp 0x10008d06
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + ebx + 1]
shl edx, 8
mov dword [ebp - 0x14], edx
movzx edx, byte [ecx + ebx]
or dx, word [ebp - 0x14]
movzx eax, ax
movzx edx, dx
add ecx, dword [ebp + 0x10]
add edi, 2
add eax, edx
sar eax, 1
mov word [edi - 2], ax
cmp edi, dword [ebp - 0x10]
je 0x10008d00
test esi, esi
jne 0x10008c90
movzx eax, word [ecx]
movzx edx, word [ecx + ebx]
jmp 0x10008caf
cmp dword [ebp - 0x24], 1
jne 0x10008c26
mov dword [esp + 8], 0x20d
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]
lea esi, [esi]
mov ecx, dword [ebp - 0x34]
add dword [ebp - 0x18], ecx
add dword [ebp - 0x1c], 1
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
add dword [ebp - 0x18], ecx
cmp dword [ebp - 0x28], eax
jne 0x10008c7a
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp + 0x14]
add eax, dword [ebp + 8]
cmp dword [ebp - 0x18], eax
jne 0x10008e70
mov dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x20]
imul eax, dword [ebp + 0x10]
imul eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x38]
add eax, ebx
cmp edi, eax
je 0x10008b1b
mov dword [esp + 8], 0x285
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 eax, 1
je 0x10008e53
shr eax, 1
mov dword [ebp - 0x1c], eax
je 0x10008b1b
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], 0
mov edi, ebx
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp + 0x18]
lea ecx, [eax + eax]
imul eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jg 0x10008df8
jmp 0x10008e0b
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + ebx + 1]
shl edx, 8
mov dword [ebp - 0x14], edx
movzx edx, byte [ecx + ebx]
or dx, word [ebp - 0x14]
movzx eax, ax
movzx edx, dx
add ecx, dword [ebp + 0x10]
add edi, 2
add eax, edx
sar eax, 1
mov word [edi - 2], ax
cmp edi, dword [ebp - 0x10]
je 0x10008e05
test esi, esi
jne 0x10008dc0
movzx eax, word [ecx]
movzx edx, word [ecx + ebx]
jmp 0x10008ddf
mov eax, dword [ebp - 0x28]
add dword [ebp + 8], eax
add dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x18]
add dword [ebp + 8], ebx
cmp dword [ebp - 0x1c], eax
jne 0x10008da3
mov dword [ebp - 0x38], 1
mov ebx, dword [ebp + 0xc]
jmp 0x10008d39
mov eax, dword [ebp + 8]
mov edi, ebx
mov dword [ebp - 0x18], eax
jmp 0x10008d1f
mov dword [esp + 8], 0x246
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], 0x249
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], 0x282
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]