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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x68]
mov ebx, edi
mov esi, dword [esp + 0x60]
mov byte [esp + 0x33], cl
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x24], bl
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov byte [esp + 0x38], dl
mov byte [esp + 0x32], al
test esi, esi
je 0x6c9c2f28
mov ebx, dword [esi + 4]
mov dword [esp + 0x20], ebx
movzx ebx, byte [ebx + 8]
cmp bl, 7
jbe 0x6c9c2f10
mov ebp, dword [esp + 0x28]
sub ebp, 1
cmp ebp, 1
jbe 0x6c9c2e58
cmp bl, 0x10
je 0x6c9c2ea2
cmp bl, 0x20
je 0x6c9c2ee0
cmp bl, 0xf
je 0x6c9c2ec0
mov eax, dword [esp + 0x20]
mov edx, 0x6c9c1bd0
mov ebx, dword [eax + 0x18]
mov eax, fcn.6c9c2490
test ebx, ebx
cmove eax, edx
mov dword [esp + 0x34], eax
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov ecx, dword [esp + 0x44]
add eax, edx
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x30]
add eax, edi
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
jle 0x6c9c2e4c
movzx ecx, byte [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x40], esi
xor ebx, ebx
mov esi, edx
mov dword [esp + 0x38], ecx
movzx ecx, byte [esp + 0x24]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x3c], ecx
lea esi, [esi]
mov edx, dword [ebp + ebx*8]
cmp esi, edx
jg 0x6c9c2e45
cmp dword [esp + 0x20], edx
jle 0x6c9c2e45
mov ecx, dword [ebp + ebx*8 + 4]
cmp dword [esp + 0x24], ecx
jg 0x6c9c2e45
cmp dword [esp + 0x2c], ecx
jle 0x6c9c2e45
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x33]
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x32]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
call eax
add ebx, 1
cmp edi, ebx
jne 0x6c9c2de8
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ebp, dl
movzx eax, al
mov edx, 0x80808081
movzx ecx, cl
imul eax, ebp
imul ecx, ebp
mul edx
mov eax, 0x80808081
shr edx, 7
mov byte [esp + 0x32], dl
mul ecx
mov eax, edi
movzx edi, al
mov eax, 0x80808081
imul edi, ebp
shr edx, 7
mov byte [esp + 0x33], dl
mul edi
shr edx, 7
mov byte [esp + 0x24], dl
cmp bl, 0x10
jne 0x6c9c2d6a
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], 0x6c9c1390
cmp dword [eax + 0xc], 0xf800
jne 0x6c9c2d7c
jmp 0x6c9c2d96
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], 0x6c9c10a0
cmp dword [eax + 0xc], 0x7c00
jne 0x6c9c2d7c
jmp 0x6c9c2d96
mov eax, dword [esp + 0x20]
cmp dword [eax + 0xc], 0xff0000
jne 0x6c9c2d7c
mov edi, dword [eax + 0x18]
mov edx, 0x6c9c16a0
mov eax, 0x6c9c18f0
test edi, edi
cmove eax, edx
mov dword [esp + 0x34], eax
jmp 0x6c9c2d96
mov dword [esp + 0x60], str.SDL_BlendPoints__:_Unsupported_surface_format
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6c942590
mov dword [esp + 0x60], 0x6ca8e2a8
jmp 0x6c9c2f18