Function at 0x14002fc90
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x2a0
mov rsi, rcx
mov rax, qword [0x14017b818]
xor rax, rsp
mov qword [rsp + 0x298], rax
mov word [rsp + 0x90], 0
lea rdx, [rsp + 0x90]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
add eax, 0xffffffff
cmp eax, 0x103
jbe 0x14002fcdd
xor esi, esi
jmp 0x14002fe00
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
movdqu xmmword [rsp + 0x80], xmm0
mov word [rsp + 0x70], 0
lea rcx, [rsp + 0x90]
call fcn.140120930
mov rdi, rax
cmp rax, 7
jbe 0x14002fd29
lea rcx, [rsp + 0x70]
lea r9, [rsp + 0x90]
mov rdx, rdi
call fcn.140005da0
jmp 0x14002fd50
mov qword [rsp + 0x80], rdi
mov r8, rdi
add r8, rdi
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x90]
call fcn.14011d3a0
mov word [rsp + rdi*2 + 0x70], 0
mov rax, qword [rsp + 0x80]
cmp qword [rsp + 0x88], 7
jbe 0x14002fd6a
mov rcx, qword [rsp + 0x70]
jmp 0x14002fd6f
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rax
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140028910
lea rbx, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
call fcn.14002b410
mov rcx, rsi
mov rdx, rbx
call fcn.140028aa0
mov rcx, rbx
call fcn.1400289c0
mov rcx, rdi
call fcn.1400289c0
mov rax, qword [rsp + 0x88]
cmp rax, 8
jb 0x14002fdfd
add rax, 1
js 0x14002fe1d
mov rcx, qword [rsp + 0x70]
add rax, rax
cmp rax, 0x1000
jb 0x14002fdf8
test cl, 0x1f
jne 0x14002fe1d
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14002fe1d
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
mov rcx, rax
jae 0x14002fe1d
call fcn.14011a350
mov sil, 1
mov rcx, qword [rsp + 0x298]
xor rcx, rsp
call fcn.14011a370
mov eax, esi
add rsp, 0x2a0
pop rbx
pop rdi
pop rsi
ret
call fcn.140120f80
ud2
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r14, rdx
mov ebx, ecx
mov rax, qword [0x14017b818]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x2c], ecx
call fcn.1400424c0
mov r15, rax
cmp ebx, 1
jne 0x140042222
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14011a370
mov rcx, r14
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14002fc90
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
mov rcx, r15
call fcn.140047ea0
mov r8b, byte [r15 + 0x90]
test r8b, r8b
mov ebp, ebx
je 0x140042280
movzx eax, bl
xor rax, rsi
imul rax, rdi
movzx ecx, bh
xor rcx, rax
imul rcx, rdi
mov eax, ebx
shr eax, 0x10
movzx eax, al
xor rax, rcx
imul rax, rdi
mov ecx, ebx
shr ecx, 0x18
xor rcx, rax
imul rcx, rdi
jmp 0x14004230f
mov eax, ebx
shr eax, 0x10
mov ecx, ebx
shr ecx, 0x18
movzx edx, bl
xor rdx, rsi
imul rdx, rdi
movzx esi, bh
xor rsi, rdx
imul rsi, rdi
movzx eax, al
xor rax, rsi
imul rax, rdi
xor rcx, rax
imul rcx, rdi
mov rax, qword [r15 + 0x38]
and rax, rcx
mov rsi, qword [r15 + 0x10]
mov r10, qword [r15 + 0x20]
lea r9, [rax + rax]
add r9, 1
shl rax, 4
mov rax, qword [r10 + rax]
mov rdx, rax
jmp 0x1400422e3
mov rdx, qword [rdx]
mov rdi, rsi
cmp rax, rsi
je 0x1400422f4
mov rbx, qword [r10 + r9*8]
mov rdi, qword [rbx]
mov ebx, ebp
cmp rdi, rdx
je 0x14004230f
cmp dword [rdx + 0x10], ebx
jne 0x1400422e0
cmp rsi, rdx
je 0x14004230f
add rdx, 0x18
mov rcx, r14
jmp 0x140042399
mov dword [rsp + 0x30], ebx
and rcx, qword [r15 + 0x78]
mov rbx, qword [r15 + 0x50]
mov rsi, qword [r15 + 0x60]
mov rax, rcx
shl rax, 4
mov rax, qword [rsi + rax]
add rcx, rcx
add rcx, 1
mov rdi, rax
jmp 0x140042343
mov rdi, qword [rdi]
mov rdx, rbx
cmp rax, rbx
je 0x140042352
mov rdx, qword [rsi + rcx*8]
mov rdx, qword [rdx]
cmp rdx, rdi
je 0x1400423af
mov edx, ebp
cmp dword [rdi + 0x10], ebp
jne 0x140042340
cmp rbx, rdi
je 0x1400423af
add rdi, 0x18
test r8b, r8b
jne 0x140042393
mov rcx, r15
add rcx, 8
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x30]
call fcn.140042f40
mov rcx, qword [rsp + 0x50]
add rcx, 0x18
mov rdx, rdi
call fcn.140028a30
mov rcx, r14
mov rdx, rdi
call fcn.140028a30
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x1400424a2
mov rsi, qword [r15 + 0x88]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rcx, [rsp + 0x50]
call fcn.140028890
test rsi, rsi
je 0x1400423f6
lea rdx, [rsp + 0x50]
mov ecx, ebp
call qword [rsi]
test al, al
jne 0x1400423f6
lea rdi, [rsp + 0x50]
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x1400423f6
mov ecx, dword [rsp + 0x2c]
mov rdx, rdi
call qword [rsi]
test al, al
je 0x1400423e0
cmp qword [rsp + 0x60], 0
je 0x140042496
lea rcx, [rsp + 0x50]
call fcn.14002b4f0
test al, al
je 0x140042440
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
call fcn.14002e180
mov rcx, rbx
mov rdx, rdi
call fcn.140028aa0
mov rcx, rdi
call fcn.1400289c0
cmp qword [rsp + 0x60], 0
je 0x140042496
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.140028a30
mov rcx, r15
call fcn.140047ea0
cmp byte [r15 + 0x90], 0
jne 0x140042488
mov rcx, r15
add rcx, 8
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
call fcn.140042f40
mov rcx, qword [rsp + 0x30]
add rcx, 0x18
lea rdx, [rsp + 0x50]
call fcn.140028a30
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x140042498
xor esi, esi
lea rcx, [rsp + 0x50]
call fcn.1400289c0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14011a370
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret