Function at 0x1400f9700
Capabilities:
Capture webcam image

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x228]
sub rsp, 0x300
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov r13, r8
mov edi, edx
mov rbx, rcx
xor r14d, r14d
call fcn.14000c990
mov rsi, rax
sub edi, 0x110
je 0x1400f9d15
cmp edi, 1
jne 0x1400f9d0e
lea rax, [r13 - 0x17d6]
cmp rax, 0x1a
ja case.0x1400f978a.6106
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xfa300]
add rcx, rdx
jmp rcx
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, 0x17df
mov r8d, 0xf0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 1
setne r14b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
mov r9, r14
xor r8d, r8d
mov edx, 0x832
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, 0x17ea
mov r8d, 0xf0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 1
sete r14b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
mov r9, r14
xor r8d, r8d
mov edx, 0x830
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, 0x17ee
mov r8d, 0xf0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 1
sete r14b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
mov r9, r14
xor r8d, r8d
mov edx, 0x83d
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x1400fa2b1
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, 0x17ef
mov r8d, 0xf0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 1
sete r14b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
mov r9, r14
xor r8d, r8d
mov edx, 0x841
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
mov edx, 0x17e6
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf0
call qword [sym.imp.USER32.dll_SendMessageW]
mov rsi, rax
mov edi, r14d
cmp rax, 1
setne dil
mov edx, 0x17e7
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17e8
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17db
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17dc
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17de
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17dd
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17e0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17e1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17e9
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x17f0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, edi
call qword [sym.imp.USER32.dll_EnableWindow]
cmp rsi, 1
sete r14b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
mov r9, r14
xor r8d, r8d
mov edx, 0x81b
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xac0b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xac0c
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor dword [rsi + 0x98], 0x200
jmp 0x1400fa2b1
xor dword [rsi + 0x98], 0x400
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, 0x17f0
mov r8d, 0xf0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 1
sete r14b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
mov r9, r14
xor r8d, r8d
mov edx, 0x41c
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xabe5
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xabe6
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xabe7
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xabe8
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xac06
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xac07
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, 0x17d6
mov r8d, 0xf0
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 1
sete r14b
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
mov r9, r14
xor r8d, r8d
mov edx, 0x82e
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xabe2
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xabe3
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
xor r9d, r9d
mov edx, 0x111
mov r8d, 0xabe4
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400fa2b1
mov rax, r13
shr rax, 0x10
cmp ax, 1
jne 0x1400f9d0e
mov r15d, 0x17ec
cmp r13w, r15w
jne 0x1400f9d0e
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8d, 0x147
mov edx, r15d
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov rdi, rax
mov qword [rsp + 0x20], r14
mov r9, rax
mov r8d, 0x149
mov edx, r15d
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 0x103
jg 0x1400fa2b1
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9, rdi
mov r8d, 0x148
mov edx, r15d
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp word [rbp - 0x20], r14w
je 0x1400fa2b1
lea rdx, str.English
lea rcx, [rsi + 0x32f60]
call fcn.1400eb050
test al, al
je 0x1400f9cc3
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x419
call qword [sym.imp.USER32.dll_SendMessageW]
lea rdx, [rbp - 0x20]
lea rcx, [rsi + 0x32f60]
call fcn.1400eb050
test al, al
je 0x1400fa2b1
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x419
call qword [sym.imp.USER32.dll_SendMessageW]
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x1400fa2b1
xor eax, eax
jmp 0x1400fa2b6
mov edi, dword [rax + 0x90]
movsxd r15, dword [rax + 0x98]
movzx r12d, byte [rax + 0x95]
movzx r13d, byte [rax + 0x96]
mov r9, r14
cmp byte [rax + 0x94], r9b
sete r9b
mov qword [rsp + 0x20], r14
mov edx, 0x17d6
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
test edi, edi
je 0x1400f9d71
cmp edi, 1
je 0x1400f9d6a
mov edx, 0x17d9
jmp 0x1400f9d76
mov edx, 0x17d8
jmp 0x1400f9d76
mov edx, 0x17d7
mov qword [rsp + 0x20], r14
mov r9d, 1
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov rdi, r15
mov r9, r15
and r9d, 8
mov qword [rsp + 0x20], r14
mov edx, 0x17db
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9d, r15d
not r9d
and r9d, 4
shr r9, 2
mov qword [rsp + 0x20], r14
mov edx, 0x17dc
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 1
mov qword [rsp + 0x20], r14
mov edx, 0x17de
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 2
mov qword [rsp + 0x20], r14
mov edx, 0x17dd
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 0x10
mov qword [rsp + 0x20], r14
mov edx, 0x17e0
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 0x20
mov qword [rsp + 0x20], r14
mov edx, 0x17e1
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 0x40
mov qword [rsp + 0x20], r14
mov edx, 0x17e8
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 0x80
mov qword [rsp + 0x20], r14
mov edx, 0x17e7
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 0x200
mov qword [rsp + 0x20], r14
mov edx, 0x17e9
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r15
and r9d, 0x400
mov qword [rsp + 0x20], r14
mov edx, 0x17f0
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
and edi, 0x100
mov qword [rsp + 0x20], r14
mov r9d, edi
mov edx, 0x17e6
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x17e6
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendMessageW]
movzx r9d, r12b
mov qword [rsp + 0x20], r14
mov edx, 0x17df
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov r9, r14
test r13b, r13b
sete r9b
mov qword [rsp + 0x20], r14
mov edx, 0x17ea
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x83e
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, 1
sete al
movzx r9d, al
mov qword [rsp + 0x20], r14
mov edx, 0x17ee
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
movzx r9d, byte [rsi + 0x834]
mov qword [rsp + 0x20], r14
mov edx, 0x17ef
mov r8d, 0xf1
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov rdi, r14
mov r12, qword [rsi + 0x32f68]
sub r12, qword [rsi + 0x32f60]
sar r12, 6
mov r15d, 0x17ec
test r12, r12
je 0x1400fa049
mov r8, rdi
lea rdx, [rbp - 0x60]
lea rcx, [rsi + 0x32f60]
call fcn.1400f4350
nop
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rax, qword [rbp - 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x143
mov edx, r15d
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
nop
lea rcx, [rbp - 0x40]
call fcn.1400068d0
nop
lea rcx, [rbp - 0x60]
call fcn.1400068d0
inc rdi
cmp rdi, r12
jb 0x1400f9ff0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm1
mov word [rsp + 0x40], r14w
mov r8d, 7
lea rdx, str.English
lea rcx, [rsp + 0x40]
call fcn.140006d70
nop
cmp qword [rsi + 0x68], 0
je 0x1400fa1f6
lea rdx, [rbp - 0x80]
lea rcx, [rsi + 0x32f60]
call fcn.1400f4480
nop
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.14002acc0
nop
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae r8, qword [rsp + 0x60]
lea rdx, [rbp - 0x60]
lea rcx, [rsi + 0x32f60]
call fcn.1400e0b20
mov rdi, rax
lea rax, [rsp + 0x40]
cmp rax, rdi
je 0x1400fa102
lea rcx, [rsp + 0x40]
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400fa142
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fa13d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fa2ec
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400fa196
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fa191
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fa2f2
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400fa1e5
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fa1e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fa2f8
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5040]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], 0
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9, 0xffffffffffffffff
mov r8d, 0x158
mov edx, r15d
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp rax, 0xffffffffffffffff
je 0x1400fa247
mov qword [rsp + 0x20], r14
mov r9, rax
mov r8d, 0x14e
mov edx, r15d
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov rax, qword [rsi + 0x32e68]
test rax, rax
je 0x1400fa25f
mov edx, 6
mov rcx, qword [rbx + 0x18]
call rax
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400fa29d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400fa298
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fa2e6
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r14w
mov eax, 1
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.1401813e0
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3