Function at 0x4cf9f8
Capabilities:
Capture webcam image

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov eax, dword [rsp + 0xb0]
xor ebx, ebx
mov r12, r9
mov ebp, r8d
mov rsi, rcx
lea edi, [rbx + 1]
cmp eax, ebx
je 0x4cffdb
sub eax, edi
je 0x4cfb90
sub eax, 2
jne 0x4cfad2
mov edx, 0x200
cmp r8d, edx
jne 0x4cfa78
mov r9, qword [rsp + 0xa0]
lea rax, [r11 + 0x38]
mov r8, r12
mov qword [r11 - 0x58], rax
mov dword [r11 + 0x38], edi
call fcn.004cefe4
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
jmp 0x4d02a1
cmp r8d, 0x104
jne 0x4cfaac
mov r9, qword [rsp + 0xa0]
lea rax, [rsp + 0xb0]
mov r8, r12
mov edx, 0x104
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x20], rax
call fcn.004cf178
jmp 0x4cfa68
cmp r8d, 0x105
jne 0x4cfaf2
mov al, byte [rcx + 0xf1]
test al, 8
jne 0x4cfac7
or al, 8
mov byte [rcx + 0xf1], al
mov rax, qword [rsp + 0xa8]
mov qword [rax], rbx
xor eax, eax
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp r8d, 0x106
jne 0x4cfb27
mov ecx, ebx
test byte [rsi + 0xf0], dil
jne 0x4cfb17
mov rax, qword [rsi + 8]
cmp qword [rsi + 0x30], rax
je 0x4cfb17
cmp r9, 0x20
cmovne ecx, edi
mov rax, qword [rsp + 0xa8]
mov qword [rax], rbx
jmp 0x4cffd4
mov eax, 0x100
cmp r8d, eax
jne 0x4cfb5f
mov r9, qword [rsp + 0xa0]
lea rcx, [rsp + 0xb0]
mov r8, r12
mov qword [rsp + 0x20], rcx
mov edx, eax
mov rcx, rsi
mov dword [rsp + 0xb0], edi
call fcn.004cf690
jmp 0x4cfa68
cmp r8d, 0x213
jne 0x4cfb78
mov rax, qword [rsp + 0xa8]
mov qword [rax], rdi
jmp 0x4cfad2
cmp r8d, 0x102
jne 0x4cfad2
cmp r9, 0x1b
mov ecx, ebx
sete cl
jmp 0x4cfb17
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xa0]
cmp r8d, 0x4e
jne 0x4cfd97
cmp dword [r13 + 0x10], 0xfffffd37
jne 0x4cfc90
mov rax, qword [rcx + 8]
mov dword [rsp + 0xb0], edi
cmp qword [r13], rax
je 0x4cfbd5
mov dword [rsp + 0xb0], ebx
jmp 0x4cfc7d
test byte [rcx + 0x98], 8
mov r15b, bl
jne 0x4cfc03
call qword [sym.imp.USER32.dll_GetActiveWindow]
lea rdx, [rsp + 0x40]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, dword [rsp + 0x40]
setne r15b
mov rcx, qword [rsi + 0xa0]
call qword [sym.imp.USER32.dll_IsWindowEnabled]
cmp eax, ebx
je 0x4cfc19
cmp r15b, bl
je 0x4cfc24
test byte [r13 + 0x20], dil
je 0x4cfc24
mov rax, rdi
jmp 0x4cfc80
mov eax, dword [r13 + 0x20]
mov dword [rsp + 0xb0], ebx
test dil, al
jne 0x4cfc7d
test al, 4
jne 0x4cfc7d
test al, al
js 0x4cfc7d
mov r15d, 0x11f
test al, 0x10
je 0x4cfc5d
mov r9, qword [rsi + 0x78]
mov rcx, qword [rsi + 0xa0]
xor r8d, r8d
mov edx, r15d
call qword [sym.imp.USER32.dll_SendMessageW]
test byte [r13 + 0x20], 0x20
je 0x4cfc7d
mov rcx, qword [rsi + 0xa0]
xor r9d, r9d
mov r8d, 0xffff0000
mov edx, r15d
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, rbx
mov qword [r14], rax
cmp dword [rsp + 0xb0], ebx
jne 0x4d000a
cmp dword [r13 + 0x10], 0xfffffd3a
jne 0x4cfd21
mov rax, qword [rsi + 8]
mov r15d, edi
cmp qword [r13], rax
je 0x4cfcb3
mov r15d, ebx
mov rax, rdi
jmp 0x4cfd15
call qword [sym.imp.USER32.dll_GetFocus]
cmp rax, qword [rsi + 8]
je 0x4cfce8
test byte [rsi + 0x98], 4
je 0x4cfcde
cmp qword [rsi + 0x120], rbx
jne 0x4cfcde
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsi + 0x120], rax
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_SetFocus]
mov r8d, dword [r13 + 0x18]
mov rcx, qword [rsi + 8]
xor r9d, r9d
mov edx, 0x419
call qword [sym.imp.USER32.dll_SendMessageW]
and byte [rsi + 0xf0], 0xcf
mov r8b, dil
mov edx, eax
mov rcx, rsi
call fcn.004cbe40
mov rax, rbx
cmp r15d, ebx
mov qword [r14], rax
jne 0x4d000a
mov eax, dword [0x008bb62c]
cmp eax, ebx
jne 0x4cfd67
mov r15, qword [0x00862cb0]
lea rcx, [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x008bb62c], ebx
jne 0x4cfd57
lea rcx, str.WTL_CmdBar_InternalGetBarMsg
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x008bb62c], eax
lea rcx, [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x008bb62c]
cmp ebp, eax
jne 0x4cfdcc
cmp r12, rbx
je 0x4cfd7a
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [r12], eax
lea rbx, [rsi + 8]
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_IsWindowVisible]
neg eax
sbb rcx, rcx
and rcx, rbx
mov qword [r14], rcx
jmp 0x4d000a
mov edx, 0x117
cmp r8d, edx
jne 0x4cfd21
lea rax, [rsp + 0xb0]
mov r9, r13
mov r8, r12
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xb0], edi
call fcn.004cc19c
cmp dword [rsp + 0xb0], ebx
jmp 0x4cfd18
mov edx, 0x112
cmp ebp, edx
jne 0x4cfdff
lea rax, [rsp + 0xb0]
mov r9, r13
mov r8, r12
mov rcx, rsi
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x20], rax
call fcn.004cc56c
mov qword [r14], rax
jmp 0x4d02a1
cmp ebp, 0x52e
jne 0x4cfe13
mov rax, qword [rsi + 0x78]
mov qword [r14], rax
jmp 0x4d000a
mov edx, pe_nt_image_headers64
cmp ebp, edx
jne 0x4cfe40
lea rax, [rsp + 0xb0]
mov r9, r13
mov r8, r12
mov rcx, rsi
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x20], rax
call fcn.004cc6b8
jmp 0x4cfdf7
cmp ebp, 0x52f
jne 0x4cfe63
cmp r13, rbx
je 0x4cfe5b
mov rdx, r13
mov rcx, rsi
call fcn.004cce8c
mov rbx, rax
mov qword [r14], rbx
jmp 0x4d000a
cmp ebp, 0x52d
jne 0x4cfe71
mov rax, qword [rsi + 8]
jmp 0x4cfe0b
cmp ebp, 0x1a
jne 0x4cfe9e
cmp r12, 0x2a
je 0x4cfe8e
cmp r12, 0x100b
je 0x4cfe8e
cmp r12, 0x1023
jne 0x4cfe96
mov rcx, rsi
call fcn.004cd338
mov qword [r14], rdi
jmp 0x4cfad2
cmp ebp, 0x2b
jne 0x4cfee3
mov rax, qword [r13 + 0x38]
mov ebp, edi
cmp dword [r13], edi
jne 0x4cfed9
cmp rax, rbx
je 0x4cfed9
cmp dword [rax], 0x1313
jne 0x4cfed9
mov rdx, r13
mov rcx, rsi
test byte [rsi + 0xf1], dil
je 0x4cfed2
call fcn.004cd490
jmp 0x4cfedb
call fcn.004ce720
jmp 0x4cfedb
mov ebp, ebx
mov qword [r14], rdi
jmp 0x4d0476
cmp ebp, 0x2c
jne 0x4cff0e
mov rax, qword [r13 + 0x18]
mov ebp, edi
cmp dword [r13], edi
jne 0x4cfed9
cmp rax, rbx
je 0x4cfed9
cmp dword [rax], 0x1313
jne 0x4cfed9
mov rdx, r13
mov rcx, rsi
call fcn.004cebf4
jmp 0x4cfedb
cmp ebp, 6
jne 0x4cff8b
and byte [rsi + 0xf0], 0x7f
cmp r12w, bx
setne al
shl al, 7
or byte [rsi + 0xf0], al
test byte [rsi + 0xf0], 0x80
jne 0x4cff6d
mov al, byte [rsi + 0xf1]
test al, 2
je 0x4cff6d
test al, 4
je 0x4cff6d
mov rcx, qword [rsi + 8]
and al, 0xfb
mov r8d, 0x100000
movzx eax, al
mov edx, 0x446
mov byte [rsi + 0xf1], al
shl eax, 0x12
mov r9d, eax
not r9d
and r9, r8
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsi + 8]
mov r8d, edi
xor edx, edx
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rcx, qword [rsi + 8]
call qword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x4cfe96
cmp ebp, 0x4e
jne 0x4cfad2
cmp dword [r13 + 0x10], 0xfffffff4
jne 0x4cfad2
mov rax, qword [rsi + 8]
mov ecx, ebx
mov dword [rsp + 0xb0], ebx
cmp qword [r13], rax
jne 0x4cffce
lea r8, [rsp + 0xb0]
mov rdx, r13
mov rcx, rsi
call fcn.004cedbc
mov ecx, dword [rsp + 0xb0]
jmp 0x4cffd1
mov rax, rbx
mov qword [r14], rax
cmp ecx, ebx
jmp 0x4d02a8
cmp r8d, edi
jne 0x4d0011
mov r9, qword [rsp + 0xa0]
lea rax, [rsp + 0xb0]
mov r8, r12
mov edx, edi
mov qword [rsp + 0x20], rax
call fcn.004cb654
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov eax, edi
jmp 0x4cfad4
cmp r8d, 2
jne 0x4d003b
mov r9, qword [rsp + 0xa0]
lea rax, [rsp + 0xb0]
mov r8, r12
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.004cb948
jmp 0x4cffff
mov r13, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa0]
cmp r8d, 0x14
jne 0x4d011c
test byte [rcx + 0xf0], 2
mov r15d, edi
jne 0x4d00a4
test byte [rcx + 0x98], dil
jne 0x4d00a4
mov rcx, qword [rcx + 8]
xor eax, eax
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], eax
call qword [sym.imp.USER32.dll_GetClientRect]
lea rdx, [rsp + 0x40]
mov r8d, 5
mov rcx, r12
call qword [sym.imp.USER32.dll_FillRect]
mov r11, rdi
jmp 0x4d00aa
mov r15d, ebx
mov r11, rbx
mov qword [r13], r11
cmp r15d, ebx
jne 0x4d000a
mov eax, dword [0x008bb628]
cmp eax, ebx
jne 0x4d00fd
mov r15, qword [0x00862cb0]
lea rcx, [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x008bb628], ebx
jne 0x4d00ed
lea rcx, str.WTL_CmdBar_InternalAutoPopupMsg
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x008bb628], eax
lea rcx, [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x008bb628]
cmp ebp, eax
jne 0x4d01cd
xor r8d, r8d
mov edx, r12d
mov rcx, rsi
call fcn.004cbe40
mov qword [r13], rbx
jmp 0x4d000a
cmp r8d, 0x116
jne 0x4d0161
mov rcx, qword [rcx + 8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x447
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, qword [rsi + 0x78]
mov rcx, qword [rsi + 8]
movzx r8d, ax
mov edx, 0x11f
or r8, 0x900000
call qword [sym.imp.USER32.dll_SendMessageW]
mov qword [r13], rdi
jmp 0x4d00b7
mov edx, 0x117
cmp r8d, edx
jne 0x4d019a
lea rax, [rsp + 0xb0]
mov r9, r14
mov r8, r12
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xb0], edi
call fcn.004cc19c
cmp dword [rsp + 0xb0], ebx
mov qword [r13], rax
jmp 0x4d00b1
mov r15d, 0x11f
cmp r8d, r15d
jne 0x4d00b7
lea rax, [rsp + 0xb0]
mov r9, r14
mov r8, r12
mov edx, r15d
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x20], rax
call fcn.004cbaf4
jmp 0x4d018a
mov eax, dword [0x008bb62c]
cmp eax, ebx
jne 0x4d0213
mov r15, qword [0x00862cb0]
lea rcx, [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x008bb62c], ebx
jne 0x4d0203
lea rcx, str.WTL_CmdBar_InternalGetBarMsg
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [0x008bb62c], eax
lea rcx, [r15 + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x008bb62c]
cmp ebp, eax
jne 0x4d0244
cmp r12, rbx
je 0x4d0226
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [r12], eax
lea rbx, [rsi + 8]
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_IsWindowVisible]
neg eax
sbb rcx, rcx
and rcx, rbx
mov qword [r13], rcx
jmp 0x4d000a
cmp ebp, 0x1a
jne 0x4d0272
cmp r12, 0x2a
je 0x4d0265
cmp r12, 0x100b
je 0x4d0265
cmp r12, 0x1023
jne 0x4d0113
mov rcx, rsi
call fcn.004cd338
jmp 0x4d0113
mov edx, pe_nt_image_headers64
cmp ebp, edx
jne 0x4d02b3
lea rax, [rsp + 0xb0]
mov r9, r14
mov r8, r12
mov rcx, rsi
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x20], rax
call fcn.004cc6b8
mov qword [r13], rax
cmp dword [rsp + 0xb0], ebx
je 0x4cfad2
jmp 0x4d000a
mov eax, 0x100
cmp ebp, eax
jne 0x4d0373
mov r15d, ebx
cmp r12, 0x20
jne 0x4d02e9
mov rcx, qword [rsi + 0xa0]
bts r14, 0x1d
lea edx, [rax + 4]
mov r9, r14
mov r8, r12
call qword [sym.imp.USER32.dll_PostMessageW]
mov r15d, edi
jmp 0x4d0367
cmp r12, 0x25
je 0x4d02f5
cmp r12, 0x27
jne 0x4d0367
movzx ebp, byte [rsi + 0xf1]
shr rbp, 5
not rbp
and ebp, 2
or rbp, 0x25
test byte [rsi + 0xf0], dil
jne 0x4d0367
mov rcx, qword [rsi + 8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x447
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rsi
mov edx, eax
cmp r12, rbp
jne 0x4d0339
call fcn.004cf48c
jmp 0x4d033e
call fcn.004cf3ac
cmp eax, 0xfffffffe
jne 0x4d0367
mov rcx, qword [rsi + 8]
xor r9d, r9d
or r8, 0xffffffffffffffff
mov edx, 0x448
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rsi
call fcn.004cf59c
cmp al, bl
cmovne r15d, edi
mov qword [r13], rbx
cmp r15d, ebx
jmp 0x4d02a8
cmp ebp, 0x101
jne 0x4d038f
mov eax, edi
cmp r12, 0x20
mov qword [r13], rbx
cmovne eax, ebx
cmp eax, ebx
jmp 0x4d02a8
cmp ebp, 0x102
jne 0x4d03ce
mov eax, edi
mov dword [rsp + 0xb0], eax
cmp r12, 0x20
je 0x4d03c5
lea r8, [rsp + 0xb0]
mov rdx, r12
mov rcx, rsi
call fcn.004cbcc8
mov r11, rax
mov eax, dword [rsp + 0xb0]
jmp 0x4d03c8
mov r11, rbx
mov qword [r13], r11
jmp 0x4d0388
cmp ebp, 0x104
jne 0x4d03df
mov qword [r13], rbx
jmp 0x4cfad2
cmp ebp, 0x105
je 0x4d03d6
cmp ebp, 0x106
je 0x4d03d6
cmp ebp, 0x52e
jne 0x4d0404
mov rax, qword [rsi + 0x78]
mov qword [r13], rax
jmp 0x4d000a
cmp ebp, 0x52f
jne 0x4d0428
cmp r14, rbx
je 0x4d0113
mov rdx, r14
mov rcx, rsi
call fcn.004cce8c
mov rbx, rax
jmp 0x4d0113
cmp ebp, 0x52d
jne 0x4d0436
mov rax, qword [rsi + 8]
jmp 0x4d03fb
cmp ebp, 0x2b
jne 0x4d047d
mov rax, qword [r14 + 0x38]
mov ebp, edi
cmp dword [r14], edi
jne 0x4d0470
cmp rax, rbx
je 0x4d0470
cmp dword [rax], 0x1313
jne 0x4d0470
mov rdx, r14
mov rcx, rsi
test byte [rsi + 0xf1], dil
je 0x4d0469
call fcn.004cd490
jmp 0x4d0472
call fcn.004ce720
jmp 0x4d0472
mov ebp, ebx
mov qword [r13], rdi
cmp ebp, ebx
jmp 0x4d02a8
cmp ebp, 0x2c
jne 0x4d04a7
mov rax, qword [r14 + 0x18]
mov ebp, edi
cmp dword [r14], edi
jne 0x4d0470
cmp rax, rbx
je 0x4d0470
cmp dword [rax], 0x1313
jne 0x4d0470
mov rdx, r14
mov rcx, rsi
call fcn.004cebf4
jmp 0x4d0472
cmp ebp, 0x37f
jne 0x4cfad2
mov ecx, dword [r14 + 8]
mov edx, 0x200
cmp ecx, edx
jb 0x4d04d1
cmp ecx, 0x20d
ja 0x4d04d1
and byte [rsi + 0xf1], 0xef
jmp 0x4d04e4
cmp ecx, eax
jb 0x4d04e4
cmp ecx, 0x109
ja 0x4d04e4
or byte [rsi + 0xf1], 0x10
mov r10, qword [rsi]
mov r9, qword [r14 + 0x10]
mov r8d, dword [r14 + 8]
mov rdx, qword [r14]
lea rax, [rsp + 0x40]
mov dword [rsp + 0x30], 3
mov qword [rsp + 0x28], rax
mov rax, qword [r14 + 0x18]
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], rbx
call qword [r10]
mov r11, qword [rsp + 0x40]
mov qword [r13], r11
jmp 0x4d000a