Function at 0x180018ed0
Capabilities:
Check if file exists
Get file attributes
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x280
mov rax, qword [0x1800a2de8]
xor rax, rsp
mov qword [rsp + 0x270], rax
xor ebx, ebx
mov r12d, ebx
mov r15d, ebx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x34], ebx
cmp word [0x1800a7170], bx
jne 0x180018f21
call fcn.180002e60
cmp word [0x1800a6d20], 0
jne 0x180018f30
call fcn.180019c60
call fcn.1800018e0
mov r13d, eax
mov dword [rsp + 0x30], eax
mov ecx, 1
call fcn.1800017f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0x48], rbx
mov ecx, 0x1000a
call fcn.180053ad4
mov r14, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rdi, rax
test r14, r14
je 0x18001902a
test rax, rax
je 0x18001902a
lea r8, str._MBAE_DSI__Entering_DSI...
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x180019013
mov word [rdi + 0x1fffe], bx
mov rdx, 0xfffffffffffffffe
mov rcx, rdi
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rdi
mov rdx, r14
lea rcx, [rsp + 0x48]
call fcn.180054798
test eax, eax
je 0x180018fea
mov r8d, esi
mov rdx, rdi
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
lea r9, [0x18008c248]
mov edx, 0x375
mov r8d, 3
lea rcx, str...ApiNA.cpp
call fcn.180001b40
jmp 0x180019043
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x18001903d
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 r14, r14
je 0x180019050
mov rcx, r14
call fcn.180053a94
test rdi, rdi
je 0x18001905d
mov rcx, rdi
call fcn.180053a94
mov r8d, 0x104
lea rdx, [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1800192d1
test al, 0x10
jne 0x1800192d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0x38], rbx
mov ecx, 0x1000a
call fcn.180053ad4
mov r14, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rdi, rax
test r14, r14
je 0x180019175
test rax, rax
je 0x180019175
lea r9, [rsp + 0x60]
lea r8, str._MBAE_DSI__Current_process__s__exists
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x18001915e
mov word [rdi + 0x1fffe], bx
mov rdx, 0xfffffffffffffffe
mov rcx, rdi
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rdi
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.180054798
test eax, eax
je 0x180019135
mov r8d, esi
mov rdx, rdi
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
lea r9, [0x18008c248]
mov edx, 0x37d
mov r8d, 3
lea rcx, str...ApiNA.cpp
call fcn.180001b40
jmp 0x18001918e
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x180019188
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 r14, r14
je 0x18001919b
mov rcx, r14
call fcn.180053a94
test rdi, rdi
je 0x1800191a8
mov rcx, rdi
call fcn.180053a94
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0x58], rbx
mov ecx, 0x1000a
call fcn.180053ad4
mov r14, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rdi, rax
test r14, r14
je 0x180019291
test rax, rax
je 0x180019291
lea r9, [rsp + 0x60]
lea r8, str._MBAE_DSI__Checking_signature_for_process__s_...
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x18001927a
mov word [rdi + 0x1fffe], bx
mov rdx, 0xfffffffffffffffe
mov rcx, rdi
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rdi
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.180054798
test eax, eax
je 0x180019251
mov r8d, esi
mov rdx, rdi
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
lea r9, [0x18008c248]
mov edx, 0x37e
mov r8d, 3
lea rcx, str...ApiNA.cpp
call fcn.180001b40
jmp 0x1800192aa
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x1800192a4
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 r14, r14
je 0x1800192b7
mov rcx, r14
call fcn.180053a94
test rdi, rdi
je 0x1800192c4
mov rcx, rdi
call fcn.180053a94
lea rcx, [rsp + 0x60]
call fcn.1800087b0
mov r15d, eax
test r15d, r15d
je 0x1800193ff
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0x40], rbx
mov ecx, 0x1000a
call fcn.180053ad4
mov r14, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rdi, rax
test r14, r14
je 0x1800193be
test rax, rax
je 0x1800193be
lea r8, str._MBAE_DSI__Removing...
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x1800193a7
mov word [rdi + 0x1fffe], bx
mov rdx, 0xfffffffffffffffe
mov rcx, rdi
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rdi
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.180054798
test eax, eax
je 0x18001937e
mov r8d, esi
mov rdx, rdi
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r14
lea r9, [0x18008c248]
mov edx, 0x385
mov r8d, 3
lea rcx, str...ApiNA.cpp
call fcn.180001b40
jmp 0x1800193d7
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x1800193d1
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 r14, r14
je 0x1800193e4
mov rcx, r14
call fcn.180053a94
test rdi, rdi
je 0x1800193f1
mov rcx, rdi
call fcn.180053a94
call fcn.18001a030
mov r12d, ebx
test eax, eax
sete r12b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r14d, [rax + 0x1e]
mov qword [rsp + 0x50], rbx
mov ecx, 0x1000a
call fcn.180053ad4
mov rsi, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rdi, rax
test rsi, rsi
je 0x1800194e6
test rax, rax
je 0x1800194e6
lea r8, str._MBAE_DSI__Finished.
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x1800194ce
mov word [rdi + 0x1fffe], bx
mov rdx, 0xfffffffffffffffe
mov rcx, rdi
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rdi
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.180054798
test eax, eax
je 0x1800194a4
mov r8d, r14d
mov rdx, rdi
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rsi
lea r9, [0x18008c248]
mov edx, 0x389
mov r8d, 3
lea rcx, str...ApiNA.cpp
call fcn.180001b40
jmp 0x1800194ff
mov edx, r14d
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x1800194f9
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 rsi, rsi
je 0x18001950c
mov rcx, rsi
call fcn.180053a94
test rdi, rdi
je 0x18001951a
mov rcx, rdi
call fcn.180053a94
nop
cmp r13d, 1
mov eax, 1
cmove ebx, eax
mov ecx, ebx
call fcn.1800017f0
mov eax, r12d
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.180052be0
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret