Function at 0x1800078c8
Capabilities:
Create thread
Set registry value

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3d0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov rax, qword [0x180066008]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov rsi, r8
lea rcx, [rbp - 0x60]
mov eax, 2
lea r8d, [rax + 0x7e]
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rdx + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rdx, r8
sub rax, 1
jne 0x18000790e
mov al, byte [rdx]
mov byte [rcx], al
movzx ebx, byte [rbp + 0xa0]
lea r8, [rsp + 0x38]
lea rdx, str.SYSTEMSetup
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
or r15, 0xffffffffffffffff
xor r14d, r14d
test eax, eax
jne 0x1800079e2
lea rcx, [rbp - 0x60]
mov rax, r15
test ebx, ebx
je 0x1800079a4
inc rax
cmp byte [rcx + rax], r14b
jne 0x180007992
lea rdx, str.Rentingone
jmp 0x1800079b4
inc rax
cmp byte [rcx + rax], r14b
jne 0x1800079a4
lea rdx, str.Rentingtow
inc eax
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [rbp + 0xa0], r14b
je 0x180007a54
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp + 0xb0]
call fcn.18001d0d0
mov dword [rsp + 0x28], 0x104
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
lea r8, [rbp - 0x60]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r14d
lea r9, [rbp + 0xb0]
lea r8, [0x1800046a0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180007c59
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x40]
call fcn.180005904
nop
lea rdi, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x180007a98
mov edx, 0x3a
mov rcx, rdi
call fcn.18001d6f0
mov rbx, rax
test rax, rax
je 0x180007a98
sub rbx, rdi
jmp 0x180007a9b
mov rbx, r15
mov r9, rbx
xor r8d, r8d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.18000581c
nop
lea r8, [rbx + 1]
mov r9, r15
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.18000581c
nop
xor edx, edx
mov r8d, 0x104
lea rbx, [0x180069230]
mov rcx, rbx
call fcn.18001d0d0
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xb0]
call fcn.18001d0d0
lea r8, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae r8, qword [rbp - 0x80]
mov dword [rsp + 0x28], 0x104
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
mov r9d, r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, r14
movzx eax, word [rbp + rcx + 0xb0]
mov word [rcx + rbx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180007b24
call fcn.18002356c
mov rdi, rax
lea rbx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rbx, qword [rsp + 0x60]
mov dword [rax], r14d
mov r8d, 0xa
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.18002358c
cmp rbx, qword [rsp + 0x38]
je 0x180007c94
cmp dword [rdi], 0x22
je 0x180007c87
mov dword [0x180069438], eax
mov rcx, rsi
call fcn.180001634
nop
mov ebx, 0x1000
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180007bc9
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, rbx
jb 0x180007bc4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007ca1
call fcn.18000b290
movdqa xmm0, xmmword [0x18005d1b0]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r14b
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x180007c13
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, rbx
jb 0x180007c0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007ca7
call fcn.18000b290
movdqa xmm0, xmmword [0x18005d1b0]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], r14b
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x180007c59
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, rbx
jb 0x180007c54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007c81
call fcn.18000b290
xor eax, eax
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.18000b240
mov rbx, qword [rsp + 0x400]
add rsp, 0x3d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.180023bc4
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.18001ab80
int3
lea rcx, str.invalid_stoi_argument
call fcn.18001ab38
nop
call fcn.180023bc4
nop
call fcn.180023bc4
int3