Function at 0x14004782c
Capabilities:
Print debug messages

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x7e8]
sub rsp, 0x8b0
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rax, qword [0x140130ac8]
xor rax, rsp
mov qword [rbp + 0x7a0], rax
mov r15, r9
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r14, qword [rbp + 0x810]
mov r12, qword [rbp + 0x818]
xor r13d, r13d
test r8, r8
jne 0x140047892
mov eax, 0x80070057
jmp 0x1400482da
test r15, r15
je 0x140047888
test r14, r14
je 0x140047888
test r12, r12
je 0x140047888
lea rcx, [rsp + 0x40]
call fcn.1400119bc
nop
mov qword [rsp + 0x58], r13
lea r9, str.get_FrameProviderInfo__
mov r8, r14
mov rdx, r15
mov rcx, qword [rsp + 0x40]
call fcn.140011d74
lea rax, [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov byte [rbp - 0x78], 1
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400478f1
mov qword [rsp + 0x58], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
mov rax, qword [r12]
lea rdx, [rsp + 0x58]
mov rcx, r12
mov rax, qword [rax + 0x30]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x14004794b
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140048304
mov edi, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
call fcn.140011ed0
jmp 0x14004829f
mov rcx, qword [rsp + 0x40]
call fcn.140011ed0
mov rdx, qword [rsp + 0x58]
mov rcx, r14
call fcn.14004b358
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x14004799c
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.1400483d0
mov edi, dword [rsp + 0x20]
jmp 0x14004829f
mov qword [rsi + 0x10], rdi
cmp qword [rsi + 0x18], rbx
je 0x1400479d0
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400581da.0]
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x18], rbx
test rcx, rcx
je 0x1400479d0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
cmp qword [rsi + 0x20], r15
je 0x140047a00
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 8]
call qword [case.0x1400581da.0]
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x20], r15
test rcx, rcx
je 0x140047a00
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
cmp qword [rsi + 0x28], r14
je 0x140047a30
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 8]
call qword [case.0x1400581da.0]
mov rcx, qword [rsi + 0x28]
mov qword [rsi + 0x28], r14
test rcx, rcx
je 0x140047a30
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
cmp qword [rsi + 0x30], r12
je 0x140047a61
mov rax, qword [r12]
mov rcx, r12
mov rax, qword [rax + 8]
call qword [case.0x1400581da.0]
mov rcx, qword [rsi + 0x30]
mov qword [rsi + 0x30], r12
test rcx, rcx
je 0x140047a61
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
mov qword [rsp + 0x48], r13
lea r9, str.get_Properties__
mov r8, r14
mov rdx, r15
mov rcx, qword [rsp + 0x40]
call fcn.140011d74
lea rax, [rsp + 0x40]
mov qword [rbp - 0x80], rax
mov byte [rbp - 0x78], 1
mov rbx, qword [rsi + 0x30]
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140047aaa
mov qword [rsp + 0x48], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
mov rax, qword [rbx]
lea rdx, [rsp + 0x48]
mov rcx, rbx
mov rax, qword [rax + 0x40]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x140047b03
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.14004849c
mov edi, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
call fcn.140011ed0
jmp 0x140048282
mov rcx, qword [rsp + 0x40]
call fcn.140011ed0
mov rcx, qword [rsp + 0x48]
test rcx, rcx
jne 0x140047bb0
mov qword [rsp + 0x60], r13
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov qword [rsp + 0x60], r13
mov rax, qword [r14]
lea rdx, [rsp + 0x60]
mov rcx, r14
mov rax, qword [rax + 0x40]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x140047b71
lea rax, [rsp + 0x30]
mov qword [rsp + 0x70], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x70]
call fcn.140048568
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140048634
nop
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov edi, 0x80004005
jmp 0x140048282
mov qword [rsp + 0x50], r13
mov rax, qword [rcx]
lea r8, [rsp + 0x50]
lea rdx, [0x1400f75d8]
mov rax, qword [rax]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x140047c03
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140048758
jmp 0x140047f71
mov rdi, qword [rsi + 0x28]
lea rbx, [rsi + 0x48]
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov qword [rbx], r13
mov rax, qword [rdi]
mov rdx, rbx
mov rcx, rdi
mov rax, qword [rax + 0x30]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x140047c60
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140048824
jmp 0x140047f71
mov rdi, qword [rsi + 0x28]
lea rbx, [rsi + 0x50]
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov qword [rbx], r13
mov rax, qword [rdi]
mov rdx, rbx
mov rcx, rdi
mov rax, qword [rax + 0x40]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x140047cbd
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.1400488f0
jmp 0x140047f71
mov rdi, qword [rsi + 0x28]
lea rbx, [rsi + 0x58]
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
mov qword [rbx], r13
mov rax, qword [rdi]
mov rdx, rbx
mov rcx, rdi
mov rax, qword [rax + 0x50]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x140047d1a
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.1400489bc
jmp 0x140047f71
mov rcx, qword [rsi + 0x28]
mov rax, qword [rcx]
lea rdx, [rsi + 0x40]
mov rax, qword [rax + 0x70]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
test eax, eax
jns 0x140047d65
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140048a88
jmp 0x140047f71
mov rbx, qword [rsi + 0x28]
lea r13, [rsi + 0x38]
mov rcx, qword [r13]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsDeleteString]
xor ecx, ecx
mov qword [r13], rcx
mov rax, qword [rbx]
mov rdx, r13
mov rcx, rbx
mov rax, qword [rax + 0x60]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x20], eax
xor ecx, ecx
test eax, eax
jns 0x140047dc8
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140048b54
jmp 0x140047f71
mov dword [rsp + 0x70], 0xbad
lea r10, str.Windows.Provider.KnownPerceptionFrameKind.Color
or rdi, 0xffffffffffffffff
mov rax, rdi
inc rax
cmp word [r10 + rax*2], cx
jne 0x140047dde
mov ebx, 0xffffffff
mov ecx, ebx
cmp rax, rbx
cmovbe ecx, eax
cmp rbx, rax
sbb edx, edx
mov r9d, 0x80070216
and edx, r9d
cmp rax, rbx
jbe 0x140047e10
mov ecx, edx
call fcn.14000bfec
int3
lea eax, [rcx + 1]
mov r8d, ebx
cmp eax, ecx
cmovae r8d, eax
sbb edx, edx
and edx, r9d
cmp eax, ecx
jae 0x140047e2d
mov ecx, edx
call fcn.14000bfec
int3
lea edx, [r8 - 1]
cmp ecx, r8d
cmovb edx, ecx
lea r9, [rbp - 0x68]
lea r8, [rbp - 0x80]
mov rcx, r10
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCreateStringReference]
test eax, eax
jns 0x140047e54
mov ecx, eax
call fcn.14000bfec
int3
lea r8, [rsp + 0x70]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [r13]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCompareStringOrdinal]
mov dword [rsp + 0x20], eax
xor ecx, ecx
test eax, eax
jns 0x140047e9d
lea rax, [rsp + 0x20]
mov qword [rbp - 0x80], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.140048c20
jmp 0x140047f71
cmp dword [rsp + 0x70], ecx
sete al
mov byte [rsi + 0xb0], al
mov dword [rsp + 0x60], 0xbad
lea r10, str.Windows.Provider.KnownPerceptionFrameKind.Depth
mov rax, rdi
inc rax
cmp word [r10 + rax*2], cx
jne 0x140047ebc
mov ecx, ebx
cmp rax, rbx
cmovbe ecx, eax
cmp rbx, rax
sbb edx, edx
mov r9d, 0x80070216
and edx, r9d
cmp rax, rbx
jbe 0x140047ee9
mov ecx, edx
call fcn.14000bfec
int3
lea eax, [rcx + 1]
mov r8d, ebx
cmp eax, ecx
cmovae r8d, eax
sbb edx, edx
and edx, r9d
cmp eax, ecx
jae 0x140047f06
mov ecx, edx
call fcn.14000bfec
int3
lea edx, [r8 - 1]
cmp ecx, r8d
cmovb edx, ecx
lea r9, [rbp - 0x68]
lea r8, [rbp - 0x80]
mov rcx, r10
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCreateStringReference]
test eax, eax
jns 0x140047f2d
mov ecx, eax
call fcn.14000bfec
int3
lea r8, [rsp + 0x60]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [r13]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCompareStringOrdinal]
mov dword [rsp + 0x20], eax
xor ecx, ecx
test eax, eax
jns 0x140047f7d
lea rax, [rsp + 0x20]
mov qword [rbp - 0x80], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.140048cec
mov edi, dword [rsp + 0x20]
xor r13d, r13d
jmp 0x140048265
cmp dword [rsp + 0x60], ecx
sete al
mov byte [rsi + 0xb1], al
mov dword [rsp + 0x30], 0xbad
lea r10, str.Windows.Provider.KnownPerceptionFrameKind.Infrared
inc rdi
cmp word [r10 + rdi*2], cx
jne 0x140047f99
mov ecx, ebx
cmp rdi, rbx
cmovbe ecx, edi
cmp rbx, rdi
sbb eax, eax
mov r8d, 0x80070216
and eax, r8d
cmp rdi, rbx
jbe 0x140047fc6
mov ecx, eax
call fcn.14000bfec
int3
lea eax, [rcx + 1]
cmp eax, ecx
cmovae ebx, eax
sbb edx, edx
and edx, r8d
cmp eax, ecx
jae 0x140047fdf
mov ecx, edx
call fcn.14000bfec
int3
lea edx, [rbx - 1]
cmp ecx, ebx
cmovb edx, ecx
lea r9, [rbp - 0x68]
lea r8, [rbp - 0x80]
mov rcx, r10
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCreateStringReference]
test eax, eax
jns 0x140048004
mov ecx, eax
call fcn.14000bfec
int3
lea r8, [rsp + 0x30]
mov rdx, qword [rbp - 0x68]
mov rcx, qword [r13]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsCompareStringOrdinal]
mov dword [rsp + 0x20], eax
xor r13d, r13d
test eax, eax
jns 0x140048052
lea rax, [rsp + 0x20]
mov qword [rbp - 0x80], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.140048db8
mov edi, dword [rsp + 0x20]
jmp 0x140048265
cmp dword [rsp + 0x30], r13d
sete al
mov byte [rsi + 0xb2], al
cmp byte [rsi + 0xb0], r13b
jne 0x14004809a
cmp byte [rsi + 0xb1], r13b
jne 0x14004809a
test al, al
jne 0x14004809a
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
call fcn.140048e84
mov edi, 0x80070057
jmp 0x140048265
lea rax, [0x14004c4d0]
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], r13d
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140050074
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsi + 0x60]
mov rbx, qword [rbp - 0x80]
mov rdx, rbx
mov rax, qword [rax + 0x30]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x140048116
lea rax, [rsp + 0x30]
mov qword [rbp - 0x80], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.140048f4c
jmp 0x14004822d
lea r9, str.get_Available__
mov r8, r14
mov rdx, r15
mov rcx, qword [rsp + 0x40]
call fcn.140011d74
lea rax, [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x68], 1
mov rax, qword [r12]
lea rdx, [rsi + 0xa0]
mov rcx, r12
mov rax, qword [rax + 0x38]
call qword [case.0x1400581da.0]
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x140048198
lea rax, [rsp + 0x30]
mov qword [rsp + 0x60], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.140049018
mov edi, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.140011ed0
jmp 0x14004824f
mov rcx, qword [rsp + 0x40]
call fcn.140011ed0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], r13
mov rcx, qword [rsi + 0x90]
mov qword [rsi + 0x90], rax
test rcx, rcx
je 0x1400481cc
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x50], r13
mov rcx, qword [rsi + 0x98]
mov qword [rsi + 0x98], rax
test rcx, rcx
je 0x1400481f6
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
mov rcx, rsi
call fcn.14004ca84
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x140048233
lea rax, [rsp + 0x30]
mov qword [rbp - 0x80], rax
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp - 0x60]
call sub.msvcrt.dll_memset
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.1400490e4
mov edi, dword [rsp + 0x30]
jmp 0x14004824f
mov rcx, rsi
call fcn.14004ddd0
test eax, eax
jns 0x14004824c
lea rcx, str.Detected_an_invalid_VideoProfile_n
call qword [sym.imp.api_ms_win_core_debug_l1_1_0.dll_OutputDebugStringW]
mov edi, r13d
test rbx, rbx
je 0x140048265
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140048282
mov qword [rsp + 0x50], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14004829f
mov qword [rsp + 0x48], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400482bc
mov qword [rsp + 0x58], r13
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1400581da.0]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400482d8
mov qword [rsp + 0x40], r13
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x1400581da.0]
mov eax, edi
mov rcx, qword [rbp + 0x7a0]
xor rcx, rsp
call fcn.1400cba70
mov rbx, qword [rsp + 0x8f8]
add rsp, 0x8b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret