Function at 0x14000eb50
Capabilities:
Capture webcam image

Disassembly:
mov r11, rsp
push rbp
push rbx
push r15
lea rbp, [r11 - 0x5f]
sub rsp, 0xe0
mov eax, dword [rcx + 0x18]
mov rbx, rcx
mov r15d, dword [rcx + 0x1c]
mov dword [rcx + 0x70], eax
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14000ee31
mov qword [r11 + 0x18], rsi
lea rdx, [rbp - 0x69]
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x38], r14
call qword [sym.imp.USER32.dll_GetClientRect]
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp - 0x79]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [rbp - 0x61]
xor r12d, r12d
sub ecx, dword [rbp - 0x69]
mov eax, dword [rbp - 0x71]
mov edx, dword [rbp - 0x5d]
sub eax, ecx
sub eax, dword [rbp - 0x79]
sub edx, dword [rbp - 0x65]
mov dword [rbx + 0x44], eax
mov eax, dword [rbp - 0x6d]
sub eax, edx
mov dword [rbx + 0x3c], ecx
sub eax, dword [rbp - 0x75]
lea rcx, str.Shcore.dll
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x40], edx
mov qword [rbx + 8], r12
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbx], rax
test rax, rax
je 0x14000ec04
lea rdx, str.GetDpiForMonitor
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 8], rax
cmp qword [rbx + 8], r12
je 0x14000ec44
mov edx, 2
lea rcx, [rbp - 0x79]
call qword [sym.imp.USER32.dll_MonitorFromRect]
lea r9, [rbp + 0x6f]
mov dword [rbp + 0x67], r12d
mov rcx, rax
mov dword [rbp + 0x6f], r12d
lea r8, [rbp + 0x67]
xor edx, edx
call qword [rbx + 8]
test eax, eax
js 0x14000ec44
mov r15d, dword [rbp + 0x67]
mov dword [rbx + 0x1c], r15d
mov dword [rbx + 0x90], r15d
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, qword [rbx + 0x10]
lea rdx, [rbx + 0x20]
mov rsi, rax
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov r9d, 2
lea r8, [rbx + 0x20]
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14000ecdf
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x31]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r8, [rbp - 0x39]
mov edx, 0x5c
mov rcx, rax
mov rdi, r12
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x14000ecbf
lea rcx, [rbp - 0x39]
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov rdi, rax
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov qword [rbx + 0x30], rdi
xor r8d, r8d
mov edx, 0x419
mov rcx, qword [rcx + 0x20]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rbx + 0x38], eax
mov rcx, qword [rbx + 0x10]
mov edx, 5
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.USER32.dll_GetWindow]
mov r14, rax
test rax, rax
je 0x14000ee2c
mov qword [rsp + 0xc8], r13
mov r13, 0xffffffffffffffff
nop dword [rax]
lea rdx, [rbp - 0x51]
mov qword [rbp - 0x59], r14
mov rcx, r14
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rdx, qword [rbx + 0x10]
lea r8, [rbp - 0x51]
mov r9d, 2
xor ecx, ecx
mov rdx, qword [rdx + 0x18]
call qword [sym.imp.USER32.dll_MapWindowPoints]
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x31]
call qword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [rbx + 0x5c]
mov qword [rbp - 0x41], rax
cmp dword [rbx + 0x58], edi
jne 0x14000eda9
test edi, edi
jne 0x14000ed65
mov edi, 0x10
jmp 0x14000ed67
add edi, edi
mov ecx, edi
mov eax, 0x20
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.140021978
mov rsi, rax
test rax, rax
je 0x14000ede4
mov r8d, dword [rbx + 0x5c]
mov rcx, rax
mov rdx, qword [rbx + 0x50]
shl r8, 5
call fcn.140021cd0
mov rcx, qword [rbx + 0x50]
call fcn.140021950
mov qword [rbx + 0x50], rsi
mov dword [rbx + 0x5c], edi
mov ecx, dword [rbx + 0x58]
mov edx, 2
mov rax, qword [rbx + 0x50]
movups xmm0, xmmword [rbp - 0x59]
shl rcx, 5
movups xmmword [rcx + rax], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [rcx + rax + 0x10], xmm1
inc dword [rbx + 0x58]
mov rcx, r14
call qword [sym.imp.USER32.dll_GetWindow]
mov r14, rax
test rax, rax
jne 0x14000ed10
jmp 0x14000edf5
mov rcx, qword [rbx + 0x50]
call fcn.140021950
mov qword [rbx + 0x50], r12
mov qword [rbx + 0x58], r12
mov r13, qword [rsp + 0xc8]
mov eax, r15d
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x110]
mov r14, qword [rsp + 0xc0]
add rsp, 0xe0
pop r15
pop rbx
pop rbp
ret
mov eax, r15d
jmp 0x14000ee00
mov eax, r15d
add rsp, 0xe0
pop r15
pop rbx
pop rbp
ret