Function at 0x281b747d0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x448
xor edx, edx
mov r8d, ecx
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r12, rax
test rax, rax
je 0x281b74cf0
lea r13, [rsp + 0x90]
mov r8d, 0x104
mov rcx, rax
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x281b74ccb
lea r14, [rsp + 0x330]
lea rdi, [rsp + 0x2b0]
mov rcx, r14
mov qword [rsp + 0x60], rdi
call fcn.281c2f650
mov rax, qword [0x281ca4760]
mov rbx, qword [0x281ca4240]
mov qword [rsp + 0x408], 0
mov qword [rsp + 0x418], 0
add rax, 0x10
mov rsi, qword [rbx + 0x10]
mov qword [rsp + 0x420], 0
mov qword [rsp + 0x330], rax
xor eax, eax
mov word [rsp + 0x410], ax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x428], 0
mov rdx, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0x430], 0
mov qword [rsp + 0x2b0], rsi
mov qword [rsp + rax + 0x2b0], rdx
xor edx, edx
mov qword [rsp + 0x2b8], 0
add rdi, qword [rsi - 0x18]
mov rcx, rdi
call fcn.281c30740
mov rdi, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
lea r15, [rsp + 0x2c0]
xor edx, edx
mov rcx, qword [rdi - 0x18]
mov qword [rsp + 0x2c0], rdi
mov qword [rsp + 0x48], rax
add rcx, r15
mov qword [rcx], rax
call fcn.281c30740
mov rax, qword [rbx + 8]
mov rdx, qword [rbx + 0x30]
mov rbp, qword [0x281ca42e0]
mov qword [rsp + 0x38], rax
mov rax, qword [rax - 0x18]
mov qword [rsp + 0x40], rdx
mov qword [rsp + rax + 0x2b0], rdx
lea rax, [rbp + 0x18]
mov qword [rsp + 0x2b0], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x330], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x2c0], rax
mov rax, qword [0x281ca4510]
mov qword [rsp + 0x2d0], 0
mov qword [rsp + 0x2d8], 0
add rax, 0x10
mov qword [rsp + 0x2c8], rax
lea rax, [rsp + 0x300]
mov rcx, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x2e0], 0
mov qword [rsp + 0x2e8], 0
mov qword [rsp + 0x2f0], 0
mov qword [rsp + 0x2f8], 0
call fcn.281c17800
mov rax, qword [0x281ca42d0]
mov rcx, r14
mov dword [rsp + 0x308], 0x18
mov qword [rsp + 0x318], 0
add rax, 0x10
mov byte [rsp + 0x320], 0
mov qword [rsp + 0x2c8], rax
lea rax, [rsp + 0x320]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x310], rax
lea rax, [rsp + 0x2c8]
mov rdx, rax
mov qword [rsp + 0x68], rax
call fcn.281c30740
lea rcx, [rsp + 0x1a0]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edx, eax
mov rcx, r15
call fcn.281bed430
mov rcx, rax
mov r8d, 9
lea rdx, str.Windows_
call fcn.281c329b0
mov rax, qword [rsp + 0x2f0]
lea rbx, [rsp + 0x80]
mov qword [rsp + 0x78], 0
lea r15, [rsp + 0x70]
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x80], 0
test rax, rax
je 0x281b74d18
mov rdx, qword [rsp + 0x2e0]
mov r9, qword [rsp + 0x2e8]
cmp rax, rdx
ja 0x281b74cf8
sub rdx, r9
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], rdx
xor edx, edx
call fcn.281c18e30
mov r15, qword [rsp + 0x70]
mov rcx, r13
mov rdx, r15
call sub.msvcrt.dll_strstr
mov r13, rax
cmp r15, rbx
je 0x281b74ae2
mov rax, qword [rsp + 0x80]
mov rcx, r15
lea rdx, [rax + 1]
call fcn.281c38eb0
test r13, r13
je 0x281b74be8
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [rbp + 0x18]
mov rcx, qword [rsp + 0x310]
mov qword [rsp + 0x2b0], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x330], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x2c0], rax
mov rax, qword [0x281ca42d0]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
cmp rcx, qword [rsp + 0x50]
je 0x281b74b4b
mov rax, qword [rsp + 0x320]
lea rdx, [rax + 1]
call fcn.281c38eb0
mov rax, qword [0x281ca4510]
mov rcx, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
call fcn.281c17900
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, r14
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x2b0], rbx
mov rax, qword [rdi - 0x18]
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x2c0], rdi
mov qword [rsp + rax + 0x2c0], rbx
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0x2b0], rsi
mov rsi, qword [rsp + 0x30]
mov qword [rsp + rax + 0x2b0], rsi
mov rax, qword [0x281ca4760]
mov qword [rsp + 0x2b8], 0
add rax, 0x10
mov qword [rsp + 0x330], rax
call fcn.281c2f700
mov eax, 1
jmp 0x281b74cd6
lea rax, [rbp + 0x18]
mov rcx, qword [rsp + 0x310]
mov qword [rsp + 0x2b0], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x330], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x2c0], rax
mov rax, qword [0x281ca42d0]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
cmp rcx, qword [rsp + 0x50]
je 0x281b74c3f
mov rax, qword [rsp + 0x320]
lea rdx, [rax + 1]
call fcn.281c38eb0
mov rax, qword [0x281ca4510]
mov rcx, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
call fcn.281c17900
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, r14
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x2b0], rbx
mov rax, qword [rdi - 0x18]
mov qword [rsp + 0x2c0], rdi
mov rdi, qword [rsp + 0x48]
mov qword [rsp + rax + 0x2c0], rdi
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0x2b0], rsi
mov rsi, qword [rsp + 0x30]
mov qword [rsp + rax + 0x2b0], rsi
mov rax, qword [0x281ca4760]
mov qword [rsp + 0x2b8], 0
add rax, 0x10
mov qword [rsp + 0x330], rax
call fcn.281c2f700
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x448
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x281b74cd6
sub rax, r9
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.281c18e30
jmp 0x281b74ab6
lea rdx, [rsp + 0x310]
mov rcx, r15
call fcn.281c1b1f0
jmp 0x281b74ab6