Function at 0x14005c3a0
Capabilities:
Set registry value

Disassembly:
push rsi
push rdi
push r14
mov eax, 0x18c10
call fcn.1400d3380
sub rsp, rax
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x18c40], rbx
mov qword [rsp + 0x18c48], rbp
mov rax, qword [0x1401bce90]
xor rax, rsp
mov qword [rsp + 0x18c00], rax
mov rbp, rdx
mov rsi, rcx
mov ecx, dword [0x1401c4d60]
lea r8d, [rcx + 2]
lea eax, [rcx + 1]
imul r8d, eax
imul r8d, ecx
and r8d, 0x80000007
jge 0x14005c40b
dec r8d
or r8d, 0xfffffff8
inc r8d
cmp r8d, 7
jne 0x14005c43e
lea eax, [r8 + 0x73]
mov r8d, 0xf
nop dword [rax + rax]
test r8d, r8d
je 0x14005c435
mov ecx, r8d
cdq
idiv r8d
mov r8d, edx
mov eax, ecx
test ecx, ecx
jne 0x14005c420
add eax, r8d
mov dword [0x1401c4d60], eax
mov edx, 0x5c
mov rcx, qword [rsi + 0x1b0]
call fcn.1400d0bb8
or rdi, 0xffffffffffffffff
test rax, rax
jne 0x14005c45c
mov eax, edi
jmp 0x14005c466
sub rax, qword [rsi + 0x1b0]
sar rax, 1
lea r8d, [rax + 1]
lea rdx, [rsp + 0x40]
lea rcx, [rsi + 0x1b0]
call fcn.140027d30
nop
call fcn.140050870
xor r14d, r14d
test al, al
jne 0x14005c510
mov word [rsp + 0x70], r14w
xor edx, edx
mov r8d, 0x18b80
lea rcx, [rsp + 0x72]
call fcn.1400d3710
mov r10d, r14d
mov r9, rdi
nop word [rax + rax]
mov rax, r14
test r10, r10
je 0x14005c4e2
test rax, rax
je 0x14005c4e2
lea rdx, [r9 + rax]
lea rcx, [r9 + rax]
movzx r8d, word [rsp + rdx*2 - 0x150]
inc r8w
add r8w, word [rsp + rcx*2 + 0x70]
lea rcx, [r9 + rax]
mov word [rsp + rcx*2 + 0x72], r8w
inc rax
cmp rax, 0xe1
jl 0x14005c4b3
inc r10
add r9, 0xe1
cmp r9, 0xc5c0
jl 0x14005c4b0
movsx eax, word [rsp + 0x18bf0]
mov dword [0x1401c4d60], eax
jmp 0x14005c516
mov eax, dword [0x1401c4d60]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xe
sub ecx, edx
cmp ecx, 0xd
jne 0x14005c545
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1401c4d60], eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x2001f
xor r8d, r8d
mov rdx, qword [rsi + 0x1b0]
mov rcx, qword [rsi + 0x2d8]
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14005c5d2
call fcn.140052d80
mov r8, rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.14001a720
nop
mov dword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rbp
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005c5c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
jne 0x14005c5d2
mov bl, 1
jmp 0x14005c6d3
call fcn.140053980
mov rbx, rax
lea rcx, [0x1401bc9a8]
mov rdx, qword [0x1401bc9a8]
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
test rbx, rbx
je 0x14005c632
test rbx, 0xffffffffffff0000
jne 0x14005c623
movzx ebx, bx
mov ecx, ebx
call fcn.1400019e0
test rax, rax
je 0x14005c646
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.1400025a0
jmp 0x14005c646
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x14005c626
jmp 0x14005c635
mov eax, r14d
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.1400022b0
nop
call fcn.140053040
mov r8, rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.14001a720
nop
lea r8, [rsi + 0x190]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.14000f690
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005c68c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsp + 0x38]
mov rcx, rsi
call fcn.140014a50
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005c6b4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
jg 0x14005c6d1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor bl, bl
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005c6ed
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
movzx eax, bl
mov rcx, qword [rsp + 0x18c00]
xor rcx, rsp
call fcn.1400ce2d0
lea r11, [rsp + 0x18c10]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret