Function at 0x1400267d0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
mov eax, 0x3100
call sub.ntdll.dll___chkstk
sub rsp, rax
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + 0x30f0], rax
mov rdi, r8
mov r12, rdx
mov rsi, rcx
xor r13d, r13d
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x60], r13d
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r13
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 8]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x140026919
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x1400268c4
mov rdi, qword [rsp + 0x78]
cmp rbx, rdi
je 0x1400268bc
mov rcx, rbx
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
add rbx, 0x28
cmp rbx, rdi
jne 0x1400268a5
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call sub.MFC80U.DLL_Ordinal_776
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r13
mov rbx, qword [rsp + 0x98]
test rbx, rbx
je 0x140026912
mov rdi, qword [rsp + 0xa0]
cmp rbx, rdi
je 0x14002690a
mov rcx, rbx
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
add rbx, 0x28
cmp rbx, rdi
jne 0x1400268f0
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
call sub.MFC80U.DLL_Ordinal_776
xor al, al
jmp 0x140026ce4
mov ebx, r13d
cmp dword [rsp + 0x60], ebx
jbe 0x140026a6a
nop
nop
nop
mov word [rsp + Ordinal_4340], 0
xor edx, edx
mov r8d, 0x1ffe
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_4338]
call sub.ntdll.dll_memset
mov dword [rsp + 0xb0], 0x2000
mov dword [rsp + 0x88], r13d
mov byte [rsp + 0xf0], 0
xor edx, edx
mov r8d, 0xfff
lea rcx, [rsp + 0xf1]
call sub.ntdll.dll_memset
mov dword [rsp + 0xb4], 0x1000
lea rax, [rsp + 0xb4]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0x10f0]
mov edx, ebx
mov rcx, qword [rsi + 8]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x1400269e0
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140026a5d
cmp dword [rsp + 0x88], 1
jne 0x140026a5d
lea rdx, [rsp + 0x10f0]
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x90]
call fcn.1400044f0
nop
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x68]
call fcn.1400044f0
nop
lea rcx, [rsp + 0xb8]
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
add ebx, 1
cmp ebx, dword [rsp + 0x60]
jb 0x140026930
movabs r14, 0x6666666666666667
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
test rbx, rbx
jne 0x140026a8e
mov rdx, r13
jmp 0x140026aa8
mov rcx, rsi
sub rcx, rbx
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
shl rdx, 0xb
mov eax, dword [rdi]
cmp rax, rdx
jae 0x140026b69
test rbx, rbx
jne 0x140026ac1
mov rdx, r13
jmp 0x140026adb
mov rcx, rsi
sub rcx, rbx
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
shl edx, 0xb
mov dword [rdi], edx
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x140026b23
mov rbx, qword [rsp + 0x78]
cmp rdi, rbx
je 0x140026b0b
mov rcx, rdi
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
add rdi, 0x28
cmp rdi, rbx
jne 0x140026af4
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call sub.MFC80U.DLL_Ordinal_776
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r13
test rbx, rbx
je 0x140026b62
cmp rbx, rsi
je 0x140026b5a
nop
mov rcx, rbx
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
add rbx, 0x28
cmp rbx, rsi
jne 0x140026b40
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
call sub.MFC80U.DLL_Ordinal_776
xor al, al
jmp 0x140026ce4
mov rbp, r13
mov rdi, r13
nop
test rbx, rbx
je 0x140026c5e
mov rcx, rsi
sub rcx, rbx
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jae 0x140026c5e
cmp rbp, rdx
jb 0x140026baf
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov rbx, qword [rsp + 0x98]
cmp qword [rdi + rbx + 0x20], 8
jb 0x140026bbe
mov r9, qword [rdi + rbx + 8]
jmp 0x140026bc3
lea r9, [rdi + rbx + 8]
lea r8, [0x1403b5c74]
mov edx, 0x400
mov rcx, r12
call fcn.140013b00
mov r11, qword [rsp + 0x70]
test r11, r11
je 0x140026c02
mov rcx, qword [rsp + 0x78]
sub rcx, r11
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbp, rdx
jb 0x140026c0d
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov r11, qword [rsp + 0x70]
cmp qword [rdi + r11 + 0x20], 8
jb 0x140026c1c
mov r9, qword [rdi + r11 + 8]
jmp 0x140026c21
lea r9, [rdi + r11 + 8]
lea rcx, [r12 + 0x400]
lea r8, [0x1403b5c74]
mov edx, 0x400
call fcn.140013b00
add rbp, 1
add rdi, 0x28
add r12, 0x800
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
jmp 0x140026b70
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x140026ca1
mov rbx, qword [rsp + 0x78]
cmp rdi, rbx
je 0x140026c89
mov rcx, rdi
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
add rdi, 0x28
cmp rdi, rbx
jne 0x140026c72
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call sub.MFC80U.DLL_Ordinal_776
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r13
test rbx, rbx
je 0x140026ce2
cmp rbx, rsi
je 0x140026cda
nop
mov rcx, rbx
call qword [sym.imp.MSVCP80.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
add rbx, 0x28
cmp rbx, rsi
jne 0x140026cc0
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
call sub.MFC80U.DLL_Ordinal_776
mov al, 1
mov rcx, qword [rsp + 0x30f0]
xor rcx, rsp
call fcn.140161080
add rsp, 0x3100
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret