Function at 0x140023590
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 [0x1400c7368]
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 0x14002366e
lea rdx, [rsp + 0xc0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x14002366e
lea r8, [0x1400a6a1c]
mov edx, 0x104
lea rcx, [rsp + 0xc0]
call fcn.140075994
mov r8, r14
mov edx, 0x104
lea rcx, [rsp + 0xc0]
call fcn.140075994
lea r14, [rsp + 0xc0]
mov qword [rsp + 0x80], r14
call fcn.140016dd0
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 0x140023935
cmp qword [r15 + 0x10], 0
je 0x1400236ae
call fcn.140016dd0
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 0x140023920
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 0x14002374d
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1400239ec
lfence
lea rbx, [rax + rax]
mov rcx, rbx
call fcn.140017ce0
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.140039330
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.140022760
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.1400758a8
mov rdi, qword [rsp + 0x48]
mov rsi, rax
test rax, rax
je 0x1400238ad
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1400237fa
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.14001c5e0
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0xb8]
xor ecx, ecx
call fcn.1400758a8
jmp 0x14002379e
mov rdx, rsi
mov rcx, r15
call fcn.1400230a0
mov qword [rsp + 0x88], rax
test rax, rax
jne 0x14002384e
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.14001c5e0
jmp 0x1400238b0
cmp rdi, qword [rsp + 0x50]
je 0x14002387a
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.1400758a8
jmp 0x14002379e
lea r8, [rsp + 0x88]
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.140022600
mov rdi, qword [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0xb8]
xor ecx, ecx
call fcn.1400758a8
jmp 0x14002379e
mov sil, 1
test r14, r14
je 0x1400238ed
sub r12, r14
sar r12, 1
lea rdx, [r12 + r12]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400238e4
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400239f2
mov rcx, r14
call fcn.140035d5c
nop
mov r14, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
jmp 0x140023925
mov rdi, qword [rsp + 0x48]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test sil, sil
je 0x14002394c
jmp 0x14002393a
mov rdi, qword [rsp + 0x48]
mov r8b, 1
mov rdx, r14
mov rcx, r15
call fcn.140023310
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 0x140023975
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
add rsi, 8
cmp rsi, rdi
jne 0x140023963
cmp qword [r12], 0
setne dil
test ebx, ebx
je 0x14002398b
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
test r14, r14
je 0x1400239c5
mov rdx, qword [rsp + 0x50]
sub rdx, r14
and rdx, 0xfffffffffffffff8
mov rax, r14
cmp rdx, 0x1000
jb 0x1400239bd
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400239f8
mov rcx, r14
call fcn.140035d5c
movzx eax, dil
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.140035e00
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.140023f70
nop
call fcn.140074d98
nop
call fcn.140074d98
int3