Function at 0x1400224b0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x250
mov rax, qword [0x140173028]
xor rax, rsp
mov qword [rsp + 0x248], rax
mov sil, 1
cmp qword [0x14017f720], 0
jne 0x1400226f8
mov rcx, qword [0x14017f700]
test rcx, rcx
je 0x1400225af
test byte [0x140174ed8], 1
je 0x1400226f8
cmp byte [rcx + 0x17], 0
jns 0x140022507
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 [0x14017f720], rax
inc rax
cmp rax, 1
ja 0x1400226f8
lea rdi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.140085d30
mov word [rdi], 0
mov ecx, 0x104
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1400226f6
cmp eax, 0x104
ja 0x1400226f6
mov rcx, qword [0x14017f700]
lea rdx, [rsp + 0x40]
call fcn.140047e90
mov rcx, qword [0x14017f700]
movzx eax, byte [rcx + 0x17]
test al, al
js 0x14002272a
mov rdx, rcx
jmp 0x140022731
movabs r14, 0x7fffffffffffffef
mov ecx, 0x18
call fcn.140082758
mov rsi, rax
lea rdi, [rsp + 0x40]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.140085d30
xor ecx, ecx
mov rdx, rdi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
movaps xmm0, xmmword [0x14014df90]
movups xmmword [rsi], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi + 0x10], rax
mov rcx, rdi
call fcn.14009db00
cmp rax, r14
ja 0x1400227c1
mov rdi, rax
cmp rax, 0xb
jae 0x140022640
mov byte [rsi + 0x17], dil
cmp rdi, 3
jne 0x140022719
movzx eax, word [rsp + 0x44]
mov word [rsi + 4], ax
mov eax, dword [rsp + 0x40]
mov dword [rsi], eax
mov r15, rsi
jmp 0x140022679
lea rbx, [rdi + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.140082758
mov r15, rax
mov qword [rsi], rax
add r14, 0x11
or r14, rbx
mov qword [rsi + 0x10], r14
mov qword [rsi + 8], rdi
mov r8, rdi
add r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140085680
mov word [r15 + rdi*2], 0
movzx r8d, byte [rsi + 0x17]
test r8b, r8b
jns 0x14002268e
mov r8, qword [rsi + 8]
mov rcx, rsi
mov dx, 0x5c
call fcn.140048616
cmp rax, 0xffffffffffffffff
je 0x1400226dc
movzx ecx, byte [rsi + 0x17]
mov rdx, rcx
test cl, cl
jns 0x1400226af
mov rdx, qword [rsi + 8]
cmp rdx, rax
jbe 0x1400227b9
mov rdx, rax
inc rdx
test cl, cl
js 0x1400226ce
mov word [rsi + rax*2 + 2], 0
mov byte [rsi + 0x17], dl
jmp 0x1400226dc
mov rcx, qword [rsi]
mov word [rcx + rax*2 + 2], 0
mov qword [rsi + 8], rdx
lea rdx, str.debug.log
mov rcx, rsi
call fcn.140048822
mov qword [0x14017f700], 0
xor esi, esi
mov rcx, qword [rsp + 0x248]
xor rcx, rsp
call fcn.140083c00
mov eax, esi
add rsp, 0x250
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov r15, rsi
test rdi, rdi
jne 0x140022666
jmp 0x140022679
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
cmp word [rdx + rax*2 - 2], 0x5c
je 0x14002274c
lea rdx, [0x140153e72]
call fcn.140048822
mov rcx, qword [0x14017f700]
lea rdx, str.debug.log
call fcn.140048822
mov rcx, qword [0x14017f700]
cmp byte [rcx + 0x17], 0
jns 0x140022768
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 [0x14017f720], rax
inc rax
cmp rax, 1
ja 0x1400226f8
mov qword [0x14017f720], 0
jmp 0x1400226f6
mov rcx, rsi
call fcn.1400cce26
mov rcx, rsi
call fcn.1400cce14
int3