Function at 0x1400b3b50
Capabilities:
Check if file exists
Query environment variable

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
test rcx, rcx
jne 0x1400b3b66
xor eax, eax
add rsp, 0x20
pop rsi
ret
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
test edx, edx
jne 0x1400b3b96
mov rcx, qword [rcx + 0x480]
test rcx, rcx
je 0x1400b3b96
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b3b96
mov rbx, qword [rsi + 0x480]
jmp 0x1400b3d94
mov rcx, rsi
call fcn.1400b6820
test eax, eax
jne 0x1400b3d99
mov rbx, qword [rsi + 0x448]
or rdi, 0xffffffffffffffff
test rbx, rbx
je 0x1400b3bcf
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b3bc0
test rax, rax
jne 0x1400b3c2f
mov rbx, qword [rsi + 0x450]
test rbx, rbx
je 0x1400b3bef
mov rax, rdi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b3be0
test rax, rax
jne 0x1400b3c2f
mov rbx, qword [rsi + 0x428]
test rbx, rbx
je 0x1400b3c0f
mov rax, rdi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b3c00
test rax, rax
jne 0x1400b3c2f
mov rbx, qword [rsi + 0x458]
test rbx, rbx
je 0x1400b3c5c
mov rax, rdi
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b3c20
test rax, rax
je 0x1400b3c5c
test rbx, rbx
je 0x1400b3c5e
xor r8d, r8d
lea rdx, str.:Windows
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathMatchSpecExW]
test eax, eax
je 0x1400b3d99
mov rcx, rbx
call fcn.14004bc80
mov rbx, rax
jmp 0x1400b3c5e
xor ebx, ebx
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b3d94
test rbx, rbx
je 0x1400b3cce
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400b3ca6
mov rcx, rbx
call fcn.140054e40
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b3d94
test rbx, rbx
je 0x1400b3cce
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b3cce
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b3d54
mov rcx, rbx
jmp 0x1400b3cda
mov rcx, qword [rsi + 0x440]
test rcx, rcx
je 0x1400b3ced
call fcn.14004bc80
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
jmp 0x1400b3d54
mov rcx, qword [rsi + 0x428]
test rcx, rcx
je 0x1400b3d14
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400b3d00
test rax, rax
je 0x1400b3d14
mov rbx, rcx
jmp 0x1400b3d54
mov rcx, qword [rsi + 0x430]
test rcx, rcx
je 0x1400b3d37
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400b3d23
test rax, rax
je 0x1400b3d37
mov rbx, rcx
jmp 0x1400b3d54
mov rax, qword [rsi + 0x458]
test rax, rax
je 0x1400b3d54
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400b3d43
test rdi, rdi
cmovne rbx, rax
test rbx, rbx
je 0x1400b3d99
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b3d94
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b3d94
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b3d94
mov rcx, rbx
call fcn.14004bc80
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test rbx, rbx
jne 0x1400b3dab
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
movzx ecx, word [rbx]
call fcn.14028ea98
mov rcx, rbx
mov word [rbx], ax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b3e1a
mov rcx, rbx
call fcn.140055c90
test eax, eax
je 0x1400b3e1a
mov rcx, rbx
mov dword [rsi + 0x4a0], 1
call fcn.14004bc80
mov rcx, rbx
mov qword [rsi + 0x478], rax
call fcn.140055810
mov rdx, qword [rsi + 0x478]
mov rcx, rax
mov rbx, rax
call fcn.14027c4d8
test eax, eax
jne 0x1400b3e1a
mov qword [rsi + 0x478], 0
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
jmp fcn.14004bc80