Function at 0x14003bd8a
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push r15
mov rax, reloc.OLEAUT32.dll_SafeArrayGetElemsize
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x14003bda7
sub rsp, 0x28
call fcn.1400928f0
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x28]
sub rsp, 0x10
call fcn.1400929c0
add rsp, 0x10
mov rdx, qword [rsp + 0xc8]
lea rcx, [rsp + 0x30]
sub rsp, 0x10
call fcn.1400929c0
add rsp, 0x10
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x38]
sub rsp, 0x10
call fcn.1400929c0
add rsp, 0x10
mov rdx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x40]
sub rsp, 0x10
call fcn.1400929c0
add rsp, 0x10
push qword [rsp + 0x28]
pop rcx
call fcn.14003c4ec
push qword [rsp + 0x40]
movabs rcx, 0x140103be4
pop rdx
call fcn.140092760
or rax, rax
je 0x14003bec7
cmp dword [0x14031a030], 0
je 0x14003be9f
sub rsp, 8
lea rax, [rsp + 0x58]
mov rax, rax
push rax
movsxd r15, dword [0x14031a038]
or r15, 0xf003f
mov rax, r15
push rax
push 0
push qword [0x140319f5c]
push qword [0x140319f84]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegOpenKeyExW
add rsp, 0x30
mov qword [rsp + 0x48], rax
jmp 0x14003bec2
lea rax, [rsp + 0x50]
mov rax, rax
push rax
push qword [0x140319f5c]
push qword [0x140319f84]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_RegOpenKeyW
mov qword [rsp + 0x48], rax
jmp 0x14003bf60
lea rax, [rsp + 0x60]
mov rax, rax
push rax
push qword [0x140319f84]
push qword [rsp + 0x50]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_RegConnectRegistryW
movsxd rax, eax
mov qword [rsp + 0x58], rax
cmp dword [0x14031a030], 0
je 0x14003bf3f
sub rsp, 8
lea rax, [rsp + 0x58]
mov rax, rax
push rax
movsxd r15, dword [0x14031a038]
or r15, 0xf003f
mov rax, r15
push rax
push 0
push qword [0x140319f5c]
push qword [rsp + 0x88]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegOpenKeyExW
add rsp, 0x30
mov qword [rsp + 0x48], rax
jmp 0x14003bf60
lea rax, [rsp + 0x50]
mov rax, rax
push rax
push qword [0x140319f5c]
push qword [rsp + 0x70]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_RegOpenKeyW
mov qword [rsp + 0x48], rax
mov r15, qword [rsp + 0x48]
and r15, r15
jne 0x14003c335
mov qword [rsp + 0x68], 0x400
push rcx
sub rsp, 0x28
call fcn.1400925c0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.1400925c0
add rsp, 0x28
pop rcx
push rax
push qword [rsp + 0x80]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.14008f5b0
add rsp, 0x28
lea rcx, [rsp + 0x78]
pop rdx
call fcn.140092680
push qword [rsp + 0xd8]
mov r15, 2
cmp r15, qword [rsp]
jne 0x14003c02e
sub rsp, 8
push qword [rsp + 0x48]
pop rcx
sub rsp, 0x20
call fcn.14008f500
add rsp, 0x20
mov r15, rax
add r15, r15
inc r15
mov rax, r15
push rax
mov rax, qword [rsp + 0x50]
mov rax, rax
push rax
push 2
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x88]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegSetValueExW
add rsp, 0x38
mov qword [rsp + 0x50], rax
jmp 0x14003c30f
mov r15, 1
cmp r15, qword [rsp]
jne 0x14003c099
sub rsp, 8
push qword [rsp + 0x48]
pop rcx
sub rsp, 0x20
call fcn.14008f500
add rsp, 0x20
mov r15, rax
add r15, r15
inc r15
mov rax, r15
push rax
mov rax, qword [rsp + 0x50]
mov rax, rax
push rax
push 1
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x88]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegSetValueExW
add rsp, 0x38
mov qword [rsp + 0x50], rax
jmp 0x14003c30f
mov r15, 4
cmp r15, qword [rsp]
jne 0x14003c10b
sub rsp, 8
push qword [rsp + 0x48]
pop rcx
sub rsp, 0x20
call fcn.14008f610
add rsp, 0x28
mov qword [rsp + 0x80], rax
sub rsp, 8
push 4
lea rax, [rsp + 0x90]
mov rax, rax
push rax
push 4
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x88]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegSetValueExW
add rsp, 0x38
mov qword [rsp + 0x50], rax
jmp 0x14003c30f
mov r15, 3
cmp r15, qword [rsp]
jne 0x14003c30f
sub rsp, 8
push qword [rsp + 0x48]
pop rcx
sub rsp, 0x20
call fcn.14008f500
add rsp, 0x28
mov r15, rax
mov rax, r15
mov rcx, 2
cqo
idiv rcx
mov r15, rax
mov qword [rsp + 0x88], r15
sub rsp, 8
push qword [rsp + 0x90]
pop rcx
sub rsp, 0x20
call fcn.140090cf0
add rsp, 0x28
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 0
jmp 0x14003c17e
mov r15, qword [rsp + 0x88]
dec r15
cmp r15, qword [rsp + 0x98]
jl 0x14003c2b7
push rcx
sub rsp, 0x20
call fcn.1400925c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400925c0
add rsp, 0x28
pop rcx
push rax
push 2
mov r15, qword [rsp + 0xb0]
add r15, r15
inc r15
mov rax, r15
push rax
push qword [rsp + 0x60]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.14008f910
add rsp, 0x20
lea rcx, [rsp + 0xa8]
pop rdx
sub rsp, 0x28
call fcn.140092680
add rsp, 0x28
push rcx
sub rsp, 0x20
call fcn.1400925c0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400925c0
add rsp, 0x28
pop rcx
push rax
movabs rcx, 0x1401038f2
sub rsp, 0x28
call fcn.140092610
add rsp, 0x28
mov rcx, qword [rsp + 0xb0]
sub rsp, 0x28
call fcn.140092610
add rsp, 0x28
push rax
call fcn.1400927f0
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.14008f610
add rsp, 0x20
pop rcx
push rax
sub rsp, 0x20
call fcn.140041f24
add rsp, 0x20
pop rax
mov qword [rsp + 0xa8], rax
sub rsp, 8
push qword [rsp + 0xb0]
mov r15, qword [rsp + 0xa0]
add r15, qword [rsp + 0xa8]
mov rax, r15
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.140090fb0
add rsp, 0x28
inc qword [rsp + 0x98]
jno 0x14003c17e
sub rsp, 8
push qword [rsp + 0x90]
push qword [rsp + 0xa0]
push 3
push 0
push qword [rsp + 0x60]
push qword [rsp + 0x88]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.ADVAPI32.dll_RegSetValueExW
add rsp, 0x38
mov qword [rsp + 0x50], rax
sub rsp, 8
push qword [rsp + 0x98]
pop rcx
sub rsp, 0x20
call fcn.140090f60
add rsp, 0x28
add rsp, 8
push qword [rsp + 0x50]
pop rcx
call sub.ADVAPI32.dll_RegCloseKey
mov qword [rsp + 0xa8], 1
mov rax, qword [rsp + 0xa8]
jmp 0x14003c358
push qword [rsp + 0x50]
pop rcx
call sub.ADVAPI32.dll_RegCloseKey
mov qword [rsp + 0xa8], 0
mov rax, qword [rsp + 0xa8]
jmp 0x14003c358
push rax
mov rcx, qword [rsp + 0x48]
sub rsp, 0x28
call fcn.140092990
add rsp, 0x28
mov rcx, qword [rsp + 0x78]
sub rsp, 0x28
call fcn.140092990
add rsp, 0x28
mov rcx, qword [rsp + 0xa0]
sub rsp, 0x28
call fcn.140092990
add rsp, 0x28
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.140092990
add rsp, 0x28
mov rcx, qword [rsp + 0x40]
sub rsp, 0x28
call fcn.140092990
add rsp, 0x28
mov rcx, qword [rsp + 0x38]
sub rsp, 0x28
call fcn.140092990
add rsp, 0x28
pop rax
add rsp, 0xb0
pop r15
ret