Function at 0x140004990
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 0x140004eb0
lea r13, [rsp + 0x90]
mov r8d, 0x104
mov rcx, rax
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x140004e8b
lea r14, [rsp + 0x330]
lea rdi, [rsp + 0x2b0]
mov rcx, r14
mov qword [rsp + 0x60], rdi
call fcn.1400bd3a0
mov rax, qword [0x140133a00]
mov rbx, qword [0x140133500]
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.1400be490
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.1400be490
mov rax, qword [rbx + 8]
mov rdx, qword [rbx + 0x30]
mov rbp, qword [0x140133590]
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 [0x1401337b0]
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.1400a55a0
mov rax, qword [0x140133580]
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.1400be490
lea rcx, [rsp + 0x1a0]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edx, eax
mov rcx, r15
call fcn.14007b1d0
mov rcx, rax
mov r8d, 9
lea rdx, str.Windows_
call fcn.1400c0700
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 0x140004ed8
mov rdx, qword [rsp + 0x2e0]
mov r9, qword [rsp + 0x2e8]
cmp rax, rdx
ja 0x140004eb8
sub rdx, r9
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], rdx
xor edx, edx
call fcn.1400a6b80
mov r15, qword [rsp + 0x70]
mov rcx, r13
mov rdx, r15
call sub.msvcrt.dll_strstr
mov r13, rax
cmp r15, rbx
je 0x140004ca2
mov rax, qword [rsp + 0x80]
mov rcx, r15
lea rdx, [rax + 1]
call fcn.1400c6c00
test r13, r13
je 0x140004da8
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 [0x140133580]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
cmp rcx, qword [rsp + 0x50]
je 0x140004d0b
mov rax, qword [rsp + 0x320]
lea rdx, [rax + 1]
call fcn.1400c6c00
mov rax, qword [0x1401337b0]
mov rcx, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
call fcn.1400a56a0
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 [0x140133a00]
mov qword [rsp + 0x2b8], 0
add rax, 0x10
mov qword [rsp + 0x330], rax
call fcn.1400bd450
mov eax, 1
jmp 0x140004e96
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 [0x140133580]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
cmp rcx, qword [rsp + 0x50]
je 0x140004dff
mov rax, qword [rsp + 0x320]
lea rdx, [rax + 1]
call fcn.1400c6c00
mov rax, qword [0x1401337b0]
mov rcx, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x2c8], rax
call fcn.1400a56a0
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 [0x140133a00]
mov qword [rsp + 0x2b8], 0
add rax, 0x10
mov qword [rsp + 0x330], rax
call fcn.1400bd450
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 0x140004e96
sub rax, r9
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1400a6b80
jmp 0x140004c76
lea rdx, [rsp + 0x310]
mov rcx, r15
call fcn.1400a8f40
jmp 0x140004c76