Function at 0x140027480
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov rax, r8
mov r14, rdx
mov r15, rcx
xor r13d, r13d
mov r12d, r13d
mov qword [r11 - 0x58], r13
mov qword [r11 - 0x50], r13
mov qword [r11 - 0x48], r13
lea r8, [r11 - 0x60]
mov edx, r9d
mov rcx, rax
call fcn.140047f70
mov rbx, r13
mov rdi, r13
movabs rbp, 0x6666666666666667
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x14002752e
mov rcx, qword [rsp + 0x48]
sub rcx, r8
mov rax, rbp
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbx, rdx
jae 0x14002752e
cmp rbx, rdx
jb 0x14002751a
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov r8, qword [rsp + 0x40]
mov eax, dword [rdi + r8 + 0x18]
lea r12d, [r12 + rax*2 + 2]
add rbx, 1
add rdi, 0x28
jmp 0x1400274e4
add r12d, 2
jne 0x1400275a6
mov dword [rsp + 0x28], r12d
lea rax, [0x1403b65c0]
mov qword [rsp + 0x20], rax
lea r9d, [r12 + 7]
xor r8d, r8d
mov rdx, r14
mov rcx, qword [r15 + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x140027778
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14002759f
mov rdi, qword [rsp + 0x48]
cmp rbx, rdi
je 0x140027597
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, rdi
jne 0x140027580
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call sub.MFC80U.DLL_Ordinal_776
xor al, al
jmp 0x1400277b1
mov ebx, r12d
mov ecx, r12d
call qword [sym.imp.MSVCR80.dll_malloc]
mov rdi, rax
test rax, rax
jne 0x1400275dc
nop
nop
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, rbx
call qword [sym.imp.MSVCR80.dll_malloc]
mov rdi, rax
test rax, rax
je 0x1400275c0
mov r8, rbx
xor edx, edx
mov rcx, rdi
call sub.ntdll.dll_memset
mov rsi, r13
mov rbx, r13
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x1400276f6
mov rcx, qword [rsp + 0x48]
sub rcx, r8
mov rax, rbp
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jae 0x1400276f6
cmp rsi, rdx
jb 0x140027632
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov r8, qword [rsp + 0x40]
mov rbp, qword [rbx + r8 + 0x18]
test r8, r8
je 0x140027664
mov rcx, qword [rsp + 0x48]
sub rcx, r8
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jb 0x14002766f
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov r8, qword [rsp + 0x40]
cmp qword [rbx + r8 + 0x20], 8
jb 0x14002767e
mov rdx, qword [rbx + r8 + 8]
jmp 0x140027683
lea rdx, [rbx + r8 + 8]
lea r8, [rbp + rbp]
mov ecx, r13d
add rcx, rdi
call sub.ntdll.dll_memcpy
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x1400276ca
mov rcx, qword [rsp + 0x48]
sub rcx, r8
movabs rbp, 0x6666666666666667
mov rax, rbp
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rsi, rdx
jb 0x1400276df
jmp 0x1400276d4
movabs rbp, 0x6666666666666667
call qword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov r8, qword [rsp + 0x40]
mov eax, dword [rbx + r8 + 0x18]
lea r13d, [r13 + rax*2 + 2]
add rsi, 1
add rbx, 0x28
jmp 0x1400275f4
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rdi
mov r9d, 7
xor r8d, r8d
mov rdx, r14
mov rcx, qword [r15 + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x140027769
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
test rdi, rdi
je 0x140027732
mov rcx, rdi
call qword [sym.imp.MSVCR80.dll_free]
nop
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x140027765
mov rdi, qword [rsp + 0x48]
cmp rbx, rdi
je 0x14002775d
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 0x140027746
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call sub.MFC80U.DLL_Ordinal_776
xor al, al
jmp 0x1400277b1
test rdi, rdi
je 0x140027778
mov rcx, rdi
call qword [sym.imp.MSVCR80.dll_free]
nop
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1400277af
mov rdi, qword [rsp + 0x48]
cmp rbx, rdi
je 0x1400277a7
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, rdi
jne 0x140027790
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call sub.MFC80U.DLL_Ordinal_776
mov al, 1
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret