Function at 0x14000b404
Capabilities:
Get common file path
Set current directory

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
mov dword [rax + 0x18], r8d
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2d20
call fcn.140090020
sub rsp, rax
mov eax, dword [0x1400bd7a0]
mov r14, r9
mov rbx, rdx
inc eax
mov rsi, rcx
cmp eax, 0x30
mov dword [0x1400bd7a0], eax
jl 0x14000b47a
mov rax, qword [rsp + 0x2d70]
mov r8d, dword [rsp + 0x2d78]
lea r9, str.include_depth_exceeded.__Make_sure_there_are_no_recursive_includes
mov rdx, r14
mov qword [rsp + 0x20], rax
call fcn.14000a6a8
dec dword [0x1400bd7a0]
xor al, al
jmp 0x14000b82d
xor edi, edi
mov r13b, 1
lea rcx, [rsp + 0x50]
mov ebp, edi
mov r12b, r13b
mov byte [rsp + 0x30], r13b
mov r15b, dil
mov qword [rsp + 0x58], rdi
call fcn.14001096c
lea rcx, [rsp + 0x50]
mov r8d, 0x2000
mov rdx, rbx
call fcn.140010744
cmp al, dil
jne 0x14000b4df
mov rax, qword [rsp + 0x2d70]
mov r8d, dword [rsp + 0x2d78]
lea r9, str.Error_opening_the_file
mov rdx, r14
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14000a6a8
jmp 0x14000b81a
lea rdx, [rsp + 0x6f0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea r9, [rsp + 0x40]
lea r8, [rsp + 0xc0]
mov edx, 0x104
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
lea r11, [rsp + 0x2b10]
lea r9, [rsp + 0x2900]
lea r8, [rsp + 0x4e0]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
mov qword [rsp + 0x20], r11
call fcn.140076efc
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x2d0]
call fcn.140075b0c
lea rdx, [rsp + 0x4e0]
lea rcx, [rsp + 0x2d0]
call fcn.140075ae0
lea rcx, [rsp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp r12b, 1
jne 0x14000b7ff
lea rdx, [rsp + 0x900]
lea rcx, [rsp + 0x50]
mov r8d, 0xfff
call fcn.140010dd4
cmp al, dil
je 0x14000b7ff
lea rdx, [rsp + 0x900]
inc ebp
mov rcx, rsi
mov dword [rsp + 0x34], ebp
call fcn.14000b008
cmp word [rsp + 0x900], 0x23
mov ebx, edi
lea r12, [rsp + 0x900]
jne 0x14000b5f2
lea rdx, str.include
lea rcx, [rsp + 0x900]
mov r8d, 8
call fcn.14007678c
cmp eax, edi
je 0x14000b5f2
mov ebx, 3
lea r12, [rsp + 0x902]
cmp word [r12], di
je 0x14000b649
mov ecx, 2
movzx eax, word [r12]
cmp eax, 0x22
je 0x14000b632
cmp eax, 0x27
je 0x14000b622
cmp eax, 0x3b
jne 0x14000b63f
cmp ebx, edi
je 0x14000b61b
cmp ebx, 3
jne 0x14000b63f
mov word [r12], di
jmp 0x14000b656
cmp ebx, 1
je 0x14000b636
cmp ebx, edi
jne 0x14000b63f
mov ebx, 1
jmp 0x14000b63f
cmp ebx, ecx
jne 0x14000b63a
mov ebx, edi
jmp 0x14000b63f
cmp ebx, edi
cmove ebx, ecx
add r12, rcx
cmp word [r12], di
jne 0x14000b5fe
cmp ebx, edi
je 0x14000b656
cmp ebx, 3
jne 0x14000b7da
lea rcx, [rsp + 0x900]
call fcn.140075704
cmp eax, edi
je 0x14000b676
lea rcx, [rsp + 0x900]
mov edx, eax
call fcn.14000af94
lea rcx, [rsp + 0x900]
mov r12b, dil
call fcn.140075704
mov ecx, 2
cmp eax, ecx
jle 0x14000b6bd
movsxd rbx, eax
movzx ecx, word [rsp + rbx*2 + 0x8fc]
and cx, 0x7f
call fcn.140076544
cmp eax, edi
je 0x14000b6bd
cmp word [rsp + rbx*2 + 0x8fe], 0x5f
jne 0x14000b6bd
mov word [rsp + rbx*2 + 0x8fe], di
mov r12b, 1
cmp r15b, 1
jne 0x14000b75a
cmp dword [rsi + 0x20], edi
je 0x14000b7c2
mov rcx, qword [rsi + 0x18]
mov rcx, qword [rcx]
call fcn.140075704
lea rcx, [rsp + 0x900]
mov rbx, rax
call fcn.140075704
lea rcx, [rax + rbx + 1]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140075b98
mov rdx, qword [rsi + 0x18]
mov rdx, qword [rdx]
mov rcx, rax
mov rbx, rax
call fcn.140075b0c
lea rdx, [rsp + 0x900]
mov rcx, rbx
call fcn.140075ae0
mov rcx, rbx
call fcn.140075704
cmp rax, 0xfff
jbe 0x14000b745
mov word [rbx + 0x1ffe], di
mov rcx, qword [rsi + 0x18]
mov rcx, qword [rcx]
call fcn.140075884
mov r11, qword [rsi + 0x18]
mov qword [r11], rbx
jmp 0x14000b7c2
lea rax, [rsp + 0x50]
lea r9, [rsp + 0x34]
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x900]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14000b850
cmp eax, edi
je 0x14000b7bb
cmp eax, 1
jle 0x14000b7be
cmp eax, 3
jle 0x14000b79b
cmp eax, 4
jne 0x14000b7be
mov byte [rsp + 0x30], dil
jmp 0x14000b7be
mov ebp, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x2d60]
lea r8, [rsp + 0x900]
mov edx, ebp
mov rcx, rsi
call fcn.14000aa18
jmp 0x14000b7c2
mov r13b, dil
mov ebp, dword [rsp + 0x34]
cmp r12b, 1
sete r15b
cmp r13b, 1
jne 0x14000b7ff
mov r12b, byte [rsp + 0x30]
jmp 0x14000b571
lea rax, [rsp + 0x900]
lea r9, str.Unterminated_string
mov r8d, ebp
mov rdx, r14
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14000a6a8
mov r13b, dil
lea rcx, [rsp + 0x50]
call fcn.14001096c
lea rcx, [rsp + 0x6f0]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dil, r13b
lea rcx, [rsp + 0x50]
call fcn.14001096c
dec dword [0x1400bd7a0]
mov al, dil
lea r11, [rsp + 0x2d20]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret