Function at 0x1402fb010
Capabilities:
Capture webcam image

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1406836b8]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r15, rcx
mov r14, r8
mov rcx, r8
mov r13, rdx
mov ebx, 0x8004e00a
call sym.ErrorReportClient.exe_unsigned_long_int___cdecl_SfTutor_GetCmdId_struct_ISfTutorCBData____ptr64_
mov edi, eax
lea rdx, [rsp + 0x30]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov ecx, dword [rsp + 0x38]
xor edx, edx
mov esi, edx
test ecx, ecx
jle 0x1402fb143
mov rax, qword [rsp + 0x30]
add rax, 0x10
nop word [rax + rax]
cmp dword [rax], edi
je 0x1402fb093
inc esi
add rax, 0x18
cmp esi, ecx
jl 0x1402fb080
jmp 0x1402fb143
mov rax, qword [r15]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rsp + 0x218], r12
mov rcx, r15
mov dword [rsp + 0x4c], edx
mov ebx, edx
mov qword [rsp + 0x58], rdx
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0x70], xmm1
call qword [rax + 0x38]
mov rcx, r14
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x40], rax
call sym.ErrorReportClient.exe_unsigned_long_long_unsigned___int64____cdecl_SfTutor_GetUserData_struct_ISfTutorCBData____ptr64_
mov qword [rsp + 0x50], rax
mov rcx, r15
mov rax, qword [r15]
call qword [rax + 0x38]
mov rdi, rax
mov rcx, rdi
mov r12, rdi
call qword [sym.imp.USER32.dll_GetParent]
mov edx, 4
mov rcx, r12
mov rdi, rax
call qword [sym.imp.USER32.dll_GetWindow]
test rdi, rdi
je 0x1402fb10a
cmp rax, rdi
jne 0x1402fb0e3
movsxd rax, esi
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x78], r12
lea rdi, [rax + rax*2]
mov eax, dword [rsi + rdi*8]
mov r12d, dword [rsi + rdi*8 + 0x14]
test eax, eax
js 0x1402fb136
cmp eax, 1
jle 0x1402fb197
cmp eax, 2
je 0x1402fb166
cmp eax, 3
je 0x1402fb13b
mov ebx, 0x80004001
mov r12, qword [rsp + 0x218]
mov eax, ebx
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.14039bbb0
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movsx eax, word [rsi + rdi*8 + 8]
mov rcx, r15
mov dword [rbp - 0x80], eax
movsx eax, word [rsi + rdi*8 + 8]
mov dword [rbp - 0x7c], eax
mov rax, qword [r15]
call qword [rax + 0x38]
lea r9, [rbp - 0x80]
mov r8d, r12d
mov rdx, rax
lea rcx, [rbp - 0x70]
call sym.ErrorReportClient.exe_void___cdecl_SFTUTOR_SHOWWINDOWEX_SetShowInfo_struct___MIDL___MIDL_itf_SfTutor_0000_0003_0003____ptr64__struct_HWND______ptr64__unsigned_long_int__struct_tagSIZE_const____ptr64_
jmp 0x1402fb2ac
mov eax, dword [rsi + rdi*8 + 8]
mov rcx, r15
mov dword [rsp + 0x58], eax
mov rax, qword [r15]
call qword [rax + 0x38]
mov edx, dword [rsi + rdi*8 + 8]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rbx, rax
test rax, rax
je 0x1402fb2fb
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
cmp dword [rcx + rdi*8], 0
jne 0x1402fb1fd
mov rdx, qword [r15]
mov rcx, r15
call qword [rdx + 0x38]
movaps xmm0, xmmword [0x1404678c0]
lea rcx, [rbp - 0x70]
mov rdx, rax
mov r9d, r12d
mov r8, rbx
movups xmmword [rsp + 0x20], xmm0
call sym.ErrorReportClient.exe_void___cdecl_SFTUTOR_SHOWWINDOWEX_SetShowControl_struct___MIDL___MIDL_itf_SfTutor_0000_0003_0003____ptr64__struct_HWND______ptr64__struct_HWND______ptr64__unsigned_long_int__double__double_
jmp 0x1402fb2ac
mov edx, 5
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindow]
mov rbx, rax
test rax, rax
je 0x1402fb2fb
mov rcx, r14
call sym.ErrorReportClient.exe_unsigned_long_long_unsigned___int64____cdecl_SfTutor_GetUserData_struct_ISfTutorCBData____ptr64_
mov r8d, eax
xor r9d, r9d
mov edx, 0x419
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
test eax, eax
js 0x1402fb2fb
movsxd r8, eax
lea r9, [rbp - 0x80]
mov edx, 0x41d
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x1402fb2fb
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x38]
mov r9d, 2
lea r8, [rbp - 0x80]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.USER32.dll_MapWindowPoints]
mov rax, qword [r15]
mov rcx, r15
or r12d, 0x10
call qword [rax + 0x38]
movaps xmm0, xmmword [0x1404678c0]
lea r8, [rbp - 0x80]
mov rdx, rax
lea rcx, [rbp - 0x70]
mov r9d, r12d
movups xmmword [rsp + 0x20], xmm0
call sym.ErrorReportClient.exe_void___cdecl_SFTUTOR_SHOWWINDOWEX_SetShowRect_struct___MIDL___MIDL_itf_SfTutor_0000_0003_0003____ptr64__struct_HWND______ptr64__struct_tagRECT_const____ptr64__unsigned_long_int__double__double_
mov rax, qword [r15]
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x40]
mov rcx, r15
call qword [rax + 0x40]
mov ebx, eax
test eax, eax
js 0x1402fb13b
mov rax, qword [r14]
mov rcx, r14
mov rdx, qword [rsp + 0x78]
call qword [rax + SysAllocStringByteLen]
mov ebx, eax
test eax, eax
js 0x1402fb13b
mov rax, qword [r13]
lea r8, [rbp - 0x70]
mov rdx, r14
mov rcx, r13
call qword [rax + 0x20]
mov ebx, eax
jmp 0x1402fb13b
mov ebx, 0x80070057
jmp 0x1402fb13b