Function at 0x14002eb00
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm6
mov edi, r8d
mov rsi, rdx
mov r14, rcx
mov rax, qword [0x1401af040]
xor rax, rsp
mov qword [rsp + 0x168], rax
mov rcx, qword [rcx]
movsx rax, byte [rcx + 0x17]
test rax, rax
jns 0x14002eb47
mov rax, qword [rcx + 8]
test rax, rax
je 0x14002ebd9
mov rcx, qword [r14 + 8]
lea r8, str.single_profile
lea rbx, [rsp + 0x150]
mov rdx, rbx
call fcn.1400300e0
cmp byte [rbx + 1], 0
je 0x14002ecd3
cmp byte [rsp + 0x150], 0
je 0x14002ecd3
mov rcx, qword [r14]
lea rax, str.profile
lea r8, [rsp + 0x78]
mov qword [r8], rax
mov qword [r8 + 8], 7
lea rdi, [rsp + 0x150]
mov rdx, rdi
call fcn.14009c530
lea rax, [0x1401837f0]
lea r8, [rsp + 0x68]
mov qword [r8], rax
mov qword [r8 + 8], 4
mov rcx, rdi
mov rdx, rsi
call fcn.14009c530
mov rcx, rdi
call fcn.14009b680
jmp 0x14002ebe1
mov rcx, rsi
call fcn.14009b4f0
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.1400bf690
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8b, byte [rsp + 0x167]
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
movzx eax, r8b
test r8b, r8b
cmovs rax, rdx
cmovs rdi, rcx
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rax
test rax, rax
js 0x14002f528
je 0x14002ec5b
test rdi, rdi
je 0x14002f53b
lea rcx, [rsp + 0x130]
lea r8, [rsp + 0x98]
mov rdx, rsi
call fcn.14004aee0
cmp byte [rsp + 0x167], 0
jns 0x14002ec8a
mov rcx, qword [rsp + 0x150]
call fcn.1400be338
cmp byte [rsp + 0x117], 0
jns 0x14002eca1
mov rcx, qword [rsp + 0x100]
call fcn.1400be338
lea rcx, [rsp + 0x130]
call fcn.14009b680
cmp byte [rsp + 0x60], 0
je 0x14002ebe1
cmp byte [rsp + 0x5f], 0
jns 0x14002ebe1
mov rcx, qword [rsp + 0x48]
call fcn.1400be338
jmp 0x14002ebe1
mov rcx, qword [r14 + 8]
lea r8, str.profile_path
lea r14, [rsp + 0x48]
mov rdx, r14
call fcn.140030170
cmp byte [r14 + 0x18], 0
movabs r15, 0xaaaaaaaaaaaaaaaa
je 0x14002eff4
mov qword [rsp + 0x160], r15
movsx rax, byte [rsp + 0x5f]
test rax, rax
cmovs rax, qword [rsp + 0x50]
movaps xmm6, xmmword [0x14017b970]
cmovs r14, qword [rsp + 0x48]
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rax
test rax, rax
js 0x14002f528
je 0x14002ed50
test r14, r14
je 0x14002f53b
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140043e20
lea rdi, [rsp + 0x130]
mov qword [rdi + 0x10], r15
movaps xmmword [rdi], xmm6
lea rcx, str._USERNAME_
lea r14, [rsp + 0x120]
mov qword [r14], rcx
call fcn.1400dc400
mov qword [r14 + 8], rax
mov rcx, rdi
mov rdx, r14
call fcn.140043e20
movsx r8, byte [rdi + 0x17]
test r8, r8
jns 0x14002edaf
mov r8, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x130]
movsx rax, byte [rsp + 0x167]
test rax, rax
mov rcx, qword [rsp + 0x150]
mov r9, rbx
cmovs r9, rcx
test r8, r8
je 0x14002ee9d
test al, al
mov rdx, qword [rsp + 0x158]
mov r14, rax
cmovs r14, rdx
cmp r14, r8
jl 0x14002ee24
lea r15, [r9 + r14*2]
movzx r11d, word [rdi]
lea rbp, [r9 + r14*2]
add rbp, 0xfffffffffffffffe
mov r12, r9
mov r13, r14
sub r13, r8
inc r13
je 0x14002ee24
inc r14
xor r13d, r13d
cmp word [r12 + r13], r11w
je 0x14002ef12
add r13, 2
dec r14
cmp r8, r14
jne 0x14002ee0d
mov r8d, eax
test r8b, r8b
cmovs rax, rdx
cmovs rbx, rcx
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rax
test rax, rax
js 0x14002f528
je 0x14002ee56
test rbx, rbx
je 0x14002f53b
lea rdx, [rsp + 0x100]
mov rcx, rsi
call fcn.14009b550
cmp byte [rsp + 0x147], 0
jns 0x14002ee7d
mov rcx, qword [rsp + 0x130]
call fcn.1400be338
cmp byte [rsp + 0x167], 0
jns 0x14002ecae
mov rcx, qword [rsp + 0x150]
call fcn.1400be338
jmp 0x14002ecae
xor r14d, r14d
xorps xmm0, xmm0
lea r15, [rsp + 0x100]
movaps xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rcx, r15
call fcn.14002f580
mov edi, eax
test al, al
jne 0x14002ef83
mov rcx, rsi
call fcn.14009b4f0
cmp byte [rsp + 0x117], 0
jns 0x14002eee8
mov rcx, qword [rsp + 0x100]
call fcn.1400be338
test dil, dil
je 0x14002ee66
mov r8b, byte [rsp + 0x167]
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
movzx eax, r8b
jmp 0x14002ee27
mov r14, r12
add r14, r13
je 0x14002ee24
mov qword [rsp + 0x40], rbp
xor ebp, ebp
movzx r10d, word [r14 + rbp*2]
cmp r10w, word [rdi + rbp*2]
jne 0x14002ef5d
inc rbp
cmp r8, rbp
jne 0x14002ef25
cmp r14, r15
je 0x14002ee24
sub r14, r9
mov r9, r14
mov r8d, eax
add r9, 2
je 0x14002ee27
sar r14, 1
jmp 0x14002eea0
mov rbp, qword [rsp + 0x40]
mov r14, rbp
sub r14, r12
add r12, r13
add r12, 2
sub r14, r13
sar r14, 1
cmp r14, r8
jge 0x14002edfc
jmp 0x14002ee24
movsx r8, byte [rsp + 0x147]
test r8, r8
jns 0x14002ef99
mov r8, qword [rsp + 0x138]
movsx rax, byte [rsp + 0x117]
test rax, rax
cmovs rax, qword [rsp + 0x108]
cmovs r15, qword [rsp + 0x100]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x150]
mov rdx, r14
mov r9, r15
call fcn.140110070
jmp 0x14002eed1
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
xor edx, edx
xor ecx, ecx
jmp 0x14002f178
lea rcx, [rsp + 0x130]
mov qword [rcx + 0x10], r15
movaps xmm6, xmmword [0x14017b970]
movaps xmmword [rcx], xmm6
call fcn.14009b4f0
mov qword [rsp + 0x110], r15
movaps xmmword [rsp + 0x100], xmm6
lea rcx, str.APPDATA
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14002efd4
mov ebp, eax
mov r12d, eax
mov qword [rsp + 0x160], r15
movaps xmmword [rsp + 0x150], xmm6
cmp eax, 0xb
jae 0x14002f4d1
lea r14, [rsp + 0x150]
mov byte [r14 + 0x17], bpl
lea r8, [r12 + r12]
mov rcx, r14
xor edx, edx
call fcn.1400f6360
mov word [r14 + r12*2], 0
cmp byte [rsp + 0x167], 0
jns 0x14002f086
mov rbx, qword [rsp + 0x150]
lea rcx, str.APPDATA
mov rdx, rbx
mov r8d, ebp
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14002f13b
mov edx, eax
movsx rcx, byte [rsp + 0x167]
test rcx, rcx
mov rbx, qword [rsp + 0x158]
mov r8, rcx
cmovs r8, rbx
cmp r8, rdx
jbe 0x14002f13b
mov r15, rdx
test cl, cl
jns 0x14002f125
sub r15, rbx
ja 0x14002f428
mov rcx, qword [rsp + 0x150]
mov qword [rsp + 0x158], rdx
lea rax, [rcx + rdx*2]
mov word [rax], 0
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x110], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x100], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], 0
jmp 0x14002f152
sub r15, rcx
ja 0x14002f418
lea rcx, [rsp + 0x150]
mov byte [rcx + 0x17], al
jmp 0x14002f0e3
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
cmp byte [rsp + 0x167], 0
jns 0x14002f169
mov rcx, qword [rsp + 0x150]
call fcn.1400be338
mov cl, byte [rsp + 0x117]
mov rdx, qword [rsp + 0x108]
test cl, cl
movzx eax, cl
cmovs rax, rdx
test rax, rax
je 0x14002f194
test cl, cl
js 0x14002f1b7
lea rcx, [rsp + 0x100]
jmp 0x14002f1bf
lea rdx, [rsp + 0x130]
mov ecx, 0x6f
call fcn.140040d90
test al, al
jne 0x14002f211
mov rcx, rsi
call fcn.14009b4f0
jmp 0x14002ec8a
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
test rax, rax
js 0x14002f528
test rcx, rcx
je 0x14002f53b
lea rbx, [rsp + 0x150]
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.14009b550
lea rcx, [rsp + 0x130]
mov rdx, rbx
call fcn.1400496d0
mov rcx, rbx
call fcn.14009b680
mov ecx, 0x30
call fcn.1400be2fc
mov qword [rsp + 0x150], rax
movabs rcx, 0x7fffffffffffffff
add rcx, 0x31
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x158], 0x2c
lea rcx, str.CompanyName_ProductName_InternalStream
cmp rax, rcx
ja 0x14002f25e
lea rdx, [rax + 0x2c]
cmp rdx, rcx
ja 0x14002f561
movups xmm0, xmmword [0x14018382c]
movups xmmword [rax + 0x1c], xmm0
movaps xmm0, xmmword [0x140183820]
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [str.CompanyName_ProductName_InternalStream]
movups xmmword [rax], xmm0
mov byte [rax + 0x2c], 0
call fcn.14002fe10
mov qword [rsp + 0xf0], rax
test rax, rax
je 0x14002f54e
mov rcx, rax
call fcn.1400dc400
lea r9, [rsp + 0xf0]
mov qword [r9 + 8], rax
lea rax, [0x14018383d]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov qword [r8 + 8], 0xd
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.140044520
call fcn.14002fe40
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x14002f54e
mov rcx, rax
call fcn.1400dc400
lea r9, [rsp + 0xd0]
mov qword [r9 + 8], rax
lea rax, [0x14018384b]
lea r8, [rsp + 0xc0]
mov qword [r8], rax
mov qword [r8 + 8], 0xd
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.140044520
lea rbx, [rsp + 0x98]
mov rcx, rbx
mov edx, edi
call fcn.1400304c0
movsx rax, byte [rbx + 0x17]
test rax, rax
jns 0x14002f354
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rax
test rax, rax
js 0x14002f528
je 0x14002f378
test rbx, rbx
je 0x14002f53b
lea rax, str.InternalStream
lea r8, [rsp + 0x88]
mov qword [r8], rax
mov qword [r8 + 8], 0x10
lea rdi, [rsp + 0x150]
lea r9, [rsp + 0xb0]
mov rcx, rdi
xor edx, edx
call fcn.140044520
cmp byte [rsp + 0xaf], 0
jns 0x14002f3c3
mov rcx, qword [rsp + 0x98]
call fcn.1400be338
movsx rax, byte [rsp + 0x167]
test rax, rax
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
mov r8, rdi
cmovs r8, rcx
mov r9, rax
cmovs r9, rdx
test r9, r9
je 0x14002f3f6
xor eax, eax
jmp 0x14002f40f
mov r8d, eax
jmp 0x14002ec2c
mov byte [r8 + rax], 0x5c
inc rax
cmp r9, rax
je 0x14002ec10
cmp byte [r8 + rax], 0x2f
jne 0x14002f403
jmp 0x14002f3fe
je 0x14002f0ec
mov edx, 0xa
mov rbx, rcx
jmp 0x14002f445
je 0x14002f0ec
mov rcx, qword [rsp + 0x160]
mov rdx, rcx
btr rdx, 0x3f
dec rdx
shr rcx, 0x38
mov rax, rdx
sub rax, rbx
cmp rax, r15
jae 0x14002f481
mov r8, r15
sub r8, rdx
add r8, rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rbx
lea r14, [rsp + 0x150]
mov rcx, r14
mov r9, rbx
call fcn.140085360
mov qword [r14 + 8], rbx
mov cl, byte [r14 + 0x17]
test cl, cl
jns 0x14002f48f
mov r14, qword [rsp + 0x150]
jmp 0x14002f497
lea r14, [rsp + 0x150]
lea rcx, [r14 + rbx*2]
lea r8, [r15 + r15]
xor edx, edx
call fcn.1400f6360
add rbx, r15
cmp byte [rsp + 0x167], 0
jns 0x14002f4c4
mov qword [rsp + 0x158], rbx
lea rax, [r14 + rbx*2]
jmp 0x14002f0e7
mov eax, ebx
and al, 0x7f
mov byte [rsp + 0x167], al
jmp 0x14002f4bb
mov eax, r12d
and eax, 0xfffffffc
add rax, 4
mov r15, r12
or r15, 3
cmp r15, 0xb
cmove r15, rax
lea rcx, [r15*2 + 2]
call fcn.1400be2fc
mov r14, rax
mov qword [rsp + 0x150], rax
movabs rax, 0x7fffffffffffffff
add rax, r15
add rax, 2
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x158], r12
jmp 0x14002f05f
lea rcx, [0x14018083d]
lea rdx, str....._third_partylibc_srcinclude_string_view:314:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
call fcn.1400f81f0
lea rcx, [0x14018083d]
lea rdx, str....._third_partylibc_srcinclude_string_view:316:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
call fcn.1400f81f0
lea rcx, [0x14018083d]
lea rdx, str....._third_partylibc_srcinclude_string_view:267:_assertion___s___nullptr_failed:_null_pointer_passed_to_non_null_argument_of_char_traits_..._::length_n
call fcn.1400f81f0
lea rcx, [0x14018083d]
lea rdx, str....._third_partylibc_srcinclude__stringchar_traits.h:146:_assertion__std::__is_pointer_in_range___s1____s1____n____s2__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
call fcn.1400f81f0
int3