Function at 0x1400b59d0
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov r10, r9
mov rdi, r8
mov ebx, edx
mov r14, rcx
test r8, r8
je 0x1400b5c9e
test edx, edx
je 0x1400b5c9e
cmp edx, 0xfffffffe
je 0x1400b5c9e
mov rax, qword [0x1401255c8]
lea rcx, [r11 - 0x38]
xor ebp, ebp
mov eax, dword [rax + 0x110]
mov qword [r11 - 0x48], rcx
lea rcx, [r11 - 0x30]
mov qword [r11 - 0x50], rcx
mov qword [r11 - 0x58], rbp
or eax, 0x20006
mov dword [rsp + 0x28], eax
lea r9, [0x1400f1514]
xor r8d, r8d
mov rdx, r10
mov rcx, rdi
mov dword [rsp + 0x20], ebp
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, eax
test eax, eax
jne 0x1400b5d2b
dec ebx
je 0x1400b5cdf
dec ebx
je 0x1400b5cd7
dec ebx
je 0x1400b5b85
dec ebx
je 0x1400b5b43
cmp ebx, 3
je 0x1400b5a89
lea edi, [rbp + 0x57]
jmp 0x1400b5d20
mov rsi, qword [rsp + 0xb8]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rdi, [rcx - 1]
lea rcx, [rcx + rcx + 2]
call fcn.1400d6f18
mov rbx, rax
test rax, rax
jne 0x1400b5abe
lea edi, [rax + 0xe]
jmp 0x1400b5d20
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.1400da5c4
mov dword [rbx + rdi*2], ebp
test rdi, rdi
je 0x1400b5ae3
cmp word [rbx + rdi*2 - 2], 0xa
jne 0x1400b5ae3
dec rdi
mov word [rbx + rdi*2], bp
mov rax, rbx
cmp word [rbx], bp
je 0x1400b5b02
nop dword [rax + rax]
cmp word [rax], 0xa
jne 0x1400b5af9
mov word [rax], bp
add rax, 2
cmp word [rax], bp
jne 0x1400b5af0
test rdi, rdi
je 0x1400b5b0b
lea rbp, [rdi + 2]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x58]
lea eax, [rbp + rbp]
mov dword [rsp + 0x28], eax
mov r9d, 7
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbx
mov edi, eax
call fcn.1400d6fd8
jmp 0x1400b5d20
mov rcx, qword [rsp + 0xb8]
cmp word [rcx], bp
je 0x1400b5b5e
call fcn.1400057f0
mov dword [rsp + 0xa0], eax
jmp 0x1400b5b65
mov dword [rsp + 0xa0], ebp
lea rax, [rsp + 0xa0]
mov dword [rsp + 0x28], 4
mov r9d, 4
mov qword [rsp + 0x20], rax
jmp 0x1400b5d08
mov rbx, qword [rsp + 0xb8]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov eax, ecx
mov rdi, rcx
and eax, 0x80000001
jge 0x1400b5bb2
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1400b5bc0
mov edi, 0x57
jmp 0x1400b5d20
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movsxd r12, eax
mov rcx, r12
call fcn.1400d6f18
mov rsi, rax
test rax, rax
jne 0x1400b5be2
lea edi, [rax + 0xe]
jmp 0x1400b5d20
mov r11d, ebp
mov r9d, ebp
mov r8, rbp
mov r10, rbp
movsxd r13, edi
test edi, edi
jle 0x1400b5c56
cmp r10, r12
jge 0x1400b5c56
mov edi, ebp
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
movzx ecx, word [rbx + r8*2]
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x1400b5c17
movzx eax, cx
sub eax, 0x30
jmp 0x1400b5c37
lea eax, [rcx - 0x41]
cmp ax, 5
ja 0x1400b5c28
movzx eax, cx
sub eax, 0x37
jmp 0x1400b5c37
lea eax, [rcx - 0x61]
cmp ax, 5
ja 0x1400b5c8b
movzx eax, cx
sub eax, 0x57
imul eax, edx
inc r9d
inc r8
add edi, eax
sub edx, 0xf
jns 0x1400b5c01
mov byte [r10 + rsi], dil
inc r10
inc r11d
cmp r8, r13
jl 0x1400b5bf5
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x28], r11d
mov r9d, 3
xor r8d, r8d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
mov edi, eax
call fcn.1400d6fd8
jmp 0x1400b5d20
mov rcx, rsi
call fcn.1400d6fd8
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, 0x57
mov r11d, edi
mov rax, qword [0x1401255c8]
test edi, edi
mov rcx, r14
setne dl
mov dword [rax + 0x40], r11d
call fcn.14004cf20
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
mov r9d, 2
jmp 0x1400b5ce5
mov r9d, 1
mov rdx, qword [rsp + 0xb8]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp edi, 0xffffffff
jne 0x1400b5ca3
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov r11d, eax
jmp 0x1400b5ca6