Function at 0x164caa290
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x700]
sub rsp, 0x800
mov rax, qword [0x164cf5010]
xor rax, rsp
mov qword [rbp + 0x6f0], rax
lea rcx, [rbp - 0x68]
call fcn.164c999c0
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_void___cdecl_asw::root::CStr::constructor_void____ptr64
nop
xor r13d, r13d
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], r13
xor r15b, r15b
lea rbx, [0x164ce0b88]
mov qword [rbp - 0x10], rbx
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbp - 8], rax
lea rax, [rbp - 0x78]
mov qword [rbp], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 8], rax
lea rax, str.user32.dll
mov qword [rbp + 0x10], rax
lea rax, [0x164ca9d20]
mov qword [rbp + 0x18], rax
mov byte [rbp + 0x20], 1
mov qword [rbp + 0x28], rbx
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbp + 0x30], rax
lea rax, [rbp - 0x78]
mov qword [rbp + 0x38], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 0x40], rax
lea rax, str.ws2_32.dll
mov qword [rbp + 0x48], rax
lea rax, [0x164ca9ab0]
mov qword [rbp + 0x50], rax
lea ecx, [r13 + 0xf]
call qword [sym.imp.aswCmnOS.dll_dep_osIsWin8OrBetter]
mov byte [rbp + 0x58], al
mov qword [rbp + 0x60], rbx
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbp + 0x68], rax
lea rax, [rbp - 0x78]
mov qword [rbp + 0x70], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 0x78], rax
lea rax, [0x164ce0bc8]
mov qword [rbp + 0x80], rax
lea rdi, [0x164ca9f70]
mov qword [rbp + 0x88], rdi
lea ecx, [r13 + 0xf]
call qword [sym.imp.aswCmnOS.dll_dep_osIsWin8OrBetter]
test al, al
sete byte [rbp + 0x90]
mov qword [rbp + 0x98], rbx
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [rbp + 0xa0], rax
lea rax, [rbp - 0x78]
mov qword [rbp + 0xa8], rax
lea rax, [rbp - 0x70]
mov qword [rbp + 0xb0], rax
lea rax, str.combase.dll
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rdi
lea ecx, [r13 + 0xf]
call qword [sym.imp.aswCmnOS.dll_dep_osIsWin8OrBetter]
mov byte [rbp + 0xc8], al
mov edx, 0xfa0
lea rcx, [0x164cf5ad8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov word [rbp + 0x2d8], r13w
mov word [rbp + 0xd0], r13w
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x164cab3e5
lea rcx, [rbp + 0xd0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsupr]
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, rax
test rax, rax
je 0x164caa49e
lea rdx, str.SetDllDirectoryW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x164caa48e
lea rcx, [0x164ce0790]
call qword [0x164cdeeb8]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x78], rax
lea rcx, str.kernelbase.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x164caa4c0
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x70], rax
lea rax, [rbp + 0xd0]
mov r14, 0xffffffffffffffff
mov r8, r14
inc r8
cmp word [rax + r8*2], r13w
jne 0x164caa4d1
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov r8d, 6
lea rdx, str..DLL
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov rbx, qword [0x164cf5c18]
movabs rsi, 0x492492492492492
cmp qword [0x164cf5c20], rsi
jne 0x164caa529
lea rcx, str.list_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [0x164cf5c18]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x58], r13
mov ecx, 0x38
call fcn.164cd70ac
mov qword [rsp + 0x58], rax
lea rdi, [rax + 0x10]
mov qword [rbp - 0x80], rdi
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.164c97d50
nop
mov qword [rdi + 0x20], r13
inc qword [0x164cf5c20]
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.164cab910
nop
lea rcx, [rsp + 0x50]
call fcn.164cab950
lea rdx, [rbp - 0x68]
lea rbx, [0x164cf5c28]
mov rcx, rbx
call fcn.164cab4e0
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164cabbd0
lea rdx, str..AX
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_class_asw::root::CStr____ptr64___cdecl_asw::root::CStr::operator_wchar_t____ptr64____ptr64
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.164cab4e0
mov edx, 0x104
lea rcx, [rbp - 0x68]
call fcn.164c96c80
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_wchar_t_const____ptr64___cdecl_asw::root::CStr::operator_wchar_t_const____ptr64_void_const___ptr64
mov rdx, rax
mov r8d, 0x104
lea rcx, str.CommonProgramFiles
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, eax
mov r9, qword [rbp - 0x58]
cmp rcx, r9
ja 0x164caa616
lea rax, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rax, qword [rbp - 0x68]
mov qword [rbp - 0x58], rcx
mov word [rax + rcx*2], r13w
jmp 0x164caa66c
mov rdx, rcx
sub rdx, r9
mov rdi, qword [rbp - 0x50]
mov rax, rdi
sub rax, r9
cmp rdx, rax
ja 0x164caa65a
mov qword [rbp - 0x58], rcx
lea r8, [rbp - 0x68]
cmp rdi, 8
cmovae r8, qword [rbp - 0x68]
lea rdi, [r8 + r9*2]
test rdx, rdx
je 0x164caa64f
movzx eax, r13w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [rdx + r9]
mov word [r8 + rax*2], r13w
jmp 0x164caa66c
mov word [rsp + 0x20], r13w
mov r9, rdx
lea rcx, [rbp - 0x68]
call fcn.164c97880
mov edi, 1
cmp qword [rbp - 0x58], 0
je 0x164caa6a2
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_void___cdecl_asw::root::CStr::Normalize_int__bool____ptr64
lea rdx, str.MICROSOFT_SHARED.DLL
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_class_asw::root::CStr____ptr64___cdecl_asw::root::CStr::operator_wchar_t____ptr64____ptr64
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.164cab4e0
mov edx, 0x104
lea rcx, [rbp - 0x68]
call fcn.164c96c80
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
mov r8d, 0x104
lea rcx, str.ProgramFiles
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov ecx, eax
mov r8, qword [rbp - 0x58]
cmp rcx, r8
ja 0x164caa6f5
lea rax, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rax, qword [rbp - 0x68]
mov qword [rbp - 0x58], rcx
mov word [rax + rcx*2], r13w
jmp 0x164caa750
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbp - 0x50]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x164caa739
mov qword [rbp - 0x58], rcx
lea r9, [rbp - 0x68]
cmp rdi, 8
cmovae r9, qword [rbp - 0x68]
lea rdi, [r9 + r8*2]
test rdx, rdx
je 0x164caa72e
movzx eax, r13w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [rdx + r8]
mov word [r9 + rax*2], r13w
jmp 0x164caa74b
mov word [rsp + 0x20], r13w
mov r9, rdx
lea rcx, [rbp - 0x68]
call fcn.164c97880
mov edi, 1
cmp qword [rbp - 0x58], 0
je 0x164caa781
xor r8d, r8d
mov edx, edi
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_void___cdecl_asw::root::CStr::Normalize_int__bool____ptr64
lea rdx, str.INTERNET_EXPLORER.DLL
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_class_asw::root::CStr____ptr64___cdecl_asw::root::CStr::operator_wchar_t____ptr64____ptr64
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.164cab4e0
lea rax, [rbp + 0xd0]
mov r8, r14
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x164caa790
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov r8d, 0xa
lea rdx, str.IMM32.DLL
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov rdi, qword [0x164cf5c08]
cmp qword [0x164cf5c10], rsi
je 0x164cab42f
lea rbx, [0x164cf5c08]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x58], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rdx, rax
mov qword [rsp + 0x58], rax
lea rcx, [rax + 0x10]
mov qword [rbp - 0x80], rcx
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], r13
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rcx + 0x10], xmm1
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r13w
mov qword [rcx + 0x20], r13
inc qword [0x164cf5c10]
mov rax, qword [rdi + 8]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
mov qword [rsp + 0x58], r13
mov qword [rdi + 8], rdx
mov qword [rax], rdx
lea rax, [rbp + 0xd0]
mov r8, r14
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x164caa860
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov r8d, 0xb
lea rdx, str.DWMAPI.DLL
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov rdi, qword [0x164cf5c08]
cmp qword [0x164cf5c10], rsi
je 0x164cab42f
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x58], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rdx, rax
mov qword [rsp + 0x58], rax
lea rcx, [rax + 0x10]
mov qword [rbp - 0x80], rcx
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], r13
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rcx + 0x10], xmm1
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r13w
mov qword [rcx + 0x20], r13
inc qword [0x164cf5c10]
mov rax, qword [rdi + 8]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
mov qword [rsp + 0x58], r13
mov qword [rdi + 8], rdx
mov qword [rax], rdx
lea rax, [rbp + 0xd0]
mov r8, r14
inc r8
cmp word [rax + r8*2], 0
jne 0x164caa922
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov r8d, 0xc
lea rdx, str.UXTHEME.DLL
lea rcx, [rbp - 0x68]
call fcn.164c97be0
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x40]
call fcn.164cab730
mov rcx, qword [rax]
mov byte [rcx + 0x48], 1
lea rax, [rbp + 0xd0]
mov r8, r14
inc r8
cmp word [rax + r8*2], 0
jne 0x164caa972
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov r8d, 0xa
lea rdx, str.MSCTF.DLL
lea rcx, [rbp - 0x68]
call fcn.164c97be0
lea rdx, [rbp - 0x68]
call fcn.164cab5b0
mov byte [rax], 1
mov r12d, r13d
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREFreedom_ScientificJAWS
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x164caae08
mov qword [rbp - 0x80], r13
mov word [rbp + 0x6ee], r13w
mov word [rbp + 0x4f0], r13w
mov dword [rbp - 0x40], 0x100
mov edx, r12d
inc r12d
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x40]
lea r8, [rbp + 0x4f0]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x164caae01
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp + 0x4f0]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x164caa9e1
mov word [rbp + 0x4e8], r13w
mov word [rbp + 0x2e0], r13w
mov dword [rbp - 0x40], 0x208
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.Target
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x164caaddb
lea rcx, [rbp + 0x2e0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsupr]
lea rax, [rbp + 0x2e0]
mov r8, r14
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x164caaac0
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov rsi, qword [rbp - 0x58]
lea r10, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r10, qword [rbp - 0x68]
lea rax, [r10 + rsi*2]
mov rdi, rsi
cmp r10, rax
jae 0x164caab17
add rax, 0xfffffffffffffffe
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x164caab0c
cmp cx, 0x2f
jne 0x164caab17
mov rdi, rax
sub rdi, r10
sar rdi, 1
jmp 0x164caaaf4
xor bl, bl
movzx ecx, word [rax]
cmp cx, 0x3a
je 0x164caab28
cmp cx, 0x7d
jne 0x164caab51
xor r9d, r9d
lea r8, [rbp - 0x30]
xor edx, edx
mov rcx, r10
call qword [sym.imp.aswCmnOS.dll_dep_fsExtractDriveRoot]
mov ecx, 1
test eax, eax
jne 0x164caab56
mov eax, dword [rbp - 0x28]
movzx ebx, bl
cmp rax, rdi
cmove ebx, ecx
jmp 0x164caab56
mov ecx, 1
cmp rdi, rsi
je 0x164caab70
movzx ebx, bl
test rdi, rdi
cmove ebx, ecx
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.164c96c80
test bl, bl
je 0x164caab86
mov edx, 1
lea r8d, [rdx + 0x5b]
lea rcx, [rbp - 0x68]
call fcn.164c979e0
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_strCountPathParts
cmp eax, 4
jl 0x164caaddb
xor edx, edx
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_unsigned_long_int___cdecl_asw::root::CStr::DelFilePart_wchar_t_const____ptr64____ptr64
mov rsi, qword [rbp - 0x58]
lea r10, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r10, qword [rbp - 0x68]
lea rax, [r10 + rsi*2]
mov rdi, rsi
nop dword [rax]
cmp r10, rax
jae 0x164caabe3
add rax, 0xfffffffffffffffe
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x164caabd8
cmp cx, 0x2f
jne 0x164caabe3
mov rdi, rax
sub rdi, r10
sar rdi, 1
jmp 0x164caabc0
xor bl, bl
movzx ecx, word [rax]
cmp cx, 0x3a
je 0x164caabf4
cmp cx, 0x7d
jne 0x164caac1f
xor r9d, r9d
lea r8, [rbp - 0x30]
xor edx, edx
mov rcx, r10
call qword [sym.imp.aswCmnOS.dll_dep_fsExtractDriveRoot]
mov r15d, 1
test eax, eax
jne 0x164caac25
mov eax, dword [rbp - 0x28]
movzx ebx, bl
cmp rax, rdi
cmove ebx, r15d
jmp 0x164caac25
mov r15d, 1
cmp rdi, rsi
je 0x164caac40
movzx ebx, bl
test rdi, rdi
cmove ebx, r15d
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.164c96c80
test bl, bl
je 0x164caac56
mov r8d, 0x5c
mov rdx, r15
lea rcx, [rbp - 0x68]
call fcn.164c979e0
xor edx, edx
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_unsigned_long_int___cdecl_asw::root::CStr::DelFilePart_wchar_t_const____ptr64____ptr64
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x164caacb8
cmp rdx, 1
jb 0x164caac8a
dec rdx
lea r9, [0x164ce02e0]
mov r8, r15
lea rcx, [rbp - 0x68]
call fcn.164ccf5a0
test eax, eax
je 0x164caacb8
mov r8, r15
lea rdx, [0x164ce02e0]
lea rcx, [0x164ce0dc8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x164caacb8
mov r8, r15
lea rdx, [0x164ce02e0]
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov r8, r15
lea rdx, [0x164ce0dc8]
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov rsi, qword [0x164cf5c08]
movabs r15, 0x492492492492492
cmp qword [0x164cf5c10], r15
je 0x164caadf3
lea rax, [0x164cf5c08]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x68], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rbx, rax
mov qword [rsp + 0x68], rax
lea rdi, [rax + 0x10]
mov qword [rsp + 0x70], rdi
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.164c97d50
nop
mov qword [rdi + 0x20], r13
inc qword [0x164cf5c10]
mov rax, qword [rsi + 8]
mov qword [rbx], rsi
mov qword [rbx + 8], rax
mov qword [rsp + 0x68], r13
mov qword [rsi + 8], rbx
mov qword [rax], rbx
mov rdi, qword [0x164cf5c28]
cmp qword [0x164cf5c30], r15
je 0x164caadf3
lea rax, [0x164cf5c28]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x48], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rdx, rax
mov qword [rsp + 0x48], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], r13
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rcx + 0x10], xmm1
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r13w
mov qword [rcx + 0x20], r13
inc qword [0x164cf5c30]
mov rax, qword [rdi + 8]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
mov qword [rsp + 0x48], r13
mov qword [rdi + 8], rdx
mov qword [rax], rdx
mov r15b, 1
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x164caa9e1
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x164caa9e1
lea rcx, str.list_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rbx, [0x164cf5c08]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x164caae1d
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x78], r13
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x20219
xor r8d, r8d
lea rdx, str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallNVDA
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x164cab059
mov word [rbp + 0x4e8], r13w
mov word [rbp + 0x2e0], r13w
mov dword [rbp - 0x40], 0x208
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2e0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, str.InstallDir
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x164cab059
lea rcx, [rbp + 0x2e0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsupr]
lea rax, [rbp + 0x2e0]
mov r8, r14
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x164caaeb0
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov rdx, qword [rbp - 0x58]
mov edi, 1
test rdx, rdx
je 0x164caaf26
cmp rdx, rdi
jb 0x164caaef8
dec rdx
lea r9, [0x164ce02e0]
mov r8d, edi
lea rcx, [rbp - 0x68]
call fcn.164ccf5a0
test eax, eax
je 0x164caaf26
mov r8, rdi
lea rdx, [0x164ce02e0]
lea rcx, [0x164ce0dc8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x164caaf26
mov r8, rdi
lea rdx, [0x164ce02e0]
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov r8, rdi
lea rdx, [0x164ce0dc8]
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov rsi, qword [0x164cf5c08]
movabs r12, 0x492492492492492
cmp qword [0x164cf5c10], r12
je 0x164cab04b
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x48], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rbx, rax
mov qword [rsp + 0x48], rax
lea rdi, [rax + 0x10]
mov qword [rsp + 0x50], rdi
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.164c97d50
nop
mov qword [rdi + 0x20], r13
inc qword [0x164cf5c10]
mov rax, qword [rsi + 8]
mov qword [rbx], rsi
mov qword [rbx + 8], rax
mov qword [rsp + 0x48], r13
mov qword [rsi + 8], rbx
mov qword [rax], rbx
mov rdi, qword [0x164cf5c28]
cmp qword [0x164cf5c30], r12
je 0x164cab04b
lea rax, [0x164cf5c28]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x48], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rdx, rax
mov qword [rsp + 0x48], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], r13
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rcx + 0x10], xmm1
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r13w
mov qword [rcx + 0x20], r13
inc qword [0x164cf5c30]
mov rax, qword [rdi + 8]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
mov qword [rsp + 0x48], r13
mov qword [rdi + 8], rdx
mov qword [rax], rdx
mov r15b, 1
lea rbx, [0x164cf5c08]
jmp 0x164cab063
lea rcx, str.list_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
movabs r12, 0x492492492492492
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x164cab078
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x78], r13
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 0x20219
xor r8d, r8d
lea rdx, str.SOFTWAREXVisionSense_Reader
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x164cab1e3
lea rax, [rbp + 0xd0]
nop
inc r14
cmp word [rax + r14*2], 0
jne 0x164cab0b0
mov r8, r14
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164c981c0
mov r8d, 8
lea rdx, str.XV.DLL
lea rcx, [rbp - 0x68]
call fcn.164c97be0
mov rsi, qword [0x164cf5c08]
cmp qword [0x164cf5c10], r12
je 0x164cab42f
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x48], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rbx, rax
mov qword [rsp + 0x48], rax
lea rdi, [rax + 0x10]
mov qword [rsp + 0x50], rdi
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.164c97d50
nop
mov qword [rdi + 0x20], r13
inc qword [0x164cf5c10]
mov rax, qword [rsi + 8]
mov qword [rbx], rsi
mov qword [rbx + 8], rax
mov qword [rsp + 0x48], r13
mov qword [rsi + 8], rbx
mov qword [rax], rbx
mov rdi, qword [0x164cf5c28]
cmp qword [0x164cf5c30], r12
je 0x164cab42f
lea rax, [0x164cf5c28]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x48], r13
mov ecx, 0x38
call fcn.164cd70ac
mov rdx, rax
mov qword [rsp + 0x48], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], r13
movups xmm0, xmmword [rbp - 0x68]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rbp - 0x58]
movups xmmword [rcx + 0x10], xmm1
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r13w
mov qword [rcx + 0x20], r13
inc qword [0x164cf5c30]
mov rax, qword [rdi + 8]
mov qword [rdx], rdi
mov qword [rdx + 8], rax
mov qword [rsp + 0x48], r13
mov qword [rdi + 8], rdx
mov qword [rax], rdx
mov r15b, 1
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x164cab1f8
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x78], r13
test r15b, r15b
je 0x164cab229
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164cabbd0
lea rdx, str.UIAUTOMATIONCORE.DLL
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_class_asw::root::CStr____ptr64___cdecl_asw::root::CStr::operator_wchar_t____ptr64____ptr64
lea rdx, [rbp - 0x68]
call fcn.164cab5b0
mov byte [rax], 1
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x164cab3e5
lea rdx, str.RtlImageDirectoryEntryToData
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x164cab3e5
lea rsi, [rbp + 0x10]
cmp byte [rsi + 0x10], 0
je 0x164cab3d4
mov rdi, qword [rsi]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r14, rax
test rax, rax
jne 0x164cab2c8
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x68]
call fcn.164cabbd0
lea edx, [r14 + 0x5c]
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_class_asw::root::CStr____ptr64___cdecl_asw::root::CStr::operator_wchar_t____ptr64
mov rdx, rdi
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_class_asw::root::CStr____ptr64___cdecl_asw::root::CStr::operator_wchar_t____ptr64____ptr64
lea rcx, [rbp - 0x68]
call sym.aswCmnBS.dll_public:_wchar_t_const____ptr64___cdecl_asw::root::CStr::operator_wchar_t_const____ptr64_void_const___ptr64
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
test rax, rax
je 0x164cab3d4
mov r8d, 1
lea r9, [rbp - 0x38]
movzx edx, r8b
mov rcx, r14
mov rax, rbx
call qword [0x164cdeeb8]
test rax, rax
je 0x164cab341
lea r8, [rax + 0xc]
cmp dword [r8], 0
je 0x164cab341
mov edi, dword [r8 + 4]
add rdi, r14
mov rax, qword [rdi]
test rax, rax
je 0x164cab32a
mov rcx, qword [rsi - 0x18]
mov rdx, qword [rcx]
cmp rax, rdx
je 0x164cab330
mov rcx, qword [rsi - 0x10]
cmp rax, qword [rcx]
je 0x164cab330
mov rcx, qword [rsi - 8]
cmp rax, qword [rcx]
je 0x164cab330
add rdi, 8
mov rax, qword [rdi]
test rax, rax
jne 0x164cab307
add r8, 0x14
jmp 0x164cab2eb
mov rdx, qword [rsi + 8]
mov rcx, rdi
call fcn.164caa1b0
jmp 0x164cab3d4
mov r8d, 0xd
lea r9, [rbp - 0x38]
mov dl, 1
mov rcx, r14
mov rax, rbx
call qword [0x164cdeeb8]
test rax, rax
je 0x164cab3d4
cmp dword [rax + 4], 0
je 0x164cab3d4
lea r15, [rax + 0x10]
nop dword [rax + rax]
mov rax, r15
mov edi, dword [r15 - 4]
add rdi, r14
mov ebx, dword [r15]
add rbx, r14
cmp qword [rdi], 0
je 0x164cab3b8
mov r12, qword [rsi - 0x20]
nop word [rax + rax]
mov rcx, qword [rbx]
lea rbx, [rbx + 8]
add rcx, 2
add rcx, r14
mov rdx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x164cab3c4
add rdi, 8
cmp qword [rdi], 0
jne 0x164cab390
mov rax, r15
add r15, 0x20
cmp dword [rax + 0x14], 0
je 0x164cab3d0
jmp 0x164cab370
mov rdx, qword [rsi + 8]
mov rcx, rdi
call fcn.164caa1b0
mov rbx, qword [rbp - 0x80]
inc r13d
add rsi, 0x38
cmp r13d, 4
jb 0x164cab263
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x164cab3f4
call fcn.164cd6f98
nop
lea rcx, [rbp - 0x68]
call fcn.164c938b0
xor eax, eax
mov rcx, qword [rbp + 0x6f0]
xor rcx, rsp
call fcn.164cd6f70
lea r11, [rsp + 0x800]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, str.list_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3