Function at 0x1400565d0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x258
mov rax, qword [0x1400e8040]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov sil, 1
cmp qword [0x1400f9268], 0
jne 0x140056a86
mov rdi, qword [0x1400f9270]
test rdi, rdi
je 0x140056621
test byte [0x1400ea478], 1
jne 0x14005686e
jmp 0x140056a86
movabs rbx, 0x7fffffffffffffff
mov ecx, 0x18
call fcn.14008bb48
mov rdi, rax
lea r14, [rsp + 0x40]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1400bc700
xor ecx, ecx
mov rdx, r14
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movaps xmm0, xmmword [0x1400c9a30]
movups xmmword [rdi], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x10], rax
mov rcx, r14
call fcn.1400a7388
mov r15, rax
lea rax, [rbx - 8]
cmp r15, rax
ja 0x140056aab
cmp r15, 0xa
ja 0x14005669d
mov byte [rdi + 0x17], r15b
mov rcx, rdi
jmp 0x1400566de
lea rax, [rbx - 3]
and rax, r15
add rax, 4
mov r12, r15
or r12, 3
cmp r12, 0xb
cmove r12, rax
inc r12
js 0x140056ab3
lea rcx, [r12 + r12]
call fcn.14008bb48
mov rcx, rax
mov qword [rdi], rax
lea rax, [rbx + r12]
inc rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
lea r12, [rcx + r15*2]
cmp rcx, r14
seta al
cmp r12, r14
setbe dl
or dl, al
je 0x140056aa9
test r15, r15
je 0x14005670b
add r15, r15
lea rdx, [rsp + 0x40]
mov r8, r15
call fcn.1400bc060
mov word [r12], 0
movsx rax, byte [rdi + 0x17]
mov r8, rax
mov rdx, rdi
test rax, rax
js 0x140056729
test r8, r8
jne 0x140056735
jmp 0x140056793
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
test r8, r8
je 0x140056793
add r8, r8
nop dword [rax + rax]
test r8, r8
je 0x140056793
lea rcx, [r8 - 2]
cmp word [rdx + r8 - 2], 0x5c
mov r8, rcx
jne 0x140056740
cmp rcx, 0xfffffffffffffffe
je 0x140056793
sar rcx, 1
lea rdx, [rcx + 1]
test al, al
js 0x140056777
cmp rcx, rax
jae 0x140056ab8
mov byte [rdi + 0x17], dl
mov rax, rdi
jmp 0x140056788
cmp qword [rdi + 8], rcx
jbe 0x140056ab8
mov rax, qword [rdi]
mov qword [rdi + 8], rdx
mov word [rax + rcx*2 + 2], 0
movzx eax, byte [rdi + 0x17]
test al, al
js 0x1400567af
movzx r9d, al
lea rcx, [r9 - 2]
mov ebx, 0xa
mov rax, rdi
cmp rcx, 9
jb 0x1400567c6
jmp 0x140056803
and rbx, qword [rdi + 0x10]
dec rbx
mov r9, qword [rdi + 8]
mov rax, rbx
sub rax, r9
cmp rax, 9
jae 0x140056800
mov r8, r9
sub r8, rbx
add r8, 9
lea rax, str.debug.log
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], 9
mov qword [rsp + 0x28], 0
mov rcx, rdi
mov rdx, rbx
call fcn.14004bd50
jmp 0x14005685a
mov rax, qword [rdi]
lea rcx, [rax + r9*2]
lea rdx, [rax + r9*2]
add rdx, 0x12
lea r8, str.debug.log
cmp rcx, r8
seta r10b
cmp rdx, r8
setbe dl
or dl, r10b
je 0x140056aa9
movups xmm0, xmmword [str.debug.log]
movups xmmword [rcx], xmm0
mov word [rcx + 0x10], 0x67
lea rcx, [r9 + 9]
cmp byte [rdi + 0x17], 0
js 0x14005684e
and cl, 0x7f
mov byte [rdi + 0x17], cl
jmp 0x140056852
mov qword [rdi + 8], rcx
mov word [rax + r9*2 + 0x12], 0
mov qword [0x1400f9270], rdi
test byte [0x1400ea478], 1
je 0x140056a86
cmp byte [rdi + 0x17], 0
jns 0x140056877
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 [0x1400f9268], rax
inc rax
cmp rax, 1
ja 0x140056a86
lea rdi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.1400bc700
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 0x140056a84
mov rcx, qword [0x1400f9270]
lea rdx, [rsp + 0x40]
call fcn.14004c1b0
mov rcx, qword [0x1400f9270]
movsx rax, byte [rcx + 0x17]
test rax, rax
js 0x140056961
test al, al
je 0x140056aa9
mov r8, rcx
mov rdx, rax
cmp word [r8 + rdx*2 - 2], 0x5c
je 0x140056945
lea rdx, [0x1400cbfe6]
call fcn.14004c4c0
mov rcx, qword [0x1400f9270]
movzx eax, byte [rcx + 0x17]
test al, al
js 0x14005697c
movzx r9d, al
lea r8, [r9 - 2]
mov edx, 0xa
mov rax, rcx
cmp r8, 9
jb 0x14005699d
jmp 0x1400569d4
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x140056aa9
mov r8, qword [rcx]
cmp word [r8 + rdx*2 - 2], 0x5c
jne 0x14005692e
jmp 0x140056945
movabs rdx, 0x7fffffffffffffff
and rdx, qword [rcx + 0x10]
dec rdx
mov r9, qword [rcx + 8]
mov rax, rdx
sub rax, r9
cmp rax, 9
jae 0x1400569d1
mov r8, r9
sub r8, rdx
add r8, 9
lea rax, str.debug.log
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x30], 9
mov qword [rsp + 0x28], 0
call fcn.14004bd50
jmp 0x140056a2c
mov rax, qword [rcx]
lea rdx, [rax + r9*2]
lea r8, [rax + r9*2]
add r8, 0x12
lea r10, str.debug.log
cmp rdx, r10
seta r11b
cmp r8, r10
setbe r8b
or r8b, r11b
je 0x140056aa9
movups xmm0, xmmword [str.debug.log]
movups xmmword [rdx], xmm0
mov word [rdx + 0x10], 0x67
lea rdx, [r9 + 9]
cmp byte [rcx + 0x17], 0
js 0x140056a20
and dl, 0x7f
mov byte [rcx + 0x17], dl
jmp 0x140056a24
mov qword [rcx + 8], rdx
mov word [rax + r9*2 + 0x12], 0
mov rcx, qword [0x1400f9270]
cmp byte [rcx + 0x17], 0
jns 0x140056a3c
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 [0x1400f9268], rax
inc rax
cmp rax, 1
ja 0x140056a86
mov qword [0x1400f9268], 0
xor esi, esi
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14008cf80
mov eax, esi
add rsp, 0x258
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
ud2
mov rcx, rdi
call fcn.14001ba70
call fcn.14001bab0
mov rcx, rdi
call fcn.14001bf40
int3