Function at 0x140031f60
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
mov rax, qword [0x1400e4028]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov r14b, 1
cmp qword [0x1400f17f8], 0
jne 0x14003222b
mov rdi, qword [0x1400f17d8]
test rdi, rdi
jne 0x1400320eb
movabs r15, 0x7fffffffffffffef
mov ecx, 0x18
call fcn.14006986c
mov rdi, rax
lea rsi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.14006cd70
xor ecx, ecx
mov rdx, rsi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movaps xmm0, xmmword [0x1400d09d0]
movups xmmword [rdi], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x10], rax
mov rcx, rsi
call fcn.140083a98
cmp rax, r15
ja 0x140032256
mov rbx, rax
cmp rax, 0xb
jae 0x14003202e
mov byte [rdi + 0x17], bl
cmp rbx, 3
jne 0x140032058
movzx eax, word [rsp + 0x44]
mov word [rdi + 4], ax
mov eax, dword [rsp + 0x40]
mov dword [rdi], eax
mov rsi, rdi
jmp 0x140032073
lea rbp, [rbx + 8]
and rbp, 0xfffffffffffffff8
mov rcx, rbp
add rcx, rbp
call fcn.14006986c
mov rsi, rax
mov qword [rdi], rax
add r15, 0x11
or r15, rbp
mov qword [rdi + 0x10], r15
mov qword [rdi + 8], rbx
jmp 0x140032060
mov rsi, rdi
test rbx, rbx
je 0x140032073
mov r8, rbx
add r8, rbx
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.14006c6c0
mov word [rsi + rbx*2], 0
movzx r8d, byte [rdi + 0x17]
test r8b, r8b
jns 0x140032087
mov r8, qword [rdi + 8]
mov rcx, rdi
mov dx, 0x5c
call fcn.140052960
cmp rax, 0xffffffffffffffff
je 0x1400320d5
movzx ecx, byte [rdi + 0x17]
mov rdx, rcx
test cl, cl
jns 0x1400320a8
mov rdx, qword [rdi + 8]
cmp rdx, rax
jbe 0x14003224e
mov rdx, rax
inc rdx
test cl, cl
js 0x1400320c7
mov word [rdi + rax*2 + 2], 0
mov byte [rdi + 0x17], dl
jmp 0x1400320d5
mov rcx, qword [rdi]
mov word [rcx + rax*2 + 2], 0
mov qword [rdi + 8], rdx
lea rdx, str.debug.log
mov rcx, rdi
call fcn.14002eb70
mov qword [0x1400f17d8], rdi
test byte [0x1400ec068], 1
je 0x14003222b
cmp byte [rdi + 0x17], 0
jns 0x140032101
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 [0x1400f17f8], rax
inc rax
cmp rax, 1
ja 0x14003222b
lea rsi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.14006cd70
mov word [rsi], 0
mov ecx, 0x104
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
add eax, 0xfffffefb
cmp eax, 0xfffffefc
jb 0x140032228
mov rcx, qword [0x1400f17d8]
lea rdx, [rsp + 0x40]
call fcn.14002e640
mov rcx, qword [0x1400f17d8]
movzx eax, byte [rcx + 0x17]
test al, al
js 0x1400321a2
mov rdx, rcx
jmp 0x1400321a9
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
cmp word [rdx + rax*2 - 2], 0x5c
je 0x1400321c4
lea rdx, [0x1400d3a4e]
call fcn.14002eb70
mov rcx, qword [0x1400f17d8]
lea rdx, str.debug.log
call fcn.14002eb70
mov rcx, qword [0x1400f17d8]
cmp byte [rcx + 0x17], 0
jns 0x1400321e0
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 [0x1400f17f8], rax
inc rax
cmp rax, 1
ja 0x14003222b
mov qword [0x1400f17f8], 0
xor r14d, r14d
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14006ac50
mov eax, r14d
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, rdi
call fcn.1400b1d80
mov rcx, rdi
call fcn.1400b1d60
int3