Function at 0x140011b18
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x438]
sub rsp, 0x520
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rdi
mov rax, qword [0x1401a7d98]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov r14, r8
mov rdi, rdx
xor r15d, r15d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], r15
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], r15
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x140011bd9
movaps xmm0, xmmword [rdi]
movaps xmmword [rbp + 0x10], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbp + 0x20], xmm1
movups xmm0, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movups xmmword [rbp + 0x28], xmm0
movsd xmm1, qword [0x14012f2d0]
movsd qword [rbp + 0x38], xmm1
mov rax, rdx
neg rax
sbb rcx, rcx
and ecx, 0x30
movaps xmm0, xmmword [r8]
movups xmmword [rbp + rcx + 0x10], xmm0
movsd xmm1, qword [r8 + 0x10]
movsd qword [rbp + rcx + 0x20], xmm1
movups xmm0, xmmword [reloc.OLEAUT32.dll_VariantClear]
movups xmmword [rbp + rcx + 0x28], xmm0
movsd xmm1, qword [str..cdf]
movsd qword [rbp + rcx + 0x38], xmm1
neg rdx
sbb rdx, rdx
and edx, 2
add rdx, 2
lea rax, [rdx + rdx*2]
movups xmm0, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movups xmmword [rbp + rax*8 + 0x10], xmm0
movsd xmm1, qword [0x14012e448]
movsd qword [rbp + rax*8 + 0x20], xmm1
inc rdx
lea r9, [rsp + 0x68]
lea r8, [rbp + 0x10]
call fcn.1400c5f40
mov ebx, eax
test eax, eax
js 0x140012029
cmp qword [rdi], r15
jne 0x140011cba
lea rdx, [rbp + 0x200]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x140011ca1
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, eax
call fcn.1400cc8ac
mov ebx, eax
shr eax, 0x1f
xor al, 1
je 0x140012029
int3
mov rdx, rdi
lea rcx, [rbp + 0x200]
call fcn.1400c5bb0
mov ebx, eax
test eax, eax
js 0x140012029
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
xorps xmm1, xmm1
movups xmmword [rbp - 0x20], xmm1
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x2e
mov rdx, r14
mov ecx, 2
call fcn.1400c5c48
mov ebx, eax
test eax, eax
js 0x140012029
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rax
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rbp - 0x20], xmm0
movsd xmm1, qword [rsp + 0x60]
movsd qword [rbp - 0x10], xmm1
movups xmm0, xmmword [reloc.OLEAUT32.dll_VariantClear]
movups xmmword [rbp - 8], xmm0
movsd xmm1, qword [str..cat]
movsd qword [rbp + 8], xmm1
lea r9, [rbp - 0x38]
lea r8, [rbp - 0x20]
lea edx, [rax + 2]
call fcn.1400c5f40
mov ebx, eax
test eax, eax
js 0x140012004
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x38]
call fcn.1400c72e0
mov ebx, eax
test eax, eax
js 0x140011fdf
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
lea rdx, [rbp - 0x68]
mov rcx, rdi
call fcn.1400c72e0
mov ebx, eax
test eax, eax
js 0x140011fba
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.1400c72e0
mov ebx, eax
test eax, eax
js 0x140011f95
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [0x14012f968]
movaps xmmword [rbp + 0x90], xmm0
movsd xmm1, qword [str._CatalogHeader_]
movsd qword [rbp + 0xa0], xmm1
movups xmm0, xmmword [reloc.OLEAUT32.dll_VariantInit]
movups xmmword [rbp + 0xa8], xmm0
movsd xmm1, qword [str._r_nName]
movsd qword [rbp + 0xb8], xmm1
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp + 0xc0], xmm0
movsd xmm1, qword [rbp - 0x40]
movsd qword [rbp + 0xd0], xmm1
movups xmm0, xmmword [reloc.OLEAUT32.dll_VariantTimeToDosDateTime]
movups xmmword [rbp + 0xd8], xmm0
movsd xmm1, qword [str._r_nResultDir]
movsd qword [rbp + 0xe8], xmm1
movups xmm0, xmmword [rbp - 0x68]
movaps xmmword [rbp + 0xf0], xmm0
movsd xmm1, qword [rbp - 0x58]
movsd qword [rbp + 0x100], xmm1
movups xmm0, xmmword [0x14012f920]
movups xmmword [rbp + 0x108], xmm0
movsd xmm1, qword [str._r_n_r_n_CatalogFiles_]
movsd qword [rbp + 0x118], xmm1
movups xmm0, xmmword [reloc.OLEAUT32.dll_VariantClear]
movaps xmmword [rbp + 0x120], xmm0
movsd xmm1, qword [str._r_n_HASH_]
movsd qword [rbp + 0x130], xmm1
movups xmm5, xmmword [rbp - 0x80]
movups xmmword [rbp + 0x138], xmm5
movsd xmm4, qword [rbp - 0x70]
movsd qword [rbp + 0x148], xmm4
movups xmm3, xmmword [0x14012f8f0]
movaps xmmword [rbp + 0x150], xmm3
movsd xmm1, qword [0x14012f900]
movsd qword [rbp + 0x160], xmm1
movups xmmword [rbp + 0x168], xmm5
movsd qword [rbp + 0x178], xmm4
movups xmm2, xmmword [reloc.OLEAUT32.dll_SysReAllocString]
movaps xmmword [rbp + 0x180], xmm2
movsd xmm0, qword [0x14012f8e8]
movsd qword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x198], xmm5
movsd qword [rbp + 0x1a8], xmm4
movaps xmmword [rbp + 0x1b0], xmm3
movsd qword [rbp + 0x1c0], xmm1
movups xmmword [rbp + 0x1c8], xmm5
movsd qword [rbp + 0x1d8], xmm4
movaps xmmword [rbp + 0x1e0], xmm2
movsd qword [rbp + 0x1f0], xmm0
lea r9, [rsp + 0x50]
lea r8, [rbp + 0x90]
lea edx, [rax + 0xf]
xor ecx, ecx
call fcn.1400c75f0
mov ebx, eax
test eax, eax
js 0x140011f6d
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
call fcn.1400cd074
mov ebx, eax
test eax, eax
jns 0x14001205a
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140011f95
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rsp + 0x60], xmm0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140011fba
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x70], xmm0
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140011fdf
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x68], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x58], xmm0
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140012004
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x40], xmm0
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140012029
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x38], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x28], xmm0
cmp qword [rsp + 0x78], r15
je 0x140012053
mov rcx, qword [rsp + 0x78]
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rsp + 0x68], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rsp + 0x78], xmm0
mov eax, ebx
jmp 0x140012143
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x140012082
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rsp + 0x60], xmm0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400120a7
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x70], xmm0
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400120cc
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x68], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x58], xmm0
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1400120f1
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x40], xmm0
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140012116
call fcn.140012410
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
movups xmmword [rbp - 0x38], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x28], xmm0
cmp qword [rsp + 0x78], r15
je 0x140012140
mov rcx, qword [rsp + 0x78]
call fcn.140012410
xorps xmm0, xmm0
xor ecx, ecx
mov qword [rbp - 0x10], rcx
movups xmmword [rsp + 0x68], xmm0
movsd xmm0, qword [rbp - 0x10]
movsd qword [rsp + 0x78], xmm0
mov eax, r15d
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.140109af0
lea r11, [rsp + 0x520]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret