Function at 0x18000ae60
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov dword [r11 + 0x20], r9d
mov qword [r11 + 0x18], r8
push rbp
push rsi
push rdi
lea rbp, [r11 - 0x5f]
sub rsp, 0xa0
mov qword [rbp + 0x3f], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov rsi, r8
mov r10, rdx
mov rbx, rcx
lea rax, [rbp + 0x37]
mov qword [r11 - 0x78], rax
lea rax, [rbp + 7]
mov qword [r11 - 0x80], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x20006
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x20], eax
lea r9, [0x18002fa44]
xor r8d, r8d
mov rdx, rsi
mov rcx, r10
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, eax
test eax, eax
je 0x18000af1b
mov edx, eax
lea rcx, [rbp + 0x67]
call fcn.18000b970
mov edx, dword [rax]
lea rcx, [rbp + 0xf]
call fcn.18000b930
nop
mov rcx, rax
call fcn.18000c3b0
mov r9, rax
mov dword [rsp + 0x20], edi
mov r8, rsi
lea rdx, str.Unable_to_create_key___s_.__s._Error_code___lu.
mov rcx, rbx
call fcn.18000b540
nop
lea rcx, [rbp + 0xf]
call fcn.18000b9b0
xor al, al
jmp 0x18000b386
cmp dword [rbx + 0x34], 0
je 0x18000b37a
xor edi, edi
xor r9d, r9d
nop word [rax + rax]
mov r8d, dword [rbx + 0x34]
cmp r8d, 1
jb 0x18000b25f
mov r10, qword [rbx + 0x28]
movzx edx, byte [r10]
mov ecx, edx
btr ecx, 7
mov eax, edi
shl eax, 7
mov edi, ecx
or edi, eax
test dl, dl
js 0x18000af94
lea rcx, [r10 + 1]
mov qword [rbx + 0x28], rcx
dec r8d
mov dword [rbx + 0x34], r8d
inc r9d
cmp r9d, 4
jb 0x18000af30
cmp r8d, 1
jb 0x18000b197
movzx eax, byte [rcx]
shl eax, 0x1c
or edi, eax
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
lea eax, [r8 - 1]
mov dword [rbx + 0x34], eax
jmp 0x18000af9b
inc qword [rbx + 0x28]
dec dword [rbx + 0x34]
test edi, edi
je 0x18000b277
dec edi
xor esi, esi
xor r9d, r9d
nop word [rax + rax]
mov r8d, dword [rbx + 0x34]
cmp r8d, 1
jb 0x18000b247
mov r10, qword [rbx + 0x28]
movzx edx, byte [r10]
mov ecx, edx
btr ecx, 7
mov eax, esi
shl eax, 7
mov esi, ecx
or esi, eax
test dl, dl
js 0x18000b014
lea rcx, [r10 + 1]
mov qword [rbx + 0x28], rcx
dec r8d
mov dword [rbx + 0x34], r8d
inc r9d
cmp r9d, 4
jb 0x18000afb0
cmp r8d, 1
jb 0x18000b1af
movzx eax, byte [rcx]
shl eax, 0x1c
or esi, eax
lea rax, [rcx + 1]
mov qword [rbx + 0x28], rax
lea eax, [r8 - 1]
mov dword [rbx + 0x34], eax
jmp 0x18000b01b
inc qword [rbx + 0x28]
dec dword [rbx + 0x34]
lea r8, [rbp - 9]
lea rdx, [rbp + 0xf]
mov rcx, rbx
call fcn.18000b3f0
lea eax, [rsi - 1]
cmp eax, 1
jbe 0x18000b062
cmp esi, 7
je 0x18000b062
mov ecx, dword [rbx + 0x34]
cmp ecx, edi
jb 0x18000b1c7
mov byte [rbp + 0x67], 0
mov rdx, qword [rbx + 0x28]
mov qword [rbp - 1], rdx
mov eax, edi
add rax, rdx
mov qword [rbx + 0x28], rax
sub ecx, edi
mov dword [rbx + 0x34], ecx
jmp 0x18000b104
lea eax, [rdi + 1]
mov r8d, dword [rbx + 0x34]
cmp r8d, eax
jb 0x18000b22f
mov rax, qword [rbx + 0x28]
movzx ecx, byte [rax]
lea rdx, [rax + 1]
mov qword [rbp - 1], rdx
mov qword [rbx + 0x28], rdx
dec r8d
mov dword [rbx + 0x34], r8d
cmp cl, 0xf1
jne 0x18000b0a7
mov eax, edi
add rax, rdx
mov qword [rbx + 0x28], rax
sub r8d, edi
mov dword [rbx + 0x34], r8d
mov byte [rbp + 0x67], 0
jmp 0x18000b104
mov ecx, edi
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.180016d3c
mov rdx, rax
mov qword [rbp - 1], rax
mov r8, rax
mov r9d, edi
test edi, edi
je 0x18000b0fb
nop word [rax + rax]
mov rcx, qword [rbx + 0x28]
movzx edx, byte [rcx]
mov word [r8], dx
lea r8, [r8 + 2]
inc qword [rbx + 0x28]
dec r9d
jne 0x18000b0e0
mov rdx, rax
sub dword [rbx + 0x34], edi
add edi, edi
mov byte [rbp + 0x67], 1
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdx
mov r9d, esi
xor r8d, r8d
mov rdx, qword [rbp + 0xf]
mov rcx, qword [rbp + 7]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp eax, 0x3e6
jne 0x18000b16b
mov rdx, qword [rbp + 0xf]
lea rcx, [rbp + 0x27]
call fcn.18000b8f0
nop
mov rcx, rax
call fcn.18000c3d0
mov rdx, rax
mov dword [rsp + 0x28], edi
mov rdi, qword [rbp - 1]
mov qword [rsp + 0x20], rdi
mov r9d, esi
xor r8d, r8d
mov rcx, qword [rbp + 7]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
lea rcx, [rbp + 0x27]
call fcn.18000b9b0
jmp 0x18000b171
mov rdi, qword [rbp - 1]
mov esi, eax
cmp byte [rbp - 9], 0
je 0x18000b180
mov rcx, qword [rbp + 0xf]
call fcn.180017754
cmp byte [rbp + 0x67], 0
je 0x18000b18e
mov rcx, rdi
call fcn.180017754
test esi, esi
jne 0x18000b1df
jmp 0x18000af1b
mov dword [rbp + 0x67], 0x338
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
mov dword [rbp + 0x67], 0x338
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
mov dword [rbp + 0x67], 0x47a
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
mov edx, esi
lea rcx, [rbp + 0x67]
call fcn.18000b970
mov edx, dword [rax]
lea rcx, [rbp + 0x27]
call fcn.18000b930
nop
mov rcx, rax
call fcn.18000c3b0
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x77]
mov r8, qword [rbp + 0xf]
lea rdx, str.Unable_to_set_registry_value___s__in_key___s_.__s._Error_code___lu.
mov rcx, rbx
call fcn.18000b540
nop
lea rcx, [rbp + 0x27]
call fcn.18000b9b0
xor al, al
jmp 0x18000b386
mov dword [rbp + 0x67], 0x3e3
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
mov dword [rbp + 0x67], 0x32a
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
mov dword [rbp + 0x67], 0x32a
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
cmp dword [rbx + 0x34], 0
je 0x18000b37a
mov r11, qword [rbx + 0x28]
mov esi, dword [rbx + 0x34]
xor edi, edi
xor r9d, r9d
nop dword [rax]
mov r8d, dword [rbx + 0x34]
cmp r8d, 1
jb 0x18000b362
mov r10, qword [rbx + 0x28]
movzx edx, byte [r10]
mov ecx, edx
btr ecx, 7
mov eax, edi
shl eax, 7
mov edi, ecx
or edi, eax
test dl, dl
js 0x18000b2f0
inc r10
mov qword [rbx + 0x28], r10
dec r8d
mov dword [rbx + 0x34], r8d
inc r9d
cmp r9d, 4
jb 0x18000b290
cmp r8d, 1
jb 0x18000b341
movzx eax, byte [r10]
shl eax, 0x1c
or edi, eax
lea rax, [r10 + 1]
mov qword [rbx + 0x28], rax
lea eax, [r8 - 1]
mov dword [rbx + 0x34], eax
jmp 0x18000b2f7
inc qword [rbx + 0x28]
dec dword [rbx + 0x34]
cmp edi, dword [rbp + 0x7f]
jbe 0x18000b359
lea r8, [rbp + 0x67]
lea rdx, [rbp + 0xf]
mov rcx, rbx
call fcn.18000b3f0
mov r9d, edi
mov rdi, qword [rbp + 0xf]
mov r8, rdi
mov rdx, qword [rbp + 7]
mov rcx, rbx
call fcn.18000ae60
movzx esi, al
cmp byte [rbp + 0x67], 0
je 0x18000b333
mov rcx, rdi
call fcn.180017754
test sil, sil
je 0x18000af14
jmp 0x18000b277
mov dword [rbp + 0x67], 0x338
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
mov qword [rbx + 0x28], r11
mov dword [rbx + 0x34], esi
jmp 0x18000b37a
mov dword [rbp + 0x67], 0x32a
lea rdx, [0x18003e358]
lea rcx, [rbp + 0x67]
call fcn.180018c14
int3
mov rcx, qword [rbp + 7]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
mov rbx, qword [rsp + 0xc8]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret