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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xbc
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
test ebx, ebx
je 0x6c9d9695
mov edx, dword [ebx + 4]
cmp byte [edx + 8], 7
jbe 0x6c9d9681
lea esi, [ebx + 0x24]
test eax, eax
je 0x6c9d9550
lea edi, [esp + 0xac]
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov esi, edi
mov dword [esp], eax
call fcn.6c9dd2a0
test eax, eax
je 0x6c9d9540
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x6c9da11b
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], ecx
imul ecx, dword [esi + 4]
movzx eax, byte [eax + 9]
mov edx, ecx
movzx ecx, al
imul ecx, dword [esi]
add edx, ecx
add edi, edx
mov dword [esp + 0x60], edi
cmp al, 2
je 0x6c9d9af1
jbe 0x6c9d9564
cmp al, 3
je 0x6c9d96b0
cmp al, 4
jne 0x6c9d9540
call fcn.6c94d230
test eax, eax
jne 0x6c9d9cfc
mov eax, dword [esi + 0xc]
mov ebx, dword [ebx + 0x10]
mov esi, dword [esi + 8]
lea edx, [eax - 1]
test eax, eax
je 0x6c9d9540
mov dword [esp + 0x98], esi
mov esi, ebx
mov ebx, dword [esp + 0x60]
mov edi, ebx
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x98]
cld
rep stosd dword es:[edi], eax
sub edx, 1
add ebx, esi
cmp edx, 0xffffffff
jne 0x6c9d9523
lea esi, [esi]
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x2c]
test eax, eax
jle 0x6c9d9540
mov edi, dword [ebx + 0x30]
test edi, edi
jg 0x6c9d94b6
jmp 0x6c9d9540
cmp al, 1
jne 0x6c9d9540
mov eax, dword [ebp + 0x10]
shl eax, 8
or eax, dword [ebp + 0x10]
mov edx, eax
shl edx, 0x10
mov edi, edx
or edi, eax
mov dword [esp + 0x98], edi
call fcn.6c94d230
test eax, eax
mov eax, dword [esi + 0xc]
mov esi, dword [esi + 8]
jne 0x6c9d9c78
mov edi, dword [ebx + 0x10]
mov dword [esp + 0x90], esi
lea ebx, [eax - 1]
mov dword [esp + 0x8c], edi
test eax, eax
je 0x6c9d9540
cmp esi, 3
jle 0x6c9da1c2
movzx eax, byte [esp + 0x98]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x94], ebx
mov byte [esp + 0x7c], al
jmp 0x6c9d964f
cmp eax, 1
je 0x6c9da1a9
mov edx, dword [esp + 0x90]
mov ebx, esi
mov ecx, edx
mov edi, ebx
mov eax, dword [esp + 0x98]
sar ecx, 2
cld
rep stosd dword es:[edi], eax
mov eax, edx
and eax, 3
je 0x6c9d9630
and edx, 0xfffffffc
add edx, ebx
cmp eax, 2
je 0x6c9d9618
cmp eax, 3
jne 0x6c9d9626
movzx eax, byte [esp + 0x98]
add edx, 1
mov byte [edx - 1], al
movzx eax, byte [esp + 0x98]
add edx, 1
mov byte [edx - 1], al
movzx eax, byte [esp + 0x98]
mov byte [edx], al
sub dword [esp + 0x94], 1
mov eax, dword [esp + 0x94]
add esi, dword [esp + 0x8c]
cmp eax, 0xffffffff
je 0x6c9d9540
mov eax, esi
and eax, 3
cmp eax, 2
je 0x6c9da18e
cmp eax, 3
jne 0x6c9d95d1
mov edx, dword [esp + 0x90]
mov eax, esi
movzx ecx, byte [esp + 0x7c]
lea ebx, [eax + 1]
sub edx, 1
mov byte [eax], cl
jmp 0x6c9d95e3
mov dword [esp], str.SDL_FillRect__:_Unsupported_surface_format
call fcn.6c9427b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.Passed_NULL_destination_surface
call fcn.6c9427b0
jmp 0x6c9d9542
movzx ebx, byte [ebp + 0x10]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 0x10]
mov esi, dword [esi + 8]
mov byte [esp + 0x98], bl
mov ebx, dword [ebp + 0x10]
shr edx, 0x10
mov dword [esp + 0x28], esi
movzx ebx, bh
mov byte [esp + 0x5c], dl
mov ecx, ebx
mov byte [esp + 0x94], bl
lea ebx, [eax - 1]
mov dword [esp + 0x44], ebx
test eax, eax
je 0x6c9d9540
lea edi, [esi - 1]
mov ebx, esi
mov dword [esp + 0x2c], edi
test esi, esi
je 0x6c9d9540
lea eax, [esi + esi*2]
add eax, dword [esp + 0x60]
and ebx, 0xfffffff0
mov dword [esp + 0x30], eax
mov eax, esi
sub edi, ebx
shr eax, 4
mov dword [esp + 0x24], ebx
lea eax, [eax + eax*2]
mov dword [esp + 0x14], edi
shl eax, 4
mov dword [esp + 0x20], eax
lea eax, [ebx + ebx*2]
mov dword [esp + 0x1c], eax
movzx eax, cl
mov dword [esp + 0x18], eax
shl eax, 0x10
mov dword [esp + 0x58], eax
lea esi, [esi]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x40], eax
test al, 0xf
jne 0x6c9d9ac0
cmp dword [esp + 0x2c], 0xe
jbe 0x6c9d9ac0
movzx edi, byte [esp + 0x5c]
xor esi, esi
xor ecx, ecx
xor ebx, ebx
mov eax, esi
mov dword [esp + 0x7c], 0
mov edx, edi
mov dword [esp + 0x70], 0
mov al, dl
mov esi, eax
mov eax, esi
mov ah, byte [esp + 0x98]
movzx esi, ax
mov eax, edi
movzx edi, dl
or esi, dword [esp + 0x58]
mov edx, edi
shl edi, 0x10
mov bl, al
mov bh, byte [esp + 0x98]
shl edx, 0x18
mov dword [esp + 0x54], edi
or esi, edx
mov dword [esp + 0x64], edx
movzx ebx, bx
or ebx, dword [esp + 0x58]
mov dword [esp + 0x90], esi
movzx esi, byte [esp + 0x98]
or ebx, dword [esp + 0x64]
mov edx, esi
mov dword [esp + 0x78], ebx
mov cl, dl
mov ch, byte [esp + 0x94]
mov edx, esi
shl esi, 0x10
shl edx, 0x18
mov dword [esp + 0x4c], esi
and ecx, 0xff00ffff
mov dword [esp + 0x50], edx
or ecx, edi
and ecx, 0xffffff
mov edi, ecx
movzx ecx, byte [esp + 0x94]
or edi, edx
mov byte [esp + 0x7c], cl
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x8c], edi
mov ch, al
movzx edx, cx
mov ecx, dword [esp + 0x18]
or edx, esi
xor esi, esi
shl ecx, 0x18
mov edi, edx
xor edx, edx
or edi, ecx
mov dword [esp + 0x48], ecx
xor ecx, ecx
mov dword [esp + 0x7c], edi
mov edi, eax
mov eax, esi
mov al, byte [esp + 0x94]
mov ebx, edi
mov edi, dword [esp + 0x48]
mov esi, eax
mov byte [esp + 0x70], bl
mov eax, esi
mov ah, bl
movzx esi, ax
or esi, dword [esp + 0x4c]
movzx eax, byte [esp + 0x98]
or edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x74], edi
mov cl, al
mov bh, al
mov dword [esp + 0x70], ebx
movzx eax, byte [esp + 0x94]
mov edi, dword [esp + 0x64]
movzx ebx, word [esp + 0x70]
or ebx, dword [esp + 0x58]
mov ch, al
mov dl, al
or edi, ebx
and ecx, 0xff00ffff
or ecx, dword [esp + 0x54]
mov ebx, esi
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x50]
and ecx, 0xffffff
mov dh, bl
movzx edx, dx
or edx, dword [esp + 0x4c]
or edi, ecx
xor ecx, ecx
mov cl, byte [esp + 0x98]
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x48]
or edi, edx
xor esi, esi
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x68], edi
mov edi, eax
mov eax, esi
mov dword [esp + 0x94], edi
mov ch, byte [esp + 0x94]
and ecx, 0xff00ffff
or ecx, dword [esp + 0x54]
and ecx, 0xffffff
or ecx, dword [esp + 0x50]
mov dword [esp + 0x38], ecx
mov ecx, edi
movzx edi, byte [esp + 0x5c]
mov al, cl
mov byte [esp + 0x94], cl
mov esi, eax
mov dword [esp + 0x34], edi
mov eax, esi
mov ah, byte [esp + 0x34]
movzx esi, ax
mov eax, edi
or esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x60]
mov bl, al
or esi, dword [esp + 0x48]
add edi, dword [esp + 0x20]
mov byte [esp + 0x4c], al
movzx eax, byte [esp + 0x98]
mov dl, al
mov bh, al
mov eax, dword [esp + 0x40]
mov dh, cl
movzx ebx, bx
or ebx, dword [esp + 0x58]
or ebx, dword [esp + 0x64]
and edx, 0xff00ffff
or edx, dword [esp + 0x54]
and edx, 0xffffff
or edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x64]
mov dword [eax], ecx
add eax, 0x30
mov dword [eax - 0x2c], esi
mov dword [eax - 0x24], edx
mov edx, dword [esp + 0x74]
mov dword [eax - 0x28], ebx
mov dword [eax - 0x20], edx
mov edx, dword [esp + 0x70]
mov dword [eax - 0x1c], edx
mov edx, dword [esp + 0x6c]
mov dword [eax - 0x18], edx
mov edx, dword [esp + 0x68]
mov dword [eax - 0x14], edx
mov edx, dword [esp + 0x90]
mov dword [eax - 0x10], edx
mov edx, dword [esp + 0x8c]
mov dword [eax - 0xc], edx
mov edx, dword [esp + 0x7c]
mov dword [eax - 8], edx
mov edx, dword [esp + 0x78]
mov dword [eax - 4], edx
cmp eax, edi
jne 0x6c9d9965
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x28]
add eax, dword [esp + 0x1c]
cmp dword [esp + 0x24], esi
je 0x6c9d9a95
movzx ebx, word [ebp + 0x10]
movzx ecx, byte [esp + 0x5c]
mov edi, dword [esp + 0x14]
mov word [eax], bx
mov byte [eax + 2], cl
test edi, edi
je 0x6c9d9a95
mov word [eax + 3], bx
mov byte [eax + 5], cl
cmp edi, 1
je 0x6c9d9a95
mov word [eax + 6], bx
mov byte [eax + 8], cl
cmp edi, 2
je 0x6c9d9a95
mov word [eax + 9], bx
mov byte [eax + 0xb], cl
cmp edi, 3
je 0x6c9d9a95
mov word [eax + 0xc], bx
mov byte [eax + 0xe], cl
cmp edi, 4
je 0x6c9d9a95
mov word [eax + 0xf], bx
mov byte [eax + 0x11], cl
cmp edi, 5
je 0x6c9d9a95
mov word [eax + 0x12], bx
mov byte [eax + 0x14], cl
cmp edi, 6
je 0x6c9d9a95
mov word [eax + 0x15], bx
mov byte [eax + 0x17], cl
cmp edi, 7
je 0x6c9d9a95
mov word [eax + 0x18], bx
mov byte [eax + 0x1a], cl
cmp edi, 8
je 0x6c9d9a95
mov word [eax + 0x1b], bx
mov byte [eax + 0x1d], cl
cmp edi, 9
je 0x6c9d9a95
mov word [eax + 0x1e], bx
mov byte [eax + 0x20], cl
cmp edi, 0xa
je 0x6c9d9a95
mov word [eax + 0x21], bx
mov byte [eax + 0x23], cl
cmp edi, 0xb
je 0x6c9d9a95
mov word [eax + 0x24], bx
mov byte [eax + 0x26], cl
cmp edi, 0xc
je 0x6c9d9a95
mov word [eax + 0x27], bx
mov byte [eax + 0x29], cl
cmp edi, 0xd
je 0x6c9d9a95
mov word [eax + 0x2a], bx
mov byte [eax + 0x2c], cl
sub dword [esp + 0x44], 1
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
add dword [esp + 0x60], edi
add dword [esp + 0x30], edi
cmp eax, 0xffffffff
jne 0x6c9d9740
jmp 0x6c9d9540
mov eax, dword [esp + 0x60]
movzx edx, byte [esp + 0x98]
movzx ecx, byte [esp + 0x94]
movzx ebx, byte [esp + 0x5c]
mov esi, dword [esp + 0x30]
lea esi, [esi]
mov byte [eax], dl
add eax, 3
mov byte [eax - 2], cl
mov byte [eax - 1], bl
cmp eax, esi
jne 0x6c9d9ae0
jmp 0x6c9d9a95
mov eax, dword [ebp + 0x10]
shl eax, 0x10
or eax, dword [ebp + 0x10]
mov edi, eax
mov dword [esp + 0x98], eax
call fcn.6c94d230
test eax, eax
mov eax, dword [esi + 0xc]
jne 0x6c9d9bbf
mov esi, dword [esi + 8]
mov ebx, dword [ebx + 0x10]
lea edx, [eax - 1]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
test eax, eax
je 0x6c9d9540
mov eax, esi
lea esi, [esi - 1]
mov dword [esp + 0x7c], esi
cmp eax, 1
jle 0x6c9da261
mov esi, edx
mov edx, dword [esp + 0x60]
jmp 0x6c9d9baa
lea eax, [edx + 2]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x94], eax
movzx eax, word [esp + 0x98]
mov word [edx], ax
mov ecx, ebx
mov edi, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
sar ecx, 1
cld
rep stosd dword es:[edi], eax
test bl, 1
je 0x6c9d9b97
mov eax, dword [esp + 0x94]
movzx edi, word [esp + 0x98]
mov word [eax + ebx*2 - 2], di
sub esi, 1
add edx, dword [esp + 0x90]
cmp esi, 0xffffffff
je 0x6c9d9540
test dl, 2
jne 0x6c9d9b50
mov dword [esp + 0x94], edx
mov ebx, dword [esp + 0x8c]
jmp 0x6c9d9b69
mov edx, dword [esi + 8]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x94], edi
lea ebx, [eax - 1]
movss xmm3, dword [esp + 0x94]
mov dword [esp + 0x7c], esi
mov esi, edi
lea edi, [edx + edx]
mov edx, edi
shl esi, 0x10
shufps xmm3, xmm3, 0
mov dword [esp + 0x90], edi
sar edx, 6
mov dword [esp + 0x70], esi
movaps xmm0, xmm3
mov esi, dword [esp + 0x60]
lea edi, [edx - 1]
mov dword [esp + 0x5c], edi
mov edi, ebx
test eax, eax
jne 0x6c9d9c2a
jmp 0x6c9d9540
and ebx, 0x3f
jne 0x6c9d9dc0
sub edi, 1
add esi, dword [esp + 0x7c]
cmp edi, 0xffffffff
je 0x6c9d9540
mov ecx, dword [esp + 0x90]
mov eax, esi
mov ebx, ecx
cmp ecx, 0x3f
jle 0x6c9d9c11
mov edx, esi
mov eax, 0x10
and edx, 0xf
sub eax, edx
cmp eax, 0x10
jne 0x6c9da12c
mov ecx, dword [esp + 0x5c]
mov edx, esi
add ecx, 1
shl ecx, 6
lea eax, [edx + ecx]
nop
movntps xmmword [edx], xmm0
add edx, 0x40
movntps xmmword [edx - 0x30], xmm0
movntps xmmword [edx - 0x20], xmm0
movntps xmmword [edx - 0x10], xmm0
cmp edx, eax
jne 0x6c9d9c60
jmp 0x6c9d9c11
mov dword [esp + 0x90], edi
mov ebx, dword [ebx + 0x10]
lea edi, [eax - 1]
movss xmm2, dword [esp + 0x90]
mov dword [esp + 0x94], ebx
shufps xmm2, xmm2, 0
test eax, eax
je 0x6c9d9540
mov edx, esi
movaps xmmword [esp + 0x7c], xmm2
mov esi, dword [esp + 0x60]
jmp 0x6c9d9cc3
sub edi, 1
add esi, dword [esp + 0x94]
cmp edi, 0xffffffff
je 0x6c9d9540
mov ecx, esi
mov ebx, edx
cmp edx, 0x3f
jg 0x6c9da0a0
and ebx, 0x3f
je 0x6c9d9cb0
mov eax, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x90], edx
call fcn.6c9a2160
mov edx, dword [esp + 0x90]
jmp 0x6c9d9cb0
mov edi, dword [esi + 8]
movss xmm1, dword [ebp + 0x10]
mov eax, dword [esi + 0xc]
mov esi, dword [ebx + 0x10]
shl edi, 2
shufps xmm1, xmm1, 0
mov edx, edi
mov dword [esp + 0x94], esi
movaps xmm0, xmm1
lea esi, [eax - 1]
sar edx, 6
lea ebx, [edx - 1]
mov dword [esp + 0x90], ebx
test eax, eax
je 0x6c9d9540
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x98], edi
jmp 0x6c9d9d5e
and edx, 0x3f
jne 0x6c9da042
sub esi, 1
add ebx, dword [esp + 0x94]
cmp esi, 0xffffffff
je 0x6c9d9540
mov eax, dword [esp + 0x98]
mov ecx, ebx
mov edx, eax
cmp eax, 0x3f
jle 0x6c9d9d42
mov eax, ebx
mov edi, 0x10
and eax, 0xf
sub edi, eax
mov eax, edi
cmp edi, 0x10
jne 0x6c9da22d
mov edx, dword [esp + 0x98]
mov edi, dword [esp + 0x90]
mov eax, ebx
add edi, 1
shl edi, 6
lea ecx, [eax + edi]
nop
movntps xmmword [eax], xmm0
add eax, 0x40
movntps xmmword [eax - 0x30], xmm0
movntps xmmword [eax - 0x20], xmm0
movntps xmmword [eax - 0x10], xmm0
cmp eax, ecx
jne 0x6c9d9da0
jmp 0x6c9d9d42
sar ebx, 1
lea edx, [ebx - 1]
mov dword [esp + 0x8c], ebx
je 0x6c9d9c1a
mov ecx, eax
movzx ebx, word [esp + 0x98]
shr ecx, 1
neg ecx
mov word [esp + 0x78], bx
mov ebx, 0xb
and ecx, 7
mov dword [esp + 0x94], ecx
add ecx, 7
cmp ecx, 0xb
cmovae ebx, ecx
cmp ebx, edx
ja 0x6c9d9f8b
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x6c9da289
lea ebx, [eax + 2]
mov ecx, dword [esp + 0x98]
cmp dword [esp + 0x94], 1
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x8c]
mov word [eax], cx
lea edx, [ebx - 2]
je 0x6c9d9ef1
lea ebx, [eax + 4]
cmp dword [esp + 0x94], 2
mov word [eax + 2], cx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x8c]
lea edx, [ebx - 3]
je 0x6c9d9ef1
lea ebx, [eax + 6]
cmp dword [esp + 0x94], 3
mov word [eax + 4], cx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x8c]
lea edx, [ebx - 4]
je 0x6c9d9ef1
lea ebx, [eax + 8]
cmp dword [esp + 0x94], 4
mov word [eax + 6], cx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x8c]
lea edx, [ebx - 5]
je 0x6c9d9ef1
lea ebx, [eax + 0xa]
cmp dword [esp + 0x94], 5
mov word [eax + 8], cx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x8c]
lea edx, [ebx - 6]
je 0x6c9d9ef1
lea ebx, [eax + 0xc]
cmp dword [esp + 0x94], 7
mov word [eax + 0xa], cx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x8c]
lea edx, [ebx - 7]
jne 0x6c9d9ef1
lea ebx, [eax + 0xe]
mov word [eax + 0xc], cx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x8c]
lea edx, [ebx - 8]
mov ebx, dword [esp + 0x8c]
sub ebx, dword [esp + 0x94]
mov dword [esp + 0x64], ebx
shr ebx, 3
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x60], ebx
movzx ebx, word [esp + 0x78]
or ecx, ebx
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x70]
or ecx, ebx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x70]
or ecx, ebx
mov ebx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x94]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x60]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
cmp ecx, 1
je 0x6c9d9f71
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], ebx
cmp ecx, 2
je 0x6c9d9f71
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
mov ebx, dword [esp + 0x64]
mov eax, dword [esp + 0x74]
mov ecx, ebx
and ecx, 0xfffffff8
lea eax, [eax + ecx*2]
sub edx, ecx
cmp ebx, ecx
je 0x6c9d9c1a
mov ebx, dword [esp + 0x98]
mov word [eax], bx
test edx, edx
je 0x6c9d9c1a
mov word [eax + 2], bx
cmp edx, 1
je 0x6c9d9c1a
mov word [eax + 4], bx
cmp edx, 2
je 0x6c9d9c1a
mov word [eax + 6], bx
cmp edx, 3
je 0x6c9d9c1a
mov word [eax + 8], bx
cmp edx, 4
je 0x6c9d9c1a
mov word [eax + 0xa], bx
cmp edx, 5
je 0x6c9d9c1a
mov word [eax + 0xc], bx
cmp edx, 6
je 0x6c9d9c1a
mov word [eax + 0xe], bx
cmp edx, 7
je 0x6c9d9c1a
mov word [eax + 0x10], bx
cmp edx, 8
je 0x6c9d9c1a
mov word [eax + 0x12], bx
cmp edx, 9
je 0x6c9d9c1a
mov word [eax + 0x14], bx
cmp edx, 0xa
je 0x6c9d9c1a
mov word [eax + 0x16], bx
cmp edx, 0xb
je 0x6c9d9c1a
mov word [eax + 0x18], bx
cmp edx, 0xc
je 0x6c9d9c1a
mov word [eax + 0x1a], bx
jmp 0x6c9d9c1a
sar edx, 2
lea eax, [edx - 1]
je 0x6c9d9d4b
cmp eax, 2
jle 0x6c9da07f
mov edi, edx
movups xmmword [ecx], xmm1
shr edi, 2
cmp edi, 1
je 0x6c9da06d
movups xmmword [ecx + 0x10], xmm1
cmp edi, 3
jne 0x6c9da06d
movups xmmword [ecx + 0x20], xmm1
mov edi, edx
and edi, 0xfffffffc
lea ecx, [ecx + edi*4]
sub eax, edi
cmp edx, edi
je 0x6c9d9d4b
mov edi, dword [ebp + 0x10]
mov dword [ecx], edi
test eax, eax
je 0x6c9d9d4b
mov dword [ecx + 4], edi
cmp eax, 1
je 0x6c9d9d4b
mov dword [ecx + 8], edi
jmp 0x6c9d9d4b
mov eax, esi
mov ecx, 0x10
mov dword [esp], esi
and eax, 0xf
mov dword [esp + 0x8c], edx
sub ecx, eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], ecx
sub ebx, ecx
mov dword [esp + 4], eax
mov dword [esp + 0x90], ecx
call fcn.6c9a2160
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
lea eax, [esi + ecx]
mov ecx, ebx
sar ecx, 6
je 0x6c9da292
shl ecx, 6
movaps xmm0, xmmword [esp + 0x7c]
add ecx, eax
lea esi, [esi]
movntps xmmword [eax], xmm0
add eax, 0x40
movntps xmmword [eax - 0x30], xmm0
movntps xmmword [eax - 0x20], xmm0
movntps xmmword [eax - 0x10], xmm0
cmp eax, ecx
jne 0x6c9da100
jmp 0x6c9d9cd0
mov dword [esp], str.SDL_FillRect__:_You_must_lock_the_surface
call fcn.6c9427b0
jmp 0x6c9d9542
sub ebx, eax
sar eax, 1
je 0x6c9da299
mov ecx, dword [esp + 0x98]
mov word [esi], cx
cmp eax, 1
je 0x6c9da176
mov word [esi + 2], cx
cmp eax, 2
je 0x6c9da176
mov word [esi + 4], cx
cmp eax, 3
je 0x6c9da176
mov word [esi + 6], cx
cmp eax, 4
je 0x6c9da176
mov word [esi + 8], cx
cmp eax, 5
je 0x6c9da176
mov word [esi + 0xa], cx
cmp eax, 6
je 0x6c9da176
mov word [esi + 0xc], cx
lea eax, [esi + eax*2]
mov ecx, ebx
sar ecx, 6
je 0x6c9d9c11
sub ecx, 1
mov edx, eax
jmp 0x6c9d9c55
mov edx, dword [esp + 0x90]
mov ecx, esi
movzx ebx, byte [esp + 0x7c]
lea eax, [ecx + 1]
sub edx, 1
mov byte [ecx], bl
jmp 0x6c9d966f
movzx eax, byte [esp + 0x98]
lea ecx, [esi + 1]
mov byte [esi], al
mov eax, dword [esp + 0x90]
lea edx, [eax - 1]
jmp 0x6c9da197
mov eax, esi
mov edx, esi
mov ecx, dword [esp + 0x60]
and eax, 0xfffffffc
and edx, 3
mov dword [esp + 0x94], eax
lea esi, [esi]
nop
test edx, edx
je 0x6c9da21e
mov eax, dword [esp + 0x94]
lea esi, [ecx + eax]
cmp edx, 2
je 0x6c9da206
cmp edx, 3
jne 0x6c9da214
movzx eax, byte [esp + 0x98]
add esi, 1
mov byte [esi - 1], al
movzx eax, byte [esp + 0x98]
add esi, 1
mov byte [esi - 1], al
movzx eax, byte [esp + 0x98]
mov byte [esi], al
sub ebx, 1
add ecx, edi
cmp ebx, 0xffffffff
jne 0x6c9da1e0
jmp 0x6c9d9540
sub edx, edi
sar eax, 2
je 0x6c9da24c
mov edi, dword [ebp + 0x10]
mov dword [ebx], edi
cmp eax, 1
je 0x6c9da249
mov dword [ebx + 4], edi
cmp eax, 2
je 0x6c9da249
mov dword [ebx + 8], edi
lea ecx, [ebx + eax*4]
mov edi, edx
sar edi, 6
je 0x6c9d9d42
sub edi, 1
mov eax, ecx
jmp 0x6c9d9d95
mov esi, dword [esp + 0x60]
lea ecx, [esi + eax*2 - 2]
mov esi, dword [esp + 0x98]
and eax, 1
test eax, eax
je 0x6c9da27a
mov word [ecx], si
sub edx, 1
add ecx, ebx
cmp edx, 0xffffffff
jne 0x6c9da273
jmp 0x6c9d9540
mov dword [esp + 0x74], eax
jmp 0x6c9d9ef1
mov ecx, eax
jmp 0x6c9d9cd0
mov eax, esi
jmp 0x6c9da179