Function at 0x1400439d0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov qword [rsp + 0x20], rdx
mov ebx, ecx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x64], ecx
mov eax, dword [0x140225740]
mov ecx, dword [0x140222a94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140043d0e
cmp ebx, 9
je 0x140043dee
mov r12, qword [0x140225738]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140043e15
mov r8b, byte [r12 + 0x60]
movsxd r13, ebx
movabs r15, 0x5555555555555555
movabs r11, 0x3333333333333333
movabs r10, 0xf0f0f0f0f0f0f0f
movabs r9, 0x101010101010101
test r8b, r8b
jne 0x140043b25
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x140043b25
mov rax, rsi
shr rax, 1
and rax, r15
mov rcx, rsi
sub rcx, rax
mov rax, rcx
and rax, r11
shr rcx, 2
and rcx, r11
add rcx, rax
mov rbp, rcx
shr rbp, 4
add rbp, rcx
and rbp, r10
imul rbp, r9
shr rbp, 0x38
cmp rbp, 1
jbe 0x140043c57
mov rcx, r13
cmp rsi, r13
ja 0x140043ad8
mov rax, r13
xor edx, edx
div rsi
mov rcx, rdx
mov rax, qword [r12 + 8]
mov rax, qword [rax + rcx*8]
test rax, rax
je 0x140043b25
mov rdi, qword [rax]
test rdi, rdi
je 0x140043b25
lea r14, [rsi - 1]
mov rax, qword [rdi + 8]
cmp rax, r13
jne 0x140043b06
cmp dword [rdi + 0x10], ebx
je 0x140043b95
jmp 0x140043b1d
cmp ebp, 1
jbe 0x140043c63
cmp rax, rsi
jae 0x140043c6b
cmp rax, rcx
jne 0x140043b25
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140043af2
mov dword [rsp + 0x68], ebx
mov rsi, qword [r12 + 0x38]
test rsi, rsi
jne 0x140043c78
mov rdi, qword [r12 + 0x58]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
test rdi, rdi
je 0x140043b8e
lea rsi, [rsp + 0x40]
mov rax, qword [rdi]
mov ecx, ebx
mov rdx, rsi
call qword [0x14023a010]
test al, al
jne 0x140043b7b
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140043b60
movzx eax, byte [rsp + 0x57]
test al, al
jns 0x140043b89
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x140043bd2
xor esi, esi
jmp 0x140043c48
add rdi, 0x18
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
call fcn.140014b30
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14011fe20
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsp + 0x40]
call fcn.140103e20
test al, al
jne 0x140043e22
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x20]
call fcn.140014b30
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140043e65
cmp byte [r12 + 0x60], 0
jne 0x140043c3c
lea rcx, [r12 + 8]
lea r8, [rsp + 0x64]
lea r9, [rsp + 0x68]
mov qword [r9], r8
lea rsi, [rsp + 0x28]
mov rdx, rsi
call fcn.140043ec0
mov rcx, qword [rsi]
add rcx, 0x18
lea rdx, [rsp + 0x40]
call fcn.140014b30
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
lea rcx, [rsp + 0x40]
call fcn.14010a440
jmp 0x140043bb2
lea rcx, [rsi - 1]
and rcx, r13
jmp 0x140043ad8
and rax, r14
jmp 0x140043b18
xor edx, edx
div rsi
mov rax, rdx
jmp 0x140043b18
mov rax, rsi
shr rax, 1
and rax, r15
mov rcx, rsi
sub rcx, rax
mov rax, rcx
and rax, r11
shr rcx, 2
and rcx, r11
add rcx, rax
mov rbp, rcx
shr rbp, 4
add rbp, rcx
and rbp, r10
imul rbp, r9
shr rbp, 0x38
cmp rbp, 1
ja 0x140043e72
lea rcx, [rsi - 1]
and rcx, r13
mov rax, qword [r12 + 0x30]
mov rax, qword [rax + rcx*8]
test rax, rax
je 0x140043b37
mov r15, qword [rax]
test r15, r15
je 0x140043b37
lea rdi, [rsi - 1]
mov rax, qword [r15 + 8]
cmp rax, r13
je 0x140043d9c
cmp ebp, 1
ja 0x140043e9f
and rax, rdi
cmp rax, rcx
jne 0x140043b37
mov r15, qword [r15]
test r15, r15
jne 0x140043cdf
jmp 0x140043b37
lea rcx, [0x140225740]
call fcn.14011d638
cmp dword [0x140225740], 0xffffffff
jne 0x140043a1f
mov ecx, 0x68
call fcn.14011d790
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
xor eax, eax
mov qword [rsi + 0x20], rax
mov ecx, 0x3f800000
mov dword [rsi + 0x28], ecx
movups xmmword [rsi + 0x40], xmm0
movups xmmword [rsi + 0x30], xmm0
mov dword [rsi + 0x50], ecx
mov qword [rsi + 0x58], rax
mov byte [rsi + 0x60], 0
lea rdi, [0x14021aea0]
movabs rax, 0xfffffffe00000000
and rax, rdi
cmp qword [0x14021af08], rax
je 0x140043e8e
mov qword [rsi + 0x58], rdi
mov qword [0x140225738], rsi
lea rcx, [0x140225740]
call fcn.14011d5d8
jmp 0x140043a1f
cmp dword [r15 + 0x10], ebx
jne 0x140043d01
test r8b, r8b
jne 0x140043ddd
lea rsi, [r15 + 0x18]
lea rcx, [r12 + 8]
lea r8, [rsp + 0x68]
lea r9, [rsp + 0x28]
mov qword [r9], r8
lea rdi, [rsp + 0x40]
mov rdx, rdi
call fcn.140043ec0
mov rcx, qword [rdi]
add rcx, 0x18
mov rdx, rsi
call fcn.140014b30
add r15, 0x18
mov rcx, qword [rsp + 0x20]
mov rdx, r15
jmp 0x140043ba1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14011fe20
mov rcx, qword [rsp + 0x20]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140040480
mov rcx, r12
call fcn.1400fd520
jmp 0x140043a40
lea rsi, [rsp + 0x28]
lea rdi, [rsp + 0x40]
mov rcx, rsi
mov rdx, rdi
call fcn.140058a80
mov rcx, rdi
mov rdx, rsi
call fcn.14010de20
mov rcx, rsi
call fcn.14010a440
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x140043e57
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x140043be4
jmp 0x140043b8e
mov rcx, r12
call fcn.1400fd520
jmp 0x140043c04
mov rcx, r13
cmp rsi, r13
ja 0x140043cbd
mov rax, r13
xor edx, edx
div rsi
mov rcx, rdx
jmp 0x140043cbd
lea rcx, [0x14021aea0]
call fcn.1400f2260
jmp 0x140043d80
cmp rax, rsi
jb 0x140043cf8
xor edx, edx
div rsi
mov rax, rdx
jmp 0x140043cf8