Function at 0x1400fb7f0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x90
mov r14, rdx
mov ebx, ecx
mov rax, qword [0x14030c028]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x74], ecx
mov eax, dword [0x1403227f8]
mov ecx, dword [0x14031d424]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400fbcef
cmp ebx, 9
jne 0x1400fb869
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140257200
mov rcx, r14
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.14010b250
mov r15, qword [0x1403227f0]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400fbcca
movzx r8d, byte [r15 + 0x60]
movsxd r9, ebx
test r8b, r8b
je 0x1400fb915
mov dword [rsp + 0x78], ebx
mov rsi, qword [r15 + 0x38]
test rsi, rsi
je 0x1400fba72
mov rax, rsi
shr rax, 1
movabs rcx, 0x5555555555555555
and rcx, rax
mov rax, rsi
sub rax, rcx
movabs rcx, 0x3333333333333333
mov rdx, rax
and rdx, rcx
shr rax, 2
and rax, rcx
add rax, rdx
mov rcx, rax
shr rcx, 4
add rcx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rcx
movabs rcx, 0x101010101010101
imul rcx, rax
shr rcx, 0x38
cmp rcx, 1
ja 0x1400fb990
lea r10, [rsi - 1]
and r10, r9
jmp 0x1400fb9e7
mov rsi, qword [r15 + 0x10]
test rsi, rsi
je 0x1400fb892
mov rax, rsi
shr rax, 1
movabs rcx, 0x5555555555555555
and rcx, rax
mov rax, rsi
sub rax, rcx
movabs rcx, 0x3333333333333333
mov rdx, rax
and rdx, rcx
shr rax, 2
and rax, rcx
add rax, rdx
mov rcx, rax
shr rcx, 4
add rcx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rcx
movabs rcx, 0x101010101010101
imul rcx, rax
shr rcx, 0x38
cmp rcx, 1
ja 0x1400fb9b1
lea r10, [rsi - 1]
and r10, r9
jmp 0x1400fbc4d
mov r10, r9
cmp rsi, r9
ja 0x1400fb9e7
mov rax, r9
or rax, rsi
shr rax, 0x20
je 0x1400fb9dd
mov rax, r9
xor edx, edx
div rsi
mov r10, rdx
jmp 0x1400fb9e7
mov r10, r9
cmp rsi, r9
ja 0x1400fbc4d
mov rax, r9
or rax, rsi
shr rax, 0x20
je 0x1400fbc44
mov rax, r9
xor edx, edx
div rsi
mov r10, rdx
jmp 0x1400fbc4d
mov eax, r9d
xor edx, edx
div esi
mov r10d, edx
mov rax, qword [r15 + 0x30]
mov rax, qword [rax + r10*8]
test rax, rax
je 0x1400fba72
mov rdi, qword [rax]
test rdi, rdi
je 0x1400fba72
lea r11, [rsi - 1]
jmp 0x1400fba21
cmp dword [rdi + 0x10], ebx
je 0x1400fbbd4
mov rdi, qword [rdi]
test rdi, rdi
je 0x1400fba72
mov rax, qword [rdi + 8]
cmp rax, r9
je 0x1400fba10
cmp ecx, 1
ja 0x1400fba40
and rax, r11
cmp rax, r10
je 0x1400fba19
jmp 0x1400fba72
cmp rax, rsi
jb 0x1400fba60
mov rdx, rax
or rdx, rsi
shr rdx, 0x20
je 0x1400fba67
xor edx, edx
div rsi
mov rax, rdx
nop dword [rax]
cmp rax, r10
je 0x1400fba19
jmp 0x1400fba72
xor edx, edx
div esi
mov eax, edx
cmp rax, r10
je 0x1400fba19
mov rdi, qword [r15 + 0x58]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [0x14029de10]
movaps xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.14001f0c0
test rdi, rdi
je 0x1400fbacb
lea rsi, [rsp + 0x50]
nop
mov rax, qword [rdi]
mov ecx, ebx
mov rdx, rsi
call qword [case.0x140112150.0]
test al, al
jne 0x1400fbacb
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x1400fbab0
movzx eax, byte [rsp + 0x67]
test al, al
jns 0x1400fbad9
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1400fbba7
lea rcx, [rsp + 0x50]
call fcn.1400f50a0
test al, al
je 0x1400fbb2b
lea rsi, [rsp + 0x38]
lea rdi, [rsp + 0x50]
mov rcx, rsi
mov rdx, rdi
call fcn.14010a450
mov rcx, rdi
mov rdx, rsi
call fcn.1400f24b0
mov rcx, rsi
call fcn.140030e80
movzx eax, byte [rsp + 0x67]
test al, al
jns 0x1400fbb26
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1400fbba7
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.1400f2450
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400fbcd7
cmp byte [r15 + 0x60], 0
jne 0x1400fbb99
lea rcx, [r15 + 8]
lea r8, [rsp + 0x74]
mov qword [rsp + 0x78], r8
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [0x1402b2fd0]
lea rdx, [rsp + 0x38]
call fcn.14004778e
mov rcx, qword [rsp + 0x38]
add rcx, 0x18
lea rdx, [rsp + 0x50]
call fcn.1400f2450
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x1400fbba9
xor esi, esi
lea rcx, [rsp + 0x50]
call fcn.140030e80
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140257200
mov eax, esi
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
test r8b, r8b
jne 0x1400fbc24
lea rsi, [rdi + 0x18]
lea rcx, [r15 + 8]
lea r8, [rsp + 0x78]
mov qword [rsp + 0x38], r8
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [0x1402b2fd0]
lea rdx, [rsp + 0x50]
call fcn.14004778e
mov rcx, qword [rsp + 0x50]
add rcx, 0x18
mov rdx, rsi
call fcn.1400f2450
add rdi, 0x18
mov rcx, r14
mov rdx, rdi
call fcn.1400f2450
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x1400fbbb3
mov eax, ebx
xor edx, edx
div esi
mov r10d, edx
mov rax, qword [r15 + 8]
mov rax, qword [rax + r10*8]
test rax, rax
je 0x1400fb892
mov rdi, qword [rax]
test rdi, rdi
je 0x1400fb892
lea r11, [rsi - 1]
jmp 0x1400fbc81
cmp dword [rdi + 0x10], ebx
je 0x1400fbc24
mov rdi, qword [rdi]
test rdi, rdi
je 0x1400fb892
mov rax, qword [rdi + 8]
cmp rax, r9
je 0x1400fbc70
cmp ecx, 1
ja 0x1400fbc94
and rax, r11
jmp 0x1400fbcc0
cmp rax, rsi
jb 0x1400fbcc0
mov rdx, rax
or rdx, rsi
shr rdx, 0x20
je 0x1400fbcaf
xor edx, edx
div rsi
mov rax, rdx
jmp 0x1400fbcc0
xor edx, edx
div esi
mov eax, edx
nop word cs:[rax + rax]
cmp rax, r10
je 0x1400fbc75
jmp 0x1400fb892
mov rcx, r15
call fcn.140111020
jmp 0x1400fb881
mov rcx, r15
call fcn.140111020
cmp byte [r15 + 0x60], 0
jne 0x1400fbb99
jmp 0x1400fbb50
lea rcx, [0x1403227f8]
call fcn.140255ea0
cmp dword [0x1403227f8], 0xffffffff
jne 0x1400fb83e
mov ecx, 0x68
call fcn.140255d40
mov rsi, rax
mov rcx, rax
call fcn.1400fbea0
mov qword [0x1403227f0], rsi
lea rcx, [0x1403227f8]
call fcn.140255f38
jmp 0x1400fb83e