Function at 0x14002dec0
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 [0x1401b1028]
xor rax, rsp
mov qword [rsp + 0x168], rax
mov rcx, qword [rcx]
movzx eax, byte [rcx + 0x17]
test al, al
jns 0x14002df05
mov rax, qword [rcx + 8]
test rax, rax
je 0x14002df97
mov rcx, qword [r14 + 8]
lea r8, str.single_profile
lea rbx, [rsp + 0x150]
mov rdx, rbx
call fcn.14002f120
cmp byte [rbx + 1], 0
je 0x14002e088
cmp byte [rsp + 0x150], 0
je 0x14002e088
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.1400bf7e0
lea rax, [0x1401856f0]
lea r8, [rsp + 0x68]
mov qword [r8], rax
mov qword [r8 + 8], 4
mov rcx, rdi
mov rdx, rsi
call fcn.1400bf7e0
mov rcx, rdi
call fcn.1400be180
jmp 0x14002df9f
mov rcx, rsi
call fcn.1400bdfd0
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.1400e1d10
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
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
cmp byte [rsp + 0x167], 0
jns 0x14002dffc
mov rcx, qword [rsp + 0x150]
call fcn.1400e0828
mov cl, byte [rsp + 0x117]
mov rdx, qword [rsp + 0x108]
test cl, cl
movzx eax, cl
cmovs rax, rdx
test rax, rax
jne 0x14002e502
lea rdx, [rsp + 0x130]
mov ecx, 0x6f
call fcn.140040a70
test al, al
jne 0x14002e56a
mov rcx, rsi
call fcn.1400bdfd0
cmp byte [rsp + 0x117], 0
jns 0x14002e056
mov rcx, qword [rsp + 0x100]
call fcn.1400e0828
lea rcx, [rsp + 0x130]
call fcn.1400be180
cmp byte [rsp + 0x60], 0
je 0x14002df9f
cmp byte [rsp + 0x5f], 0
jns 0x14002df9f
mov rcx, qword [rsp + 0x48]
call fcn.1400e0828
jmp 0x14002df9f
mov rcx, qword [r14 + 8]
lea r8, str.profile_path
lea r14, [rsp + 0x48]
mov rdx, r14
call fcn.14002f1b0
cmp byte [r14 + 0x18], 0
je 0x14002e34f
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x160], r15
movzx eax, byte [rsp + 0x5f]
test al, al
cmovs rax, qword [rsp + 0x50]
movaps xmm6, xmmword [0x14017d9f0]
cmovs r14, qword [rsp + 0x48]
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rax
test rax, rax
js 0x14002e890
je 0x14002e103
test r14, r14
je 0x14002e8a3
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140044790
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.1400ff650
mov qword [r14 + 8], rax
mov rcx, rdi
mov rdx, r14
call fcn.140044790
movzx r9d, byte [rdi + 0x17]
test r9b, r9b
jns 0x14002e162
mov r9, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x130]
mov cl, byte [rsp + 0x167]
test cl, cl
mov rax, qword [rsp + 0x150]
mov r10, rbx
cmovs r10, rax
test r9, r9
je 0x14002e1e1
movzx edx, cl
test cl, cl
mov r8, qword [rsp + 0x158]
mov r14, rdx
cmovs r14, r8
cmp r14, r9
jl 0x14002e24b
lea r15, [r10 + r14*2]
movzx ebp, word [rdi]
lea r11, [r10 + r14*2]
add r11, 0xfffffffffffffffe
mov qword [rsp + 0x40], r11
mov r12, r10
mov r11, r14
sub r11, r9
inc r11
je 0x14002e24b
inc r14
xor r13d, r13d
cmp word [r12 + r13], bp
je 0x14002e2c0
add r13, 2
dec r14
cmp r9, r14
jne 0x14002e1c8
jmp 0x14002e24b
xor r14d, r14d
xorps xmm0, xmm0
lea r15, [rsp + 0x100]
movaps xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rcx, r15
call fcn.14002e8d0
mov edi, eax
test al, al
jne 0x14002e4a3
mov rcx, rsi
call fcn.1400bdfd0
cmp byte [rsp + 0x117], 0
jns 0x14002e22c
mov rcx, qword [rsp + 0x100]
call fcn.1400e0828
test dil, dil
je 0x14002e289
mov cl, byte [rsp + 0x167]
mov rax, qword [rsp + 0x150]
mov r8, qword [rsp + 0x158]
movzx edx, cl
test cl, cl
cmovs rdx, r8
cmovs rbx, rax
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rdx
test rdx, rdx
js 0x14002e890
je 0x14002e279
test rbx, rbx
je 0x14002e8a3
lea rdx, [rsp + 0x100]
mov rcx, rsi
call fcn.1400be050
cmp byte [rsp + 0x147], 0
jns 0x14002e2a0
mov rcx, qword [rsp + 0x130]
call fcn.1400e0828
cmp byte [rsp + 0x167], 0
jns 0x14002e063
mov rcx, qword [rsp + 0x150]
call fcn.1400e0828
jmp 0x14002e063
mov r14, r12
add r14, r13
je 0x14002e24b
mov qword [rsp + 0x38], r15
xor r11d, r11d
movzx r15d, word [r14 + r11*2]
cmp r15w, word [rdi + r11*2]
jne 0x14002e307
inc r11
cmp r9, r11
jne 0x14002e2d0
cmp r14, qword [rsp + 0x38]
je 0x14002e24b
sub r14, r10
mov r9, r14
add r9, 2
je 0x14002e24b
sar r14, 1
jmp 0x14002e1e4
mov r14, qword [rsp + 0x40]
sub r14, r12
add r12, r13
add r12, 2
sub r14, r13
sar r14, 1
cmp r14, r9
mov r15, qword [rsp + 0x38]
jge 0x14002e1b3
jmp 0x14002e24b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
xor edx, edx
xor ecx, ecx
jmp 0x14002e00b
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x130]
mov qword [rcx + 0x10], r15
movaps xmm6, xmmword [0x14017d9f0]
movaps xmmword [rcx], xmm6
call fcn.1400bdfd0
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 0x14002e32f
mov ebp, eax
mov r12d, eax
mov qword [rsp + 0x160], r15
movaps xmmword [rsp + 0x150], xmm6
cmp eax, 0xb
jae 0x14002e839
lea r14, [rsp + 0x150]
mov byte [r14 + 0x17], bpl
lea r8, [r12 + r12]
mov rcx, r14
xor edx, edx
call fcn.1400e3e50
mov word [r14 + r12*2], 0
cmp byte [rsp + 0x167], 0
jns 0x14002e3eb
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 0x14002dfce
mov edx, eax
mov cl, byte [rsp + 0x167]
test cl, cl
mov r8, qword [rsp + 0x158]
movzx ebx, cl
mov r9, rbx
cmovs r9, r8
cmp r9, rdx
jbe 0x14002dfce
mov r12, rdx
test cl, cl
jns 0x14002e491
sub r12, r8
ja 0x14002e78d
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 0x14002dfe5
sub r12, rbx
ja 0x14002e4f2
lea rcx, [rsp + 0x150]
mov byte [rcx + 0x17], al
jmp 0x14002e44c
movzx r8d, byte [rsp + 0x147]
test r8b, r8b
jns 0x14002e4b9
mov r8, qword [rsp + 0x138]
movzx eax, byte [rsp + 0x117]
test al, al
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.140130500
jmp 0x14002e215
je 0x14002e455
mov edx, 0xa
jmp 0x14002e7ad
test cl, cl
js 0x14002e510
lea rcx, [rsp + 0x100]
jmp 0x14002e518
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
test rax, rax
js 0x14002e890
test rcx, rcx
je 0x14002e8a3
lea rbx, [rsp + 0x150]
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.1400be050
lea rcx, [rsp + 0x130]
mov rdx, rbx
call fcn.1400be1f0
mov rcx, rbx
call fcn.1400be180
lea rcx, [rsp + 0x150]
mov qword [rcx + 0x10], r15
movaps xmmword [rcx], xmm6
lea rdx, str.CompanyName_ProductName_InternalStream
call fcn.1401187f0
call fcn.14002ef10
mov qword [rsp + 0xf0], rax
test rax, rax
je 0x14002e8b6
mov rcx, rax
call fcn.1400ff650
lea r9, [rsp + 0xf0]
mov qword [r9 + 8], rax
lea rax, [0x14018573d]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov qword [r8 + 8], 0xd
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.1400b96a0
call fcn.14002ef40
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x14002e8b6
mov rcx, rax
call fcn.1400ff650
lea r9, [rsp + 0xd0]
mov qword [r9 + 8], rax
lea rax, [0x14018574b]
lea r8, [rsp + 0xc0]
mov qword [r8], rax
mov qword [r8 + 8], 0xd
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.1400b96a0
lea rbx, [rsp + 0x98]
mov rcx, rbx
mov edx, edi
call fcn.14002f500
movzx eax, byte [rbx + 0x17]
test al, al
jns 0x14002e655
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rax
test rax, rax
js 0x14002e890
je 0x14002e679
test rbx, rbx
je 0x14002e8a3
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.1400b96a0
cmp byte [rsp + 0xaf], 0
jns 0x14002e6c4
mov rcx, qword [rsp + 0x98]
call fcn.1400e0828
mov dl, byte [rsp + 0x167]
test dl, dl
mov rax, qword [rsp + 0x150]
mov r9, qword [rsp + 0x158]
mov rcx, rdi
cmovs rcx, rax
movzx r8d, dl
mov r10, r8
cmovs r10, r9
test r10, r10
je 0x14002e727
xor eax, eax
jmp 0x14002e704
mov byte [rcx + rax], 0x5c
inc rax
cmp r10, rax
je 0x14002e70c
cmp byte [rcx + rax], 0x2f
jne 0x14002e6fc
jmp 0x14002e6f8
mov dl, byte [rsp + 0x167]
mov rax, qword [rsp + 0x150]
mov r9, qword [rsp + 0x158]
movzx r8d, dl
test dl, dl
cmovs r8, r9
cmovs rdi, rax
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], r8
test r8, r8
js 0x14002e890
je 0x14002e755
test rdi, rdi
je 0x14002e8a3
lea rcx, [rsp + 0x130]
lea r8, [rsp + 0x98]
mov rdx, rsi
call fcn.14004bb70
cmp byte [rsp + 0x167], 0
jns 0x14002e03f
mov rcx, qword [rsp + 0x150]
call fcn.1400e0828
jmp 0x14002e03f
je 0x14002e455
mov rcx, qword [rsp + 0x160]
mov rdx, rcx
btr rdx, 0x3f
dec rdx
shr rcx, 0x38
mov rbx, r8
mov rax, rdx
sub rax, rbx
cmp rax, r12
jae 0x14002e7e9
mov r8, r12
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.1400a6e70
mov qword [r14 + 8], rbx
mov cl, byte [r14 + 0x17]
test cl, cl
js 0x14002e7f7
lea r14, [rsp + 0x150]
jmp 0x14002e7ff
mov r14, qword [rsp + 0x150]
lea rcx, [r14 + rbx*2]
lea r8, [r12 + r12]
xor edx, edx
call fcn.1400e3e50
add rbx, r12
cmp byte [rsp + 0x167], 0
jns 0x14002e82c
mov qword [rsp + 0x158], rbx
lea rax, [r14 + rbx*2]
jmp 0x14002e450
mov eax, ebx
and al, 0x7f
mov byte [rsp + 0x167], al
jmp 0x14002e823
mov eax, r12d
and eax, 0xfffffffc
add rax, 4
mov r13, r12
or r13, 3
cmp r13, 0xb
cmove r13, rax
lea rcx, [r13*2 + 2]
call fcn.1400e07ec
mov r14, rax
mov qword [rsp + 0x150], rax
movabs rax, 0x7fffffffffffffff
add rax, r13
add rax, 2
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x158], r12
jmp 0x14002e3c4
lea rcx, [0x14018264d]
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.140119a40
lea rcx, [0x14018264d]
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.140119a40
lea rcx, [0x14018264d]
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.140119a40
int3