Function at 0x140072a90
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x250
mov rax, qword [0x1401c1028]
xor rax, rsp
mov qword [rsp + 0x248], rax
mov sil, 1
cmp qword [0x1401d3128], 0
jne 0x140072da8
mov rdi, qword [0x1401d3118]
test rdi, rdi
je 0x140072ae3
test byte [0x1401c3550], 1
jne 0x140072c70
jmp 0x140072da8
movabs r12, 0x7ffffffffffffff7
mov ecx, 0x18
call fcn.14014b4a8
mov rbx, rax
lea r14, [rsp + 0x40]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.14014ead0
xor ecx, ecx
mov rdx, r14
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movaps xmm0, xmmword [0x1401940a0]
movups xmmword [rbx], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rbx + 0x10], rax
mov rcx, r14
call fcn.14016c344
cmp rax, r12
ja 0x140072dea
mov r15, rax
mov rdi, rbx
cmp rax, 0xa
ja 0x140072b5e
mov byte [rdi + 0x17], r15b
mov rcx, rdi
jmp 0x140072ba5
lea rax, [r12 + 5]
and rax, r15
add rax, 4
mov r13, r15
or r13, 3
cmp r13, 0xb
cmove r13, rax
inc r13
js 0x140072df0
lea rcx, [r13*2]
call fcn.14014b4a8
mov rcx, rax
mov qword [rdi], rax
lea rax, [r12 + r13]
add rax, 9
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
lea r12, [rcx + r15*2]
cmp r12, r14
seta al
cmp rcx, r14
ja 0x140072bbc
test al, al
jne 0x140072ded
test r15, r15
je 0x140072bd1
add r15, r15
lea rdx, [rsp + 0x40]
mov r8, r15
call fcn.14014e420
mov word [r12], 0
movzx ecx, byte [rdi + 0x17]
test cl, cl
mov rdx, qword [rdi + 8]
mov r9, rcx
cmovs r9, rdx
mov rax, qword [rdi]
cmovs rbx, rax
test r9, r9
je 0x140072c4d
add r9, r9
nop dword [rax + rax]
test r9, r9
je 0x140072c4d
lea r8, [r9 - 2]
cmp word [rbx + r9 - 2], 0x5c
mov r9, r8
jne 0x140072c00
cmp r8, 0xfffffffffffffffe
je 0x140072c4d
sar r8, 1
lea r9, [r8 + 1]
test cl, cl
js 0x140072c38
cmp r8, rcx
jae 0x140072df6
mov byte [rdi + 0x17], r9b
mov rax, rdi
jmp 0x140072c45
cmp rdx, r8
jbe 0x140072df6
mov qword [rdi + 8], r9
mov word [rax + r8*2 + 2], 0
lea rdx, str.debug.log
mov rcx, rdi
call fcn.140051446
mov qword [0x1401d3118], rdi
test byte [0x1401c3550], 1
je 0x140072da8
cmp byte [rdi + 0x17], 0
jns 0x140072c79
mov rdi, qword [rdi]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov rcx, rdi
mov edx, 4
mov r8d, 3
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1401d3128], rax
inc rax
cmp rax, 1
ja 0x140072da8
lea rdi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.14014ead0
mov word [rsp + 0x40], 0
mov ecx, 0x104
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
add eax, 0xfffffefb
cmp eax, 0xfffffefc
jb 0x140072da6
mov rcx, qword [0x1401d3118]
lea rdx, [rsp + 0x40]
call fcn.140050e2a
mov rcx, qword [0x1401d3118]
movzx eax, byte [rcx + 0x17]
test al, al
js 0x140072dcd
test rax, rax
je 0x140072df3
mov rdx, rcx
cmp word [rdx + rax*2 - 2], 0x5c
je 0x140072d42
lea rdx, [0x14019a698]
call fcn.140051446
mov rcx, qword [0x1401d3118]
lea rdx, str.debug.log
call fcn.140051446
mov rcx, qword [0x1401d3118]
cmp byte [rcx + 0x17], 0
jns 0x140072d5e
mov rcx, qword [rcx]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov edx, 4
mov r8d, 3
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1401d3128], rax
inc rax
cmp rax, 1
ja 0x140072da8
mov qword [0x1401d3128], 0
xor esi, esi
mov rcx, qword [rsp + 0x248]
xor rcx, rsp
call fcn.14014c9b0
mov eax, esi
add rsp, 0x250
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rcx + 8]
test rax, rax
je 0x140072df3
mov rdx, qword [rcx]
cmp word [rdx + rax*2 - 2], 0x5c
jne 0x140072d2f
jmp 0x140072d42
int3
int3
int3
int3
int3