Function at 0x140023570
Capabilities:
Get common file path

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e0
mov rax, qword [0x1400c7338]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov r12, r8
mov qword [rsp + 0x90], r8
mov r14, rdx
mov qword [rsp + 0x80], rdx
mov r15, rcx
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa8], r8
call qword [sym.imp.KERNEL32.dll_GetErrorMode]
mov dword [rsp + 0x38], eax
mov ecx, eax
or ecx, 1
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov sil, 1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xor eax, eax
mov qword [rsp + 0x50], rax
mov ebx, eax
mov dword [rsp + 0x30], eax
mov rcx, r14
call qword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x14002364e
lea rdx, [rsp + 0xc0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x14002364e
lea r8, [0x1400a697c]
mov edx, 0x104
lea rcx, [rsp + 0xc0]
call fcn.140075974
mov r8, r14
mov edx, 0x104
lea rcx, [rsp + 0xc0]
call fcn.140075974
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x80], r14
call fcn.140016db0
mov rdi, rax
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r13, rax
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x140023915
cmp qword [r15 + 0x10], 0
je 0x14002368e
call fcn.140016db0
sub eax, edi
mov rcx, qword [r15 + 0x10]
mov dword [rcx + 0x3c], eax
mov qword [rsp + 0x70], 0
xor r9d, r9d
lea r8, [rsp + 0x70]
mov edx, 0x29bb
mov rcx, r13
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x140023900
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor ecx, ecx
mov qword [rsp + 0x68], rcx
mov rsi, qword [rsp + 0x70]
movsxd rdi, eax
add rdi, rdi
mov rax, rdi
sar rax, 1
mov edx, ecx
cmp rdi, 2
jb 0x14002372d
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1400239cc
lfence
lea rbx, [rax + rax]
mov rcx, rbx
call fcn.140017cc0
lfence
mov qword [rsp + 0x58], rax
lea r12, [rbx + rax]
mov qword [rsp + 0x68], r12
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.140039310
mov qword [rsp + 0x60], r12
mov rdx, r12
mov ebx, dword [rsp + 0x30]
xor ecx, ecx
mov word [rsp + 0x34], cx
lea r8, [rsp + 0x34]
lea rcx, [rsp + 0x58]
call fcn.140022740
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
xor ecx, ecx
movabs rax, 0x20003b002c
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x78], rcx
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0xb8]
mov rcx, r14
call fcn.140075888
mov rdi, qword [rsp + 0x48]
mov rsi, rax
test rax, rax
je 0x14002388d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400237da
mov qword [rsp + 0x28], rsi
lea rax, str.Dependency_module__ls_has_been_loaded_already
mov qword [rsp + 0x20], rax
mov r9d, 3
mov r8d, 0xcb
lea rdx, str.C:dvsp4_build_swgcompdev_srcNvContainercommonwindowsNvcPluginLoadHelperWin32.cpp
mov rcx, qword [r15]
call fcn.14001c5c0
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0xb8]
xor ecx, ecx
call fcn.140075888
jmp 0x14002377e
mov rdx, rsi
mov rcx, r15
call fcn.140023080
mov qword [rsp + 0x88], rax
test rax, rax
jne 0x14002382e
xor sil, sil
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
lea rax, str.Dependency_module_load_failed
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, 0xd5
lea rdx, str.C:dvsp4_build_swgcompdev_srcNvContainercommonwindowsNvcPluginLoadHelperWin32.cpp
mov rcx, qword [r15]
call fcn.14001c5c0
jmp 0x140023890
cmp rdi, qword [rsp + 0x50]
je 0x14002385a
mov qword [rdi], rax
add rdi, 8
mov qword [rsp + 0x48], rdi
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0xb8]
xor ecx, ecx
call fcn.140075888
jmp 0x14002377e
lea r8, [rsp + 0x88]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.1400225e0
mov rdi, qword [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0xb8]
xor ecx, ecx
call fcn.140075888
jmp 0x14002377e
mov sil, 1
test r14, r14
je 0x1400238cd
sub r12, r14
sar r12, 1
lea rdx, [r12 + r12]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400238c4
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400239d2
mov rcx, r14
call fcn.140035d3c
nop
mov r14, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
jmp 0x140023905
mov rdi, qword [rsp + 0x48]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test sil, sil
je 0x14002392c
jmp 0x14002391a
mov rdi, qword [rsp + 0x48]
mov r8b, 1
mov rdx, r14
mov rcx, r15
call fcn.1400232f0
mov qword [r12], rax
mov ecx, dword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov r14, qword [rsp + 0x40]
mov rsi, r14
cmp r14, rdi
je 0x140023955
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rsi, 8
cmp rsi, rdi
jne 0x140023943
cmp qword [r12], 0
setne dil
test ebx, ebx
je 0x14002396b
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
test r14, r14
je 0x1400239a5
mov rdx, qword [rsp + 0x50]
sub rdx, r14
and rdx, 0xfffffffffffffff8
mov rax, r14
cmp rdx, 0x1000
jb 0x14002399d
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400239d8
mov rcx, r14
call fcn.140035d3c
movzx eax, dil
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.140035de0
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140023f50
nop
call fcn.140074d78
nop
call fcn.140074d78
int3