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

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
test rcx, rcx
jne 0x1400b0166
xor eax, eax
add rsp, 0x20
pop rsi
ret
cmp dword [rcx + 0x4a0], 0
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
jne 0x1400b0417
test edx, edx
jne 0x1400b01a3
mov rcx, qword [rcx + 0x480]
test rcx, rcx
je 0x1400b01a3
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b01a3
mov rbx, qword [rsi + 0x480]
jmp 0x1400b0388
mov rbx, qword [rsi + 0x448]
or rdi, 0xffffffffffffffff
test rbx, rbx
je 0x1400b01c5
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b01b6
test rax, rax
jne 0x1400b021f
mov rbx, qword [rsi + 0x450]
test rbx, rbx
je 0x1400b01e3
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b01d4
test rax, rax
jne 0x1400b021f
mov rbx, qword [rsi + 0x428]
test rbx, rbx
je 0x1400b0201
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b01f2
test rax, rax
jne 0x1400b021f
mov rbx, qword [rsi + 0x458]
test rbx, rbx
je 0x1400b024c
mov rax, rdi
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400b0210
test rax, rax
je 0x1400b024c
test rbx, rbx
je 0x1400b024e
xor r8d, r8d
lea rdx, str.:Windows
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathMatchSpecExW]
test eax, eax
je 0x1400b0417
mov rcx, rbx
call fcn.14004baa0
mov rbx, rax
jmp 0x1400b024e
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 0x1400b0388
test rbx, rbx
je 0x1400b02be
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400b0296
mov rcx, rbx
call fcn.140054780
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b0388
test rbx, rbx
je 0x1400b02be
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b02be
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b0344
mov rcx, rbx
jmp 0x1400b02ca
mov rcx, qword [rsi + 0x440]
test rcx, rcx
je 0x1400b02dd
call fcn.14004baa0
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
jmp 0x1400b0344
mov rcx, qword [rsi + 0x428]
test rcx, rcx
je 0x1400b0304
mov rax, rdi
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400b02f0
test rax, rax
je 0x1400b0304
mov rbx, rcx
jmp 0x1400b0344
mov rcx, qword [rsi + 0x430]
test rcx, rcx
je 0x1400b0327
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400b0313
test rax, rax
je 0x1400b0327
mov rbx, rcx
jmp 0x1400b0344
mov rax, qword [rsi + 0x458]
test rax, rax
je 0x1400b0344
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400b0333
test rdi, rdi
cmovne rbx, rax
test rbx, rbx
je 0x1400b0417
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b0388
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b0388
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x1400b0388
mov rcx, rbx
call fcn.14004baa0
mov rcx, rax
mov rbx, rax
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test rbx, rbx
je 0x1400b0417
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathRemoveBackslashW]
movzx ecx, word [rbx]
call fcn.140289f78
mov rcx, rbx
mov word [rbx], ax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400b0400
mov rcx, rbx
call fcn.140055600
test eax, eax
je 0x1400b0400
mov rcx, rbx
mov dword [rsi + 0x49c], 1
call fcn.14004baa0
mov rcx, rbx
mov qword [rsi + 0x478], rax
call fcn.140055150
mov rdx, qword [rsi + 0x478]
mov rcx, rax
mov rbx, rax
call fcn.1402779b8
test eax, eax
jne 0x1400b0400
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.14004baa0
mov rbx, qword [rsp + 0x30]
xor eax, eax
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rsi
ret