Function at 0x18009ce10
Capabilities:
Get common file path
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
lea rbp, [rsp - 0x730]
sub rsp, 0x830
mov rax, qword [0x180163880]
xor rax, rsp
mov qword [rbp + 0x720], rax
cmp byte [rcx + 0x3e], 0
mov rbx, rcx
je 0x18009ce46
xor al, al
jmp 0x18009d234
cmp byte [rcx + 0x3c], 0
je 0x18009ce53
mov al, 1
jmp 0x18009d234
test byte [rcx + 0x440], 0x10
mov qword [rsp + 0x850], rdi
mov byte [rbp + 0x320], 0
je 0x18009d1a9
cmp byte [rcx + 0x3f], 0
lea r8, [rcx + 0x3f]
je 0x18009cea4
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149534]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149530]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea rdx, [rsp + 0x20]
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je 0x18009cf08
lea r8, [rsp + 0x20]
mov byte [rbp + 0x31f], 0
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149534]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov r8d, 0x400
lea rdx, [rsp + 0x20]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x18009cfce
mov rdx, 0xffffffffffffffff
mov byte [rbp + 0x31f], 0
mov rax, rdx
lea rcx, [rsp + 0x20]
nop dword [rax]
cmp byte [rcx + rax + 1], 0
lea rax, [rax + 1]
jne 0x18009cf40
lea rcx, [rsp + rax + 0x1f]
lea rax, [rsp + 0x20]
cmp rcx, rax
jb 0x18009cf85
movabs r8, 0x200000000801
movzx eax, byte [rcx]
sub al, 0x2f
cmp al, 0x2d
ja 0x18009cf73
bt r8, rax
jb 0x18009cf82
dec rcx
lea rax, [rsp + 0x20]
cmp rcx, rax
jae 0x18009cf64
jmp 0x18009cf85
mov byte [rcx], 0
lea rax, [rsp + 0x20]
nop word [rax + rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x18009cf90
test rdx, rdx
je 0x18009cfce
lea r8, [rsp + 0x20]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149534]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov r8d, 0x400
lea rdx, [rsp + 0x20]
lea rcx, str._NT_SYMBOL_PATH
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x18009d021
lea r8, [rsp + 0x20]
mov byte [rbp + 0x31f], 0
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149534]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov r8d, 0x400
lea rdx, [rsp + 0x20]
lea rcx, str._NT_ALTERNATE_SYMBOL_PATH
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x18009d074
lea r8, [rsp + 0x20]
mov byte [rbp + 0x31f], 0
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149534]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov r8d, 0x400
lea rdx, [rsp + 0x20]
lea rcx, str.SYSTEMROOT
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x18009d10e
lea r8, [rsp + 0x20]
mov byte [rbp + 0x31f], 0
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149534]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, str._system32
mov edx, 0x400
lea rcx, [rsp + 0x20]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [rsp + 0x20]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [0x180149534]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
test byte [rbx + 0x440], 0x20
je 0x18009d1a9
mov r8d, 0x400
lea rdx, [rsp + 0x20]
lea rcx, str.SYSTEMDRIVE
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov edx, 0x400
lea rcx, [rbp + 0x320]
test eax, eax
je 0x18009d19c
lea r8, str.SRV
mov byte [rbp + 0x31f], 0
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, [rsp + 0x20]
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, str.websymbols
mov edx, 0x400
lea rcx, [rbp + 0x320]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea r8, str.https:__msdl.microsoft.com_download_symbols_
mov edx, 0x400
lea rcx, [rbp + 0x320]
jmp 0x18009d1a3
lea r8, str.SRVc:websymbolshttps:__msdl.microsoft.com_download_symbols_
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
lea rdx, [rbp + 0x320]
lea rcx, [rbx + 0x450]
call fcn.18009c8d0
test al, al
jne 0x18009d1df
lea rcx, str.Error_initializing_dbghelp.dll_n
call fcn.180005bb0
mov ecx, 0x45a
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor al, al
mov byte [rbx + 0x3e], 1
jmp 0x18009d22c
mov edx, dword [rbx + 0x38]
lea rcx, [rbx + 0x450]
mov qword [rsp + 0x848], rsi
mov rsi, qword [rbx + 0x30]
call fcn.18009c580
test al, al
jne 0x18009d21c
mov rax, qword [rbx + 0x9b0]
lea r8, [rbx + 0x450]
lea rdx, [fcn.18009c310]
mov rcx, rsi
call rax
test eax, eax
je 0x18009d220
mov byte [rbx + 0x3c], 1
movzx eax, byte [rbx + 0x3c]
mov rsi, qword [rsp + 0x848]
mov rdi, qword [rsp + 0x850]
mov rcx, qword [rbp + 0x720]
xor rcx, rsp
call fcn.180104980
mov rbx, qword [rsp + 0x858]
add rsp, 0x830
pop rbp
ret