Function at 0x7ff7c00d1d10
Capabilities:
Capture webcam image

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x280
mov rax, qword [0x7ff7c01ca008]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov rdi, rcx
mov ecx, dword [rcx + 0x18]
sub ecx, 1
je 0x7ff7c00d2028
mov qword ds:[r11 + 0x10], rbx
mov qword ds:[r11 + 0x18], rsi
cmp ecx, 0x10000
jne 0x7ff7c00d2024
mov rcx, qword [rdi + 0x20]
xor eax, eax
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x30
mov dword [rsp + 0x34], 0x2d
movups xmmword [rsp + 0x38], xmm0
lea edx, [rax + 1]
mov qword [rsp + 0x58], rax
movups xmmword [rsp + 0x48], xmm0
call qword [sym.imp.GDI32.dll_SetBkMode]
mov r8, qword [rdi + 0x38]
xor r9d, r9d
mov rcx, qword [rdi]
mov edx, 0x419
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rdi]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x447
mov rbx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8, qword [rdi + 0x38]
mov edx, 0x40b
mov rcx, rax
mov eax, ebx
cmp rcx, rax
mov rcx, qword [rdi]
sete sil
xor r9d, r9d
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, dword ds:[rdi + 0x38]
lea r9, [rsp + 0x30]
mov rcx, qword [rdi]
mov edx, 0x43f
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, 0xffffffffffffffff
je 0x7ff7c00d2024
mov rcx, qword [rdi + 0x20]
mov edx, 0xffffff
call qword [sym.imp.GDI32.dll_SetTextColor]
mov rcx, qword [rdi + 0x20]
mov edx, 0x808080
test sil, sil
jne 0x7ff7c00d1e22
mov edx, 0x2b2b2b
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rcx, qword [rdi + 0x20]
lea rdx, [rdi + 0x28]
mov r8, rax
call qword [sym.imp.USER32.dll_FillRect]
mov rax, qword [0x7ff7c01d3d08]
nop
test rax, rax
jne 0x7ff7c00d1ea6
xor edx, edx
mov dword [rsp + 0x60], 0x1f8
mov r8d, 0x1f4
lea rcx, [rsp + 0x64]
call fcn.7ff7c0123170
xor edx, edx
lea r8, [rsp + 0x60]
xor r9d, r9d
lea ecx, [rdx + 0x29]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
test eax, eax
je 0x7ff7c00d1e9f
lea rcx, ds:[rsp + 0x1f8]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov qword [0x7ff7c01d3d08], rax
jmp 0x7ff7c00d1ea6
mov rax, qword [0x7ff7c01d3d08]
mov rcx, qword ds:[rdi + 0x20]
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
cmp dword [rsp + 0x3c], 0xffffffff
je 0x7ff7c00d1f06
mov rcx, qword ds:[rdi]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x431
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rax
test rax, rax
je 0x7ff7c00d1f06
mov eax, dword [rdi + 0x2c]
add dword [rdi + 0x28], 5
add eax, 3
mov r9d, dword [rdi + 0x28]
mov r8, qword [rdi + 0x20]
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call qword [sym.imp.COMCTL32.dll_ImageList_Draw]
test byte ds:[rsp + 0x41], 0x40
je 0x7ff7c00d1ff6
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x208
call fcn.7ff7c0123170
mov r8d, dword [rdi + 0x38]
lea r9, [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x44b
call qword [sym.imp.USER32.dll_SendMessageW]
add dword [rdi + 0x28], 0xa
lea r9, [rdi + 0x28]
cmp byte [0x7ff7c01d65de], 1
lea rcx, [rsp + 0x60]
jb 0x7ff7c00d1fca
lea rax, [rsp + 0x60]
xorps xmm1, xmm1
and rax, 0xfffffffffffffff1
and ecx, 0xf
je 0x7ff7c00d1f83
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rax]
pmovmskb edx, xmm0
sar edx, cl
bsf ecx, edx
je 0x7ff7c00d1f7f
mov eax, ecx
shr rax, 1
jmp 0x7ff7c00d1fdb
add rax, 0x10
xorps xmm0, xmm0
pcmpeqw xmm0, xmmword [rax]
pmovmskb ecx, xmm0
bsf edx, ecx
jne 0x7ff7c00d1fb5
nop dword [rax]
nop word [rax + rax]
add rax, 0x10
movdqa xmm0, xmm1
pcmpeqw xmm0, xmmword [rax]
pmovmskb ecx, xmm0
bsf edx, ecx
je 0x7ff7c00d1fa0
lea rcx, [rsp + 0x60]
sub rax, rcx
mov ecx, edx
shr rcx, 1
sar rax, 1
add rax, rcx
jmp 0x7ff7c00d1fdb
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x7ff7c00d1fd1
mov rcx, qword ds:[rdi + 0x20]
lea rdx, [rsp + 0x60]
mov r8d, eax
mov dword [rsp + 0x20], 0x100025
call qword [sym.imp.USER32.dll_DrawTextW]
mov eax, 4
mov rbx, qword [rsp + 0x298]
mov rsi, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.7ff7c0121390
add rsp, 0x280
pop rdi
ret
xor eax, eax
jmp 0x7ff7c00d1ffb
mov eax, 0x30
jmp 0x7ff7c00d200b