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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff8
sub esp, 0x1c8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
movss xmm1, dword [esp + 0x24]
movss xmm0, dword [esp + 0x18]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x28]
unpcklps xmm0, xmm1
mov dword [esp + 0x20], eax
mov esi, dword [ebp + 0x1c]
movlps qword [esp + 0x18], xmm0
test ebx, ebx
je 0x6ca1b518
test ecx, ecx
je 0x6ca1b460
test edx, edx
je 0x6ca1b528
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x6ca1b4c8
test edi, edi
je 0x6ca1b158
mov eax, edi
shr eax, 0x1c
cmp eax, 1
je 0x6ca1b3f0
test esi, esi
je 0x6ca1b3e0
mov eax, esi
shr eax, 0x1c
cmp eax, 1
jne 0x6ca1b690
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x10], edi
mov dword [ebp + 0x24], eax
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 8], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6ca29350
test esi, esi
je 0x6ca1b388
mov eax, esi
shr eax, 0x1c
cmp eax, 1
jne 0x6ca1b428
cmp edi, esi
je 0x6ca1b388
test edi, edi
jne 0x6ca1b480
lea edi, [esp + 0x40]
mov dword [esp + 4], 0
mov dword [esp], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.6ca15830
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
test eax, eax
js 0x6ca1b4b6
lea eax, [esp + 0x98]
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
call fcn.6c9d74f0
mov eax, dword [esp + 0x28]
movlps xmm4, qword [esp + 0x18]
mov dword [esp + 0x98], 1
mov dword [esp + 0x9c], edi
mov dword [esp + 0xac], eax
movlps qword [esp + 0xa0], xmm4
lea ebx, [esp + 0x118]
mov dword [esp + 8], 0x58
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], 0
mov dword [esp], ebx
mov dword [esp + 0xa8], ecx
call fcn.6c9d74f0
mov dword [esp + 0xcc], ebx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x164], 0xffffffff
mov dword [esp + 0xd0], 1
mov eax, esi
shr eax, 0x1c
cmp eax, 1
je 0x6ca1b670
lea ebx, [esp + 0x6c]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x28], edx
call fcn.6ca15830
test eax, eax
js 0x6ca1b4b6
lea edi, [esp + 0xd8]
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.6c9d74f0
mov dword [esp + 0xdc], ebx
movlps xmm2, qword [esp + 0x18]
lea ebx, [esp + 0x170]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], 0x58
mov dword [esp + 4], 0
mov dword [esp], ebx
movlps qword [esp + 0xe0], xmm2
mov dword [esp + 0xd8], 1
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], eax
call fcn.6c9d74f0
movlps xmm2, qword [esp + 0x18]
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1bc], 0xffffffff
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
movlps qword [esp + 0x38], xmm2
cmp dword [eax], edi
je 0x6ca1b4d8
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.6ca16550
test eax, eax
js 0x6ca1b69c
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0x24]
lea edx, [esp + 0x30]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 4], edx
mov dword [esp], esi
call dword [eax + 8]
mov ebx, eax
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
call fcn.6ca164d0
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x24]
mov eax, edi
movzx edi, al
imul edi, dword [esp + 0x20]
test esi, esi
je 0x6ca1b3d1
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov edi, edx
lea esi, [esi]
nop
mov eax, dword [esp + 0x24]
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.6c9d78b0
add ebx, dword [esp + 0x28]
add edi, dword [esp + 0x2c]
sub esi, 1
jne 0x6ca1b3b0
lea esp, [ebp - 0xc]
xor ebx, ebx
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 1
jne 0x6ca1b11f
lea esi, [esi]
test esi, esi
jne 0x6ca1b160
mov eax, edi
shr eax, 0x18
and eax, 0xf
sub eax, 1
cmp eax, 2
ja 0x6ca1b592
mov dword [esp], str.Indexed_pixel_formats_not_supported
mov ebx, 0xffffffff
call fcn.6c942590
jmp 0x6ca1b377
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x10], edi
mov dword [ebp + 0x24], eax
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 8], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6ca29f30
mov dword [ebp + 0xc], str.src_pitch
mov dword [ebp + 8], 0x6ca9316e
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6c942590
mov eax, edi
shr eax, 0x1c
cmp eax, 1
je 0x6ca1b3f8
mov dword [esp + 4], edi
lea edi, [esp + 0x40]
mov dword [esp], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.6ca15830
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
test eax, eax
jns 0x6ca1b538
lea esp, [ebp - 0xc]
mov ebx, 0xffffffff
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp + 0xc], str.dst_pitch
jmp 0x6ca1b467
mov edx, dword [esp + 0xdc]
mov edx, dword [edx + 4]
test edx, edx
je 0x6ca1b4f2
mov esi, dword [edx + 8]
cmp dword [eax + 0x50], esi
jne 0x6ca1b32d
mov edx, dword [esp + 0x9c]
mov edx, dword [edx + 4]
test edx, edx
je 0x6ca1b34c
mov esi, dword [edx + 8]
cmp dword [eax + 0x54], esi
jne 0x6ca1b32d
jmp 0x6ca1b34c
mov dword [ebp + 0xc], 0x6ca9323b
jmp 0x6ca1b467
mov dword [ebp + 0xc], 0x6ca93249
jmp 0x6ca1b467
lea eax, [esp + 0x98]
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
call fcn.6c9d74f0
mov eax, dword [esp + 0x28]
movlps xmm5, qword [esp + 0x18]
mov dword [esp + 0x98], 1
mov dword [esp + 0x9c], edi
mov dword [esp + 0xac], eax
movlps qword [esp + 0xa0], xmm5
jmp 0x6ca1b1ff
mov dword [esp + 4], edi
lea edi, [esp + 0x40]
mov dword [esp], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
call fcn.6ca15830
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
test eax, eax
js 0x6ca1b4b6
lea eax, [esp + 0x98]
mov dword [esp + 8], 0x3c
lea ebx, [esp + 0x118]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
call fcn.6c9d74f0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov dword [esp], ebx
mov dword [esp + 8], 0x58
movlps xmm3, qword [esp + 0x18]
mov dword [esp + 4], 0
mov dword [esp + 0x98], 1
mov dword [esp + 0x9c], edi
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], ecx
movlps qword [esp + 0xa0], xmm3
call fcn.6c9d74f0
test esi, esi
mov dword [esp + 0xcc], ebx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x164], 0xffffffff
mov dword [esp + 0xd0], 1
je 0x6ca1b258
jmp 0x6ca1b24a
mov eax, esi
shr eax, 0x18
and eax, 0xf
sub eax, 1
cmp eax, 2
jbe 0x6ca1b40c
jmp 0x6ca1b258
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6ca2a060
mov ebx, 0xffffffff
jmp 0x6ca1b368