Function at 0x180001000
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push r14
push r15
lea rbp, [rsp - 0x11b0]
mov eax, 0x12b0
call fcn.180004a90
sub rsp, rax
mov rax, qword [0x18002e018]
xor rax, rsp
mov qword [rbp + 0x11a0], rax
movups xmm0, xmmword [str.nuR_noisreVtnerruC_swodniW_tfosorciMerawtfoS]
mov eax, dword [0x180025bc8]
lea rcx, [rbp + 0x1090]
movups xmm1, xmmword [0x180025bb0]
mov dword [rsp + 0x70], eax
xor edx, edx
movzx eax, word [0x180025bcc]
mov r8d, 0x104
movups xmmword [rsp + 0x48], xmm0
xor r15d, r15d
mov word [rsp + 0x74], ax
movsd xmm0, qword [0x180025bc0]
movsd qword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x58], xmm1
call fcn.1800067d0
xor edx, edx
lea rcx, [rbp - 0x80]
mov r8d, 0x104
call fcn.1800067d0
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x40], r15
call fcn.180010524
mov rcx, qword [0x180031fd8]
lea rdx, [rbp + 0x1090]
mov r8d, 0x104
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x180001149
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
lea edx, [r15 + 0x5c]
lea rcx, [0x180025be0]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x1800010fd
lea rbx, [0x180025c40]
jmp 0x180001101
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x180025c98]
mov dword [rsp + 0x28], 0x2e
lea r8, [0x180025cb0]
mov edx, 0x7ff
mov qword [rsp + 0x20], rbx
lea rcx, [rbp + 0x90]
call fcn.180002d00
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1800016e5
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
jne 0x1800011bb
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
lea edx, [rbx + 0x5c]
lea rcx, [0x180025d40]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x180001192
lea rbx, [0x180025da0]
jmp 0x180001196
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x180025df8]
mov dword [rsp + 0x28], 0x35
lea r8, str._s__s:_d__Error_During_LoadLibrary_Err:_d_n
jmp 0x180001121
lea rdx, str.RegOpenKeyA
mov qword [rsp + 0x12d8], rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x18000125f
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
lea edx, [rdi + 0x5c]
lea rcx, [0x180025e80]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x180001213
lea rbx, [0x180025ee0]
jmp 0x180001217
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x180025f38]
mov dword [rsp + 0x28], 0x3c
mov edx, 0x7ff
lea r8, str._s__s:_d__Error_During_GetProcAddress_RegOpenKeyA_Err:_d_n
mov qword [rsp + 0x20], rbx
lea rcx, [rbp + 0x90]
call fcn.180002d00
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1800016dd
lea rdx, str.RegSetKeyValueA
mov qword [rsp + 0x12d0], rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
test rax, rax
jne 0x1800012dc
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
lea edx, [rsi + 0x5c]
lea rcx, [0x180025fe0]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x1800012b3
lea rbx, [0x180026040]
jmp 0x1800012b7
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x180026098]
mov dword [rsp + 0x28], 0x43
lea r8, str._s__s:_d__Error_During_GetProcAddress_RegSetKeyValueA_Err:_d_n
jmp 0x1800016aa
lea rdx, str.RegCloseKey
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
jne 0x180001351
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
lea edx, [rbx + 0x5c]
lea rcx, [0x180026140]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x180001328
lea rbx, [0x1800261a0]
jmp 0x18000132c
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x1800261f8]
mov dword [rsp + 0x28], 0x4a
lea r8, str._s__s:_d__Error_During_GetProcAddress_RegCloseKey_Err:_d_n
jmp 0x1800016aa
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, 0xffffffff80000001
call rdi
test eax, eax
je 0x1800013c5
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
mov edx, 0x5c
lea rcx, [0x180026290]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x18000139c
lea rbx, [0x1800262f0]
jmp 0x1800013a0
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x180026348]
mov dword [rsp + 0x28], 0x51
lea r8, str._s__s:_d__Error_During_RegOpenKeyA_has_failed:__d_n
jmp 0x1800016aa
mov r8d, 0x104
lea rdx, [rbp - 0x80]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor edx, edx
test eax, eax
jne 0x18000143a
mov r8d, 0x1000
lea rcx, [rbp + 0x90]
call fcn.1800067d0
mov edx, 0x5c
lea rcx, [0x1800263d0]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x180001411
lea rbx, [0x180026430]
jmp 0x180001415
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x180026488]
mov dword [rsp + 0x28], 0x58
lea r8, str._s__s:_d__Error_During_Get_Module_File_Name_Err:_d_n
jmp 0x1800016aa
mov r8d, 0x800
lea rcx, [rbp + 0x90]
call fcn.1800067d0
mov edx, 0x5c
lea rcx, [0x180026510]
call fcn.18000648c
test rax, rax
jne 0x18000146b
lea rax, [0x180026540]
jmp 0x18000146e
inc rax
lea rcx, [rbp - 0x80]
mov edx, 0x7ff
mov qword [rsp + 0x30], rcx
lea r9, [0x180026570]
mov dword [rsp + 0x28], 0x5c
lea rcx, [rbp + 0x90]
lea r8, [0x180026580]
mov qword [rsp + 0x20], rax
call fcn.180002ca0
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x800
call fcn.1800067d0
mov edx, 0x5c
lea rcx, [0x1800265c0]
call fcn.18000648c
test rax, rax
jne 0x1800014e3
lea rax, [0x1800265f0]
jmp 0x1800014e6
inc rax
lea rcx, [rbp - 0x80]
mov edx, 0x7ff
mov qword [rsp + 0x30], rcx
lea r9, [0x180026620]
mov dword [rsp + 0x28], 0x5d
lea rcx, [rbp + 0x90]
lea r8, [0x180026630]
mov qword [rsp + 0x20], rax
call fcn.180002ca0
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x800
call fcn.1800067d0
mov edx, 0x5c
lea rcx, [0x180026670]
call fcn.18000648c
test rax, rax
jne 0x18000155b
lea rax, [0x1800266a0]
jmp 0x18000155e
inc rax
lea rcx, [rbp - 0x80]
mov edx, 0x7ff
mov qword [rsp + 0x30], rcx
lea r9, [0x1800266d0]
mov dword [rsp + 0x28], 0x5e
lea rcx, [rbp + 0x90]
lea r8, str._s__s:_d__szDestDataBuff_szDestDataBuff_szDestDataBuff:_s_n
mov qword [rsp + 0x20], rax
call fcn.180002ca0
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rdx, [rbp - 0x80]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], r15b
jne 0x1800015b0
inc eax
lea r8, str.Purple_Rain
mov dword [rsp + 0x28], eax
mov r9d, 1
lea rax, [rbp - 0x80]
mov rdx, r14
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x20], rax
call rsi
test eax, eax
je 0x180001641
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
mov edx, 0x5c
lea rcx, [0x180026720]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x18000161b
lea rbx, [0x180026780]
jmp 0x18000161f
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x1800267d8]
mov dword [rsp + 0x28], 0x62
lea r8, str._s__s:_d__Error_During_RegSetKeyValueA_has_failed:__d_n
jmp 0x1800016aa
mov rcx, qword [rsp + 0x40]
call rbx
test eax, eax
je 0x1800016cf
xor edx, edx
lea rcx, [rbp + 0x90]
mov r8d, 0x1000
call fcn.1800067d0
mov edx, 0x5c
lea rcx, [0x180026870]
call fcn.1800063dc
mov rbx, rax
test rax, rax
jne 0x180001686
lea rbx, [0x1800268d0]
jmp 0x18000168a
add rbx, 2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, [0x180026928]
mov dword [rsp + 0x28], 0x69
lea r8, str._s__s:_d__Error_During_RegCloseKey_has_failed:__d_n_n
mov edx, 0x7ff
mov qword [rsp + 0x20], rbx
lea rcx, [rbp + 0x90]
call fcn.180002d00
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x1800016d5
mov r15d, 1
mov rsi, qword [rsp + 0x12d0]
mov rdi, qword [rsp + 0x12d8]
mov eax, r15d
mov rcx, qword [rbp + 0x11a0]
xor rcx, rsp
call fcn.180004600
mov rbx, qword [rsp + 0x12e0]
add rsp, 0x12b0
pop r15
pop r14
pop rbp
ret