Function at 0x18001c3e0
Capabilities:
Print debug messages
Query or enumerate registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
mov r14, rcx
mov ebp, 2
mov dword [rax + 0x20], 4
mov dword [rax + 0x18], 4
mov dword [rax + 0x10], r15d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x1000a
mov qword [rsp + 0x30], r15
lea esi, [rax + 0x1e]
call fcn.180053ad4
mov ecx, 0x2000a
mov rdi, rax
call fcn.180053ad4
mov rbx, rax
test rdi, rdi
je 0x18001c4f2
test rax, rax
je 0x18001c4f2
lea r8, str._MM__Getting_VBAW_value_for_key_0x_p...
mov r9, r14
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x18001c4db
lea rdx, [r15 - 2]
mov rcx, rbx
mov word [rbx + 0x1fffe], r15w
call fcn.180053398
lea rcx, [rsp + 0x30]
mov r9, rbx
lea r8, [rax + 1]
mov rdx, rdi
mov qword [rsp + 0x20], 0xffffffffffffffff
call fcn.180054798
test eax, eax
je 0x18001c4b4
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
mov r8d, esi
mov rdx, rbx
call fcn.180053f50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, 0x6d
lea r9, str._GetVBAWarningsValue
lea rcx, str...MacroManager.cpp
lea r8d, [rdx - 0x6a]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
call fcn.180001b40
jmp 0x18001c50b
lea rcx, str.Error__d_in_swprintf_s_n
mov edx, esi
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x18001c505
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test rdi, rdi
je 0x18001c518
mov rcx, rdi
call fcn.180053a94
test rbx, rbx
je 0x18001c525
mov rcx, rbx
call fcn.180053a94
lea rax, [rsp + 0x80]
lea r9, [rsp + 0x88]
lea rdx, str.VBAWarnings
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
cmove ebp, dword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x1000a
lea esi, [rax + 0x1e]
mov qword [rsp + 0x30], r15
call fcn.180053ad4
mov ecx, 0x2000a
mov rdi, rax
call fcn.180053ad4
mov rbx, rax
test rdi, rdi
je 0x18001c648
test rax, rax
je 0x18001c648
lea r8, str._MM__Returning_VBAW_value_for_key_0x_p:__d
mov r9, r14
mov edx, 0xffff
mov rcx, rax
mov dword [rsp + 0x20], ebp
call fcn.180053a4c
test eax, eax
jle 0x18001c631
mov rdx, 0xfffffffffffffffe
mov rcx, rbx
mov word [rbx + 0x1fffe], r15w
call fcn.180053398
lea rcx, [rsp + 0x30]
mov r9, rbx
lea r8, [rax + 1]
mov rdx, rdi
mov qword [rsp + 0x20], 0xffffffffffffffff
call fcn.180054798
test eax, eax
je 0x18001c60a
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
mov r8d, esi
mov rdx, rbx
call fcn.180053f50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, 0x72
lea r9, str._GetVBAWarningsValue
lea rcx, str...MacroManager.cpp
lea r8d, [rdx - 0x6f]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
call fcn.180001b40
jmp 0x18001c661
lea rcx, str.Error__d_in_swprintf_s_n
mov edx, esi
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x18001c65b
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test rdi, rdi
je 0x18001c66e
mov rcx, rdi
call fcn.180053a94
test rbx, rbx
je 0x18001c67b
mov rcx, rbx
call fcn.180053a94
mov eax, ebp
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret