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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xcc
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x6c9db211
mov ebx, dword [ebp + 0x10]
test ebx, ebx
jle 0x6c9db204
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x70], edx
mov dword [esp + 0x34], 0
mov dword [esp + 0xa0], 0
movzx eax, ah
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 0x14]
shr eax, 0x10
mov byte [esp + 0x13], al
mov eax, dword [ebp + 0x14]
shl eax, 0x10
or eax, dword [ebp + 0x14]
mov edi, eax
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x14]
shl edi, 0x10
shl eax, 8
or eax, dword [ebp + 0x14]
mov dword [esp + 0x14], edi
mov ecx, eax
shl ecx, 0x10
or eax, ecx
mov dword [esp + 0x3c], eax
lea esi, [esi]
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x6c9da535
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp byte [eax + 8], 7
jbe 0x6c9da520
mov eax, dword [ebp + 8]
lea ebx, [eax + 0x24]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x6c9da4e0
lea esi, [esp + 0xbc]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, esi
mov dword [esp], eax
call fcn.6c9dd2a0
test eax, eax
je 0x6c9da410
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x14]
test esi, esi
je 0x6c9da507
mov edi, dword [eax + 0x10]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + 9]
mov dword [esp + 0x44], edi
imul edi, dword [ebx + 4]
mov eax, ecx
imul ecx, dword [ebx]
mov edx, edi
add edx, ecx
lea edi, [esi + edx]
mov dword [esp + 0x9c], edi
cmp al, 2
je 0x6c9da550
jbe 0x6c9da440
cmp al, 3
je 0x6c9da8b0
cmp al, 4
jne 0x6c9da410
call fcn.6c94d230
test eax, eax
jne 0x6c9daee5
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp + 8]
mov esi, dword [ebx + 8]
lea edx, [eax - 1]
mov ebx, dword [edi + 0x10]
test eax, eax
je 0x6c9da410
mov dword [esp + 0xa4], esi
mov esi, ebx
mov ebx, dword [esp + 0x9c]
lea esi, [esi]
nop
mov edi, ebx
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0xa4]
cld
rep stosd dword es:[edi], eax
sub edx, 1
add ebx, esi
cmp edx, 0xffffffff
jne 0x6c9da3f0
lea esi, [esi]
add dword [esp + 0xa0], 1
mov eax, dword [esp + 0xa0]
add dword [esp + 0x70], 0x10
cmp dword [ebp + 0x10], eax
jne 0x6c9da320
mov eax, dword [esp + 0x34]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp al, 1
jne 0x6c9da410
call fcn.6c94d230
mov edi, dword [ebx + 8]
test eax, eax
mov eax, dword [ebx + 0xc]
je 0x6c9dae00
mov ecx, dword [ebp + 8]
movss xmm0, dword [esp + 0x3c]
lea esi, [eax - 1]
mov ecx, dword [ecx + 0x10]
shufps xmm0, xmm0, 0
movaps xmmword [esp + 0xac], xmm0
mov dword [esp + 0xa4], ecx
test eax, eax
je 0x6c9da410
mov edx, edi
movaps xmmword [esp + 0x7c], xmm0
mov edi, esi
mov esi, dword [esp + 0x9c]
jmp 0x6c9da4a3
sub edi, 1
add esi, dword [esp + 0xa4]
cmp edi, 0xffffffff
je 0x6c9da410
mov ecx, esi
mov ebx, edx
cmp edx, 0x3f
jg 0x6c9db010
and ebx, 0x3f
je 0x6c9da490
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x9c], edx
call fcn.6c9a2160
mov edx, dword [esp + 0x9c]
jmp 0x6c9da490
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x2c]
test edx, edx
jle 0x6c9da410
mov eax, dword [eax + 0x30]
test eax, eax
jle 0x6c9da410
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x14]
test esi, esi
jne 0x6c9da37c
mov dword [esp], str.SDL_FillRect__:_You_must_lock_the_surface
call fcn.6c9427b0
add dword [esp + 0x34], eax
jmp 0x6c9da410
mov dword [esp], str.SDL_FillRect__:_Unsupported_surface_format
call fcn.6c9427b0
add dword [esp + 0x34], eax
jmp 0x6c9da410
mov dword [esp], str.Passed_NULL_destination_surface
call fcn.6c9427b0
add dword [esp + 0x34], eax
jmp 0x6c9da410
call fcn.6c94d230
test eax, eax
mov eax, dword [ebx + 0xc]
je 0x6c9dad54
mov edi, dword [ebp + 8]
mov edx, dword [ebx + 8]
lea ebx, [eax - 1]
mov edi, dword [edi + 0x10]
lea ecx, [edx + edx]
mov edx, ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x1c]
sar edx, 6
lea ecx, [edx - 1]
mov dword [esp + 0xa4], edi
movss xmm0, dword [esp + 0xa4]
mov dword [esp + 0x60], ecx
shufps xmm0, xmm0, 0
movaps xmmword [esp + 0xac], xmm0
test eax, eax
je 0x6c9da410
mov esi, dword [esp + 0x9c]
mov dword [esp + 0xa4], ebx
jmp 0x6c9da5e1
and ecx, 0x3f
jne 0x6c9da630
sub dword [esp + 0xa4], 1
mov eax, dword [esp + 0xa4]
add esi, dword [esp + 0x7c]
cmp eax, 0xffffffff
je 0x6c9da410
mov ebx, dword [esp + 0x98]
mov eax, esi
mov ecx, ebx
cmp ebx, 0x3f
jle 0x6c9da5c0
mov edx, esi
mov eax, 0x10
and edx, 0xf
sub eax, edx
cmp eax, 0x10
jne 0x6c9db130
mov ebx, dword [esp + 0x60]
mov edx, esi
add ebx, 1
shl ebx, 6
lea eax, [edx + ebx]
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 0x6c9da615
and ecx, 0x3f
je 0x6c9da5c5
sar ecx, 1
lea ebx, [ecx - 1]
mov dword [esp + 0x9c], ebx
je 0x6c9da5c5
mov edx, eax
mov word [esp + 0x90], di
shr edx, 1
neg edx
and edx, 7
lea ebx, [edx + 7]
mov dword [esp + 0x8c], edx
mov edx, 0xb
cmp ebx, 0xb
cmovae edx, ebx
cmp edx, dword [esp + 0x9c]
ja 0x6c9da7f2
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x6c9db226
lea ebx, [eax + 2]
mov word [eax], di
mov dword [esp + 0x94], ebx
lea ebx, [ecx - 2]
mov dword [esp + 0x9c], ebx
cmp edx, 1
je 0x6c9da74d
lea ebx, [eax + 4]
mov word [eax + 2], di
mov dword [esp + 0x94], ebx
lea ebx, [ecx - 3]
mov dword [esp + 0x9c], ebx
cmp edx, 2
je 0x6c9da74d
lea ebx, [eax + 6]
mov word [eax + 4], di
mov dword [esp + 0x94], ebx
lea ebx, [ecx - 4]
mov dword [esp + 0x9c], ebx
cmp edx, 3
je 0x6c9da74d
lea ebx, [eax + 8]
mov word [eax + 6], di
mov dword [esp + 0x94], ebx
lea ebx, [ecx - 5]
mov dword [esp + 0x9c], ebx
cmp edx, 4
je 0x6c9da74d
lea ebx, [eax + 0xa]
mov word [eax + 8], di
mov dword [esp + 0x94], ebx
lea ebx, [ecx - 6]
mov dword [esp + 0x9c], ebx
cmp edx, 5
je 0x6c9da74d
lea ebx, [eax + 0xc]
mov word [eax + 0xa], di
mov dword [esp + 0x94], ebx
lea ebx, [ecx - 7]
mov dword [esp + 0x9c], ebx
cmp edx, 7
jne 0x6c9da74d
lea ebx, [eax + 0xe]
mov word [eax + 0xc], di
mov dword [esp + 0x94], ebx
lea ebx, [ecx - 8]
mov dword [esp + 0x9c], ebx
sub ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
shr ecx, 3
mov dword [esp + 0x64], ecx
movzx ecx, word [esp + 0x90]
mov ebx, ecx
movzx ecx, word [esp + 0x90]
or ebx, edx
mov dword [esp + 0x78], ebx
mov ebx, ecx
movzx ecx, word [esp + 0x90]
or ebx, edx
mov dword [esp + 0x74], ebx
mov ebx, ecx
or ebx, edx
mov edx, dword [esp + 0x64]
mov ecx, ebx
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x8c]
lea eax, [eax + ebx*2]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
cmp edx, 1
je 0x6c9da7d0
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
cmp edx, 2
je 0x6c9da7d0
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x94]
mov edx, ebx
and edx, 0xfffffff8
sub dword [esp + 0x9c], edx
lea eax, [eax + edx*2]
cmp ebx, edx
je 0x6c9da5c5
mov ecx, dword [esp + 0x9c]
mov word [eax], di
test ecx, ecx
je 0x6c9da5c5
mov word [eax + 2], di
cmp ecx, 1
je 0x6c9da5c5
mov word [eax + 4], di
cmp ecx, 2
je 0x6c9da5c5
mov word [eax + 6], di
cmp ecx, 3
je 0x6c9da5c5
mov word [eax + 8], di
cmp ecx, 4
je 0x6c9da5c5
mov word [eax + 0xa], di
cmp ecx, 5
je 0x6c9da5c5
mov word [eax + 0xc], di
cmp ecx, 6
je 0x6c9da5c5
mov word [eax + 0xe], di
cmp ecx, 7
je 0x6c9da5c5
mov word [eax + 0x10], di
cmp ecx, 8
je 0x6c9da5c5
mov word [eax + 0x12], di
cmp ecx, 9
je 0x6c9da5c5
mov word [eax + 0x14], di
cmp ecx, 0xa
je 0x6c9da5c5
mov word [eax + 0x16], di
cmp ecx, 0xb
je 0x6c9da5c5
mov word [eax + 0x18], di
cmp ecx, 0xc
je 0x6c9da5c5
mov word [eax + 0x1a], di
jmp 0x6c9da5c5
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
movzx ebx, byte [ebp + 0x14]
lea ecx, [eax - 1]
mov dword [esp + 0x30], edi
mov byte [esp + 0xa4], bl
mov dword [esp + 0x74], ecx
test eax, eax
je 0x6c9da410
lea ecx, [edi - 1]
mov dword [esp + 0x38], ecx
test edi, edi
je 0x6c9da410
lea eax, [edi + edi*2]
add eax, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
mov eax, edi
and edi, 0xfffffff0
shr eax, 4
sub ecx, edi
mov dword [esp + 0x2c], edi
lea eax, [eax + eax*2]
mov dword [esp + 0x18], ecx
shl eax, 4
mov dword [esp + 0x28], eax
lea eax, [edi + edi*2]
movzx edi, byte [esp + 0x13]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0xa8]
mov dword [esp + 0x20], eax
shl eax, 0x10
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x48], eax
test al, 0xf
jne 0x6c9dad24
cmp dword [esp + 0x38], 0xe
jbe 0x6c9dad24
xor esi, esi
mov edx, edi
movzx ebx, byte [esp + 0xa4]
xor ecx, ecx
mov eax, esi
mov dword [esp + 0xa4], edi
mov al, dl
mov cl, bl
mov ch, byte [esp + 0xa8]
movzx edx, dl
mov esi, eax
mov dword [esp + 0x60], 0
mov eax, esi
and ecx, 0xff00ffff
mov dword [esp + 0x8c], 0
mov ah, bl
mov dword [esp + 0x54], 0
movzx esi, ax
mov eax, edx
shl edx, 0x10
or esi, dword [esp + 0x98]
shl eax, 0x18
or ecx, edx
mov dword [esp + 0x94], edx
or esi, eax
and ecx, 0xffffff
mov dword [esp + 0x7c], eax
mov dword [esp + 0x6c], esi
movzx esi, bl
mov ebx, ecx
movzx ecx, byte [esp + 0xa8]
mov edx, esi
mov eax, esi
shl esi, 0x10
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x8c]
shl edx, 0x18
mov ch, byte [esp + 0xa4]
or ebx, edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x68], ebx
movzx edx, cx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x8c], esi
or edx, esi
xor esi, esi
shl ecx, 0x18
mov ebx, edx
mov edx, eax
or ebx, ecx
mov byte [esp + 0xa4], dl
mov dword [esp + 0x64], ebx
mov ebx, edi
mov byte [esp + 0x60], bl
mov eax, dword [esp + 0x60]
mov dword [esp + 0x78], ecx
xor ecx, ecx
mov ah, dl
mov edx, edi
movzx ebx, ax
mov eax, esi
mov al, byte [esp + 0xa8]
or ebx, dword [esp + 0x98]
or ebx, dword [esp + 0x7c]
mov esi, eax
mov dword [esp + 0x60], ebx
xor ebx, ebx
mov eax, esi
mov bl, dl
mov ah, dl
movzx esi, ax
mov eax, dword [esp + 0x78]
or esi, dword [esp + 0x8c]
or eax, esi
xor esi, esi
mov dword [esp + 0x5c], eax
movzx edx, byte [esp + 0xa4]
mov dword [esp + 0x4c], 0
mov bh, dl
mov byte [esp + 0x54], dl
mov eax, dword [esp + 0x54]
movzx ebx, bx
or ebx, dword [esp + 0x98]
or ebx, dword [esp + 0x7c]
mov dword [esp + 0x58], ebx
movzx ebx, byte [esp + 0xa8]
mov dword [esp + 0xa8], edi
mov ah, bl
mov cl, bl
mov ch, byte [esp + 0xa8]
mov edx, eax
mov eax, dword [esp + 0x94]
and edx, 0xff00ffff
movzx ecx, cx
or ecx, dword [esp + 0x8c]
or edx, eax
and edx, 0xffffff
or edx, dword [esp + 0x90]
mov dword [esp + 0x54], edx
mov edx, ebx
mov ebx, dword [esp + 0x78]
mov byte [esp + 0xa8], dl
or ebx, ecx
xor ecx, ecx
mov cl, byte [esp + 0xa4]
mov dword [esp + 0x50], ebx
xor ebx, ebx
mov ch, dl
mov edx, edi
and ecx, 0xff00ffff
mov bl, dl
or ecx, eax
mov eax, esi
mov al, byte [esp + 0xa8]
and ecx, 0xffffff
or ecx, dword [esp + 0x90]
mov esi, eax
mov eax, esi
mov ah, dl
movzx esi, ax
or esi, dword [esp + 0x8c]
or esi, dword [esp + 0x78]
mov byte [esp + 0x8c], dl
movzx edx, byte [esp + 0xa4]
mov byte [esp + 0x4c], dl
mov eax, dword [esp + 0x4c]
mov bh, dl
mov ah, byte [esp + 0xa8]
mov edx, dword [esp + 0x94]
movzx ebx, bx
or ebx, dword [esp + 0x98]
or ebx, dword [esp + 0x7c]
and eax, 0xff00ffff
or edx, eax
and edx, 0xffffff
or edx, dword [esp + 0x90]
mov eax, dword [esp + 0x9c]
add eax, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
mov eax, edi
mov byte [esp + 0x94], al
mov eax, dword [esp + 0x48]
nop
mov edi, dword [esp + 0x5c]
mov dword [eax], ecx
add eax, 0x30
mov dword [eax - 0x2c], esi
mov dword [eax - 0x20], edi
mov edi, dword [esp + 0x58]
mov dword [eax - 0x28], ebx
mov dword [eax - 0x1c], edi
mov edi, dword [esp + 0x54]
mov dword [eax - 0x24], edx
mov dword [eax - 0x18], edi
mov edi, dword [esp + 0x50]
mov dword [eax - 0x14], edi
mov edi, dword [esp + 0x6c]
mov dword [eax - 0x10], edi
mov edi, dword [esp + 0x68]
mov dword [eax - 0xc], edi
mov edi, dword [esp + 0x64]
mov dword [eax - 8], edi
mov edi, dword [esp + 0x60]
mov dword [eax - 4], edi
cmp eax, dword [esp + 0x7c]
jne 0x6c9daba0
mov eax, dword [esp + 0x9c]
movzx edi, byte [esp + 0x94]
add eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
cmp dword [esp + 0x2c], ebx
je 0x6c9dacf0
movzx ecx, word [ebp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, edi
mov byte [eax + 2], bl
mov word [eax], cx
test esi, esi
je 0x6c9dacf0
mov word [eax + 3], cx
mov byte [eax + 5], bl
cmp esi, 1
je 0x6c9dacf0
mov word [eax + 6], cx
mov byte [eax + 8], bl
cmp esi, 2
je 0x6c9dacf0
mov word [eax + 9], cx
mov byte [eax + 0xb], bl
cmp esi, 3
je 0x6c9dacf0
mov word [eax + 0xc], cx
mov byte [eax + 0xe], bl
cmp esi, 4
je 0x6c9dacf0
mov word [eax + 0xf], cx
mov byte [eax + 0x11], bl
cmp esi, 5
je 0x6c9dacf0
mov word [eax + 0x12], cx
mov byte [eax + 0x14], bl
cmp esi, 6
je 0x6c9dacf0
mov ebx, edi
mov word [eax + 0x15], cx
mov byte [eax + 0x17], bl
cmp esi, 7
je 0x6c9dacf0
mov ebx, ecx
mov word [eax + 0x18], cx
mov ecx, edi
mov byte [eax + 0x1a], cl
cmp esi, 8
je 0x6c9dacf0
mov word [eax + 0x1b], bx
mov byte [eax + 0x1d], cl
cmp esi, 9
je 0x6c9dacf0
mov word [eax + 0x1e], bx
mov byte [eax + 0x20], cl
cmp esi, 0xa
je 0x6c9dacf0
movzx ebx, word [ebp + 0x14]
mov byte [eax + 0x23], cl
mov word [eax + 0x21], bx
cmp esi, 0xb
je 0x6c9dacf0
mov ecx, ebx
mov word [eax + 0x24], bx
mov ebx, edi
mov byte [eax + 0x26], bl
cmp esi, 0xc
je 0x6c9dacf0
mov word [eax + 0x27], cx
mov byte [eax + 0x29], bl
cmp esi, 0xd
je 0x6c9dacf0
mov word [eax + 0x2a], cx
mov byte [eax + 0x2c], bl
lea esi, [esi]
lea esi, [esi]
sub dword [esp + 0x74], 1
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x44]
add dword [esp + 0x9c], ebx
add dword [esp + 0x40], ebx
cmp eax, 0xffffffff
je 0x6c9da410
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x48], eax
test al, 0xf
je 0x6c9da942
mov eax, dword [esp + 0x9c]
movzx edx, byte [esp + 0xa4]
mov ebx, edi
movzx ecx, byte [esp + 0xa8]
mov esi, dword [esp + 0x40]
mov byte [eax], dl
add eax, 3
mov byte [eax - 2], cl
mov byte [eax - 1], bl
cmp eax, esi
jne 0x6c9dad41
mov edi, ebx
jmp 0x6c9dacf0
mov edi, dword [ebx + 8]
mov ebx, dword [ebp + 8]
lea edx, [eax - 1]
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x98], ebx
test eax, eax
je 0x6c9da410
mov eax, edi
lea edi, [edi - 1]
mov dword [esp + 0x94], edi
cmp eax, 1
jle 0x6c9db0f4
mov esi, dword [esp + 0x9c]
mov ebx, edx
jmp 0x6c9dade7
lea eax, [esi + 2]
mov edx, dword [esp + 0x94]
mov dword [esp + 0xa4], eax
movzx eax, word [esp + 0x1c]
mov word [esi], ax
mov ecx, edx
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0x1c]
sar ecx, 1
cld
rep stosd dword es:[edi], eax
test dl, 1
je 0x6c9dadd4
mov eax, dword [esp + 0xa4]
movzx edi, word [esp + 0x1c]
mov word [eax + edx*2 - 2], di
sub ebx, 1
add esi, dword [esp + 0x98]
cmp ebx, 0xffffffff
je 0x6c9da410
test esi, 2
jne 0x6c9dad93
mov dword [esp + 0xa4], esi
mov edx, dword [esp + 0x7c]
jmp 0x6c9dadac
mov ecx, dword [ebp + 8]
mov dword [esp + 0x98], edi
lea esi, [eax - 1]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x7c], ecx
test eax, eax
je 0x6c9da410
cmp edi, 3
jle 0x6c9db090
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0xa4], esi
mov esi, dword [esp + 0x9c]
mov byte [esp + 0x94], al
jmp 0x6c9daeb0
cmp eax, 1
je 0x6c9db1b0
mov edx, dword [esp + 0x98]
mov edi, esi
mov ecx, edx
mov ebx, edi
mov eax, dword [esp + 0x3c]
sar ecx, 2
cld
rep stosd dword es:[edi], eax
mov eax, edx
and eax, 3
je 0x6c9dae94
and edx, 0xfffffffc
add edx, ebx
cmp eax, 2
je 0x6c9dae82
cmp eax, 3
jne 0x6c9dae8d
movzx eax, byte [esp + 0x3c]
add edx, 1
mov byte [edx - 1], al
movzx eax, byte [esp + 0x3c]
add edx, 1
mov byte [edx - 1], al
movzx eax, byte [esp + 0x3c]
mov byte [edx], al
sub dword [esp + 0xa4], 1
mov eax, dword [esp + 0xa4]
add esi, dword [esp + 0x7c]
cmp eax, 0xffffffff
je 0x6c9da410
mov eax, esi
and eax, 3
cmp eax, 2
je 0x6c9db190
cmp eax, 3
jne 0x6c9dae41
mov edx, dword [esp + 0x98]
mov eax, esi
movzx ecx, byte [esp + 0x94]
lea edi, [eax + 1]
sub edx, 1
mov byte [eax], cl
jmp 0x6c9dae53
mov edi, dword [ebx + 8]
mov ecx, dword [ebp + 8]
movss xmm1, dword [ebp + 0x14]
mov eax, dword [ebx + 0xc]
shl edi, 2
mov ecx, dword [ecx + 0x10]
mov edx, edi
shufps xmm1, xmm1, 0
lea esi, [eax - 1]
sar edx, 6
mov dword [esp + 0x98], ecx
movaps xmm0, xmm1
lea ecx, [edx - 1]
movaps xmmword [esp + 0xac], xmm1
mov dword [esp + 0x7c], ecx
test eax, eax
je 0x6c9da410
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0xa4], edi
jmp 0x6c9daf58
and edx, 0x3f
jne 0x6c9dafb0
sub esi, 1
add ebx, dword [esp + 0x98]
cmp esi, 0xffffffff
je 0x6c9da410
mov eax, dword [esp + 0xa4]
mov ecx, ebx
mov edx, eax
cmp eax, 0x3f
jle 0x6c9daf40
mov eax, ebx
mov edi, 0x10
and eax, 0xf
sub edi, eax
mov eax, edi
cmp edi, 0x10
jne 0x6c9db1d0
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0x7c]
mov eax, ebx
add edi, 1
shl edi, 6
lea ecx, [eax + edi]
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 0x6c9daf95
and edx, 0x3f
je 0x6c9daf45
sar edx, 2
lea eax, [edx - 1]
je 0x6c9daf45
cmp eax, 2
jle 0x6c9dafe9
mov edi, edx
movups xmmword [ecx], xmm1
shr edi, 2
cmp edi, 1
je 0x6c9dafd7
movups xmmword [ecx + 0x10], xmm1
cmp edi, 3
jne 0x6c9dafd7
movups xmmword [ecx + 0x20], xmm1
mov edi, edx
and edi, 0xfffffffc
lea ecx, [ecx + edi*4]
sub eax, edi
cmp edx, edi
je 0x6c9daf45
mov edi, dword [ebp + 0x14]
mov dword [ecx], edi
test eax, eax
je 0x6c9daf45
mov dword [ecx + 4], edi
cmp eax, 1
je 0x6c9daf45
mov dword [ecx + 8], edi
jmp 0x6c9daf45
mov eax, esi
mov ecx, 0x10
mov dword [esp], esi
and eax, 0xf
mov dword [esp + 0x98], edx
sub ecx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], ecx
sub ebx, ecx
mov dword [esp + 4], eax
mov dword [esp + 0x9c], ecx
call fcn.6c9a2160
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
lea eax, [esi + ecx]
mov ecx, ebx
sar ecx, 6
je 0x6c9db232
shl ecx, 6
movaps xmm0, xmmword [esp + 0x7c]
add ecx, eax
lea esi, [esi]
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 0x6c9db070
jmp 0x6c9da4b0
mov eax, edi
mov edx, edi
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x7c]
and eax, 0xfffffffc
and edx, 3
mov dword [esp + 0xa4], eax
lea esi, [esi]
test edx, edx
je 0x6c9db0e5
mov eax, dword [esp + 0xa4]
lea ebx, [ecx + eax]
cmp edx, 2
je 0x6c9db0d3
cmp edx, 3
jne 0x6c9db0de
movzx eax, byte [esp + 0x3c]
add ebx, 1
mov byte [ebx - 1], al
movzx eax, byte [esp + 0x3c]
add ebx, 1
mov byte [ebx - 1], al
movzx eax, byte [esp + 0x3c]
mov byte [ebx], al
sub esi, 1
add ecx, edi
cmp esi, 0xffffffff
jne 0x6c9db0b0
jmp 0x6c9da410
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0x1c]
lea ecx, [edi + eax*2 - 2]
and eax, 1
lea esi, [esi]
lea esi, [esi]
test eax, eax
je 0x6c9db117
mov word [ecx], si
sub edx, 1
add ecx, ebx
cmp edx, 0xffffffff
jne 0x6c9db110
jmp 0x6c9da410
sub ecx, eax
sar eax, 1
je 0x6c9db239
mov word [esi], di
cmp eax, 1
je 0x6c9db173
mov word [esi + 2], di
cmp eax, 2
je 0x6c9db173
mov word [esi + 4], di
cmp eax, 3
je 0x6c9db173
mov word [esi + 6], di
cmp eax, 4
je 0x6c9db173
mov word [esi + 8], di
cmp eax, 5
je 0x6c9db173
mov word [esi + 0xa], di
cmp eax, 6
je 0x6c9db173
mov word [esi + 0xc], di
lea eax, [esi + eax*2]
mov ebx, ecx
sar ebx, 6
je 0x6c9da5c0
sub ebx, 1
mov edx, eax
jmp 0x6c9da60c
mov edx, dword [esp + 0x98]
mov ecx, esi
movzx ebx, byte [esp + 0x94]
lea eax, [ecx + 1]
sub edx, 1
mov byte [ecx], bl
jmp 0x6c9daed0
movzx eax, byte [esp + 0x3c]
lea ecx, [esi + 1]
mov byte [esi], al
mov eax, dword [esp + 0x98]
lea edx, [eax - 1]
jmp 0x6c9db199
sub edx, edi
sar eax, 2
je 0x6c9db1ef
mov edi, dword [ebp + 0x14]
mov dword [ebx], edi
cmp eax, 1
je 0x6c9db1ec
mov dword [ebx + 4], edi
cmp eax, 2
je 0x6c9db1ec
mov dword [ebx + 8], edi
lea ecx, [ebx + eax*4]
mov edi, edx
sar edi, 6
je 0x6c9daf40
sub edi, 1
mov eax, ecx
jmp 0x6c9daf8c
mov dword [esp + 0x34], 0
jmp 0x6c9da42d
mov dword [esp], str.SDL_FillRects___passed_NULL_rects
call fcn.6c9427b0
mov dword [esp + 0x34], eax
jmp 0x6c9da42d
mov dword [esp + 0x94], eax
jmp 0x6c9da74d
mov ecx, eax
jmp 0x6c9da4b0
mov eax, esi
jmp 0x6c9db176