Function at 0x1400381f0
Capabilities:
Get common file path

Disassembly:
push rbx
push rsi
push rdi
push r13
sub rsp, 0x338
mov rax, qword [0x140112ac0]
xor rax, rsp
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x3a8]
mov rsi, qword [rsp + 0x3b0]
mov r10, qword [rsp + 0x398]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x390]
mov r13, rdx
mov rdx, qword [rsp + 0x3a0]
mov rbx, r9
mov r9, qword [rsp + 0x380]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x388]
mov rdi, r8
mov r11, rcx
mov r8, rbx
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x60], rsi
call r11
test eax, eax
je 0x14003828c
mov eax, 1
jmp 0x140038341
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x58], eax
call fcn.14000a070
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x10]
mov rcx, rax
call fcn.14000a440
test al, al
jne 0x1400382b7
xor eax, eax
jmp 0x140038341
mov edx, 0x18
mov rcx, rsi
mov qword [rsp + 0x330], rbp
lea r8d, [rdx - 0x17]
mov qword [rsp + 0x328], r12
call fcn.1400112b0
test al, al
je 0x140038325
call fcn.140011160
mov rbx, rax
test rax, rax
je 0x140038325
xor esi, esi
mov rbp, rsi
mov r12, rsi
test rdi, rdi
je 0x140038306
mov rcx, rdi
call fcn.1400118f0
mov rbp, rax
test rax, rax
je 0x140038325
test r13, r13
je 0x14003835e
mov rcx, r13
call fcn.1400118f0
mov r12, rax
test rax, rax
jne 0x14003835e
xor edx, edx
mov rcx, rbp
call fcn.140011680
mov ecx, dword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rbp, qword [rsp + 0x330]
mov r12, qword [rsp + 0x328]
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.1400ac220
add rsp, 0x338
pop r13
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x320], r14
mov qword [rsp + 0x318], r15
test rbp, rbp
je 0x140038379
mov r15, qword [rbp + 8]
jmp 0x14003837c
mov r15, rsi
test r12, r12
je 0x140038388
mov r13, qword [r12 + 8]
jmp 0x14003838b
mov r13, rsi
lea rdx, [rsp + 0xf0]
mov ecx, 0x104
mov r14, rsi
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1400383b6
lea r14, [rsp + 0xf0]
cmp eax, 0x104
cmovae r14, rsi
lea rcx, [rsp + 0x68]
mov rdx, rbx
call fcn.140010c50
xor edx, edx
lea rcx, [rsp + 0x94]
lea r8d, [rdx + 0x5c]
mov dword [rsp + 0x90], esi
call fcn.1400ac250
mov rax, qword [rsp + 0x60]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], 0x18
call fcn.140010bb0
mov rdi, rax
test rax, rax
jne 0x140038410
lea ebx, [rax + 4]
jmp 0x140038557
lea rcx, [rsp + 0x50]
mov ebx, 4
mov dword [rax], 0xd
mov dword [rax + 4], esi
mov qword [rax + 0x78], 0xe8
mov qword [rsp + 0x50], r13
mov qword [rax + 0x68], rbx
call fcn.1400354a0
mov r8, r13
xor edx, edx
mov rcx, rdi
mov r9, rax
mov dword [rsp + 0x28], 1
mov byte [rsp + 0x20], sil
call fcn.1400371a0
test al, al
je 0x140038557
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], r15
call fcn.1400354a0
lea edx, [rbx - 3]
mov r8, r15
mov rcx, rdi
mov r9, rax
mov dword [rsp + 0x28], 1
mov byte [rsp + 0x20], sil
call fcn.1400371a0
test al, al
je 0x140038557
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x50], r14
call fcn.1400354a0
lea edx, [rbx - 2]
mov r8, r14
mov rcx, rdi
mov r9, rax
mov dword [rsp + 0x28], 1
mov byte [rsp + 0x20], sil
call fcn.1400371a0
test al, al
je 0x140038557
movaps xmm0, xmmword [rsp + 0x80]
mov r8, qword [rsp + 0x60]
lea r9d, [rbx + 0x14]
lea edx, [rbx - 1]
mov rcx, rdi
mov dword [rsp + 0x28], 6
movdqa xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x20], 1
call fcn.1400371a0
test al, al
je 0x140038557
lea r8, [rsp + 0x90]
lea rcx, [rsp + 0x68]
mov rdx, rdi
call fcn.140010e30
mov ebx, eax
cmp eax, 0xa
je 0x140038557
mov rcx, qword [rdi + 0xc0]
lea rdx, [rdi + rcx]
lea rcx, [rsp + 0x80]
call fcn.14000a2c0
test al, al
jne 0x14003854a
lea rcx, [rsp + 0x68]
mov rdx, rdi
call fcn.140010d90
mov ebx, 2
jmp 0x140038557
lea rcx, [rsp + 0x68]
mov rdx, rdi
call fcn.140010d90
xor edx, edx
mov rcx, rbp
call fcn.140011680
xor edx, edx
mov rcx, r12
call fcn.140011680
mov r15, qword [rsp + 0x318]
mov r14, qword [rsp + 0x320]
test ebx, ebx
jne 0x140038325
mov ecx, dword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [rsp + 0x98], esi
sete sil
mov eax, esi
jmp 0x140038331