Function at 0x1400352b0
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 [0x1401df038]
xor rax, rsp
mov qword [rsp + 0x168], rax
mov rcx, qword [rcx]
movzx eax, byte [rcx + 0x17]
test al, al
jns 0x1400352f5
mov rax, qword [rcx + 8]
test rax, rax
je 0x140035387
mov rcx, qword [r14 + 8]
lea r8, str.single_profile
lea rbx, [rsp + 0x150]
mov rdx, rbx
call fcn.140036930
cmp byte [rbx + 1], 0
je 0x140035478
cmp byte [rsp + 0x150], 0
je 0x140035478
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.1400ef6b0
lea rax, [0x1401b71c0]
lea r8, [rsp + 0x68]
mov qword [r8], rax
mov qword [r8 + 8], 4
mov rcx, rdi
mov rdx, rsi
call fcn.1400ef6b0
mov rcx, rdi
call fcn.1400ee050
jmp 0x14003538f
mov rcx, rsi
call fcn.1400edea0
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.140125960
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 0x1400353ec
mov rcx, qword [rsp + 0x150]
call fcn.140124dec
mov cl, byte [rsp + 0x117]
mov rdx, qword [rsp + 0x108]
test cl, cl
movzx eax, cl
cmovs rax, rdx
test rax, rax
jne 0x1400358f2
lea rdx, [rsp + 0x130]
mov ecx, reloc.WS2_32.dll_WSAGetLastError
call fcn.1400842f0
test al, al
jne 0x14003595a
mov rcx, rsi
call fcn.1400edea0
cmp byte [rsp + 0x117], 0
jns 0x140035446
mov rcx, qword [rsp + 0x100]
call fcn.140124dec
lea rcx, [rsp + 0x130]
call fcn.1400ee050
cmp byte [rsp + 0x60], 0
je 0x14003538f
cmp byte [rsp + 0x5f], 0
jns 0x14003538f
mov rcx, qword [rsp + 0x48]
call fcn.140124dec
jmp 0x14003538f
mov rcx, qword [r14 + 8]
lea r8, str.profile_path
lea r14, [rsp + 0x48]
mov rdx, r14
call fcn.1400369c0
cmp byte [r14 + 0x18], 0
je 0x14003573f
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x160], r15
movzx eax, byte [rsp + 0x5f]
test al, al
cmovs rax, qword [rsp + 0x50]
movaps xmm6, xmmword [0x1401af9e0]
cmovs r14, qword [rsp + 0x48]
movaps xmmword [rsp + 0x150], xmm6
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rax
test rax, rax
js 0x140035c80
je 0x1400354f3
test r14, r14
je 0x140035c93
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.1400894c0
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.1401473f0
mov qword [r14 + 8], rax
mov rcx, rdi
mov rdx, r14
call fcn.1400894c0
movzx r9d, byte [rdi + 0x17]
test r9b, r9b
jns 0x140035552
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 0x1400355d1
movzx edx, cl
test cl, cl
mov r8, qword [rsp + 0x158]
mov r14, rdx
cmovs r14, r8
cmp r14, r9
jl 0x14003563b
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 0x14003563b
inc r14
xor r13d, r13d
cmp word [r12 + r13], bp
je 0x1400356b0
add r13, 2
dec r14
cmp r9, r14
jne 0x1400355b8
jmp 0x14003563b
xor r14d, r14d
xorps xmm0, xmm0
lea r15, [rsp + 0x100]
movaps xmmword [r15], xmm0
mov qword [r15 + 0x10], 0
mov rcx, r15
call fcn.140035e80
mov edi, eax
test al, al
jne 0x140035893
mov rcx, rsi
call fcn.1400edea0
cmp byte [rsp + 0x117], 0
jns 0x14003561c
mov rcx, qword [rsp + 0x100]
call fcn.140124dec
test dil, dil
je 0x140035679
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 0x140035c80
je 0x140035669
test rbx, rbx
je 0x140035c93
lea rdx, [rsp + 0x100]
mov rcx, rsi
call fcn.1400edf20
cmp byte [rsp + 0x147], 0
jns 0x140035690
mov rcx, qword [rsp + 0x130]
call fcn.140124dec
cmp byte [rsp + 0x167], 0
jns 0x140035453
mov rcx, qword [rsp + 0x150]
call fcn.140124dec
jmp 0x140035453
mov r14, r12
add r14, r13
je 0x14003563b
mov qword [rsp + 0x38], r15
xor r11d, r11d
movzx r15d, word [r14 + r11*2]
cmp r15w, word [rdi + r11*2]
jne 0x1400356f7
inc r11
cmp r9, r11
jne 0x1400356c0
cmp r14, qword [rsp + 0x38]
je 0x14003563b
sub r14, r10
mov r9, r14
add r9, 2
je 0x14003563b
sar r14, 1
jmp 0x1400355d4
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 0x1400355a3
jmp 0x14003563b
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x110], 0
xor edx, edx
xor ecx, ecx
jmp 0x1400353fb
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x130]
mov qword [rcx + 0x10], r15
movaps xmm6, xmmword [0x1401af9e0]
movaps xmmword [rcx], xmm6
call fcn.1400edea0
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 0x14003571f
mov ebp, eax
mov r12d, eax
mov qword [rsp + 0x160], r15
movaps xmmword [rsp + 0x150], xmm6
cmp eax, 0xb
jae 0x140035c29
lea r14, [rsp + 0x150]
mov byte [r14 + 0x17], bpl
lea r8, [r12 + r12]
mov rcx, r14
xor edx, edx
call fcn.1401288f0
mov word [r14 + r12*2], 0
cmp byte [rsp + 0x167], 0
jns 0x1400357db
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 0x1400353be
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 0x1400353be
mov r12, rdx
test cl, cl
jns 0x140035881
sub r12, r8
ja 0x140035b7d
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 0x1400353d5
sub r12, rbx
ja 0x1400358e2
lea rcx, [rsp + 0x150]
mov byte [rcx + 0x17], al
jmp 0x14003583c
movzx r8d, byte [rsp + 0x147]
test r8b, r8b
jns 0x1400358a9
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.140179500
jmp 0x140035605
je 0x140035845
mov edx, 0xa
jmp 0x140035b9d
test cl, cl
js 0x140035900
lea rcx, [rsp + 0x100]
jmp 0x140035908
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
test rax, rax
js 0x140035c80
test rcx, rcx
je 0x140035c93
lea rbx, [rsp + 0x150]
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.1400edf20
lea rcx, [rsp + 0x130]
mov rdx, rbx
call fcn.1400ee0c0
mov rcx, rbx
call fcn.1400ee050
lea rcx, [rsp + 0x150]
mov qword [rcx + 0x10], r15
movaps xmmword [rcx], xmm6
lea rdx, str.CompanyName_ProductName_InternalStream
call fcn.14015f450
call fcn.1400365a0
mov qword [rsp + 0xf0], rax
test rax, rax
je 0x140035ca6
mov rcx, rax
call fcn.1401473f0
lea r9, [rsp + 0xf0]
mov qword [r9 + 8], rax
lea rax, [0x1401b720d]
lea r8, [rsp + 0xe0]
mov qword [r8], rax
mov qword [r8 + 8], SafeArrayDestroy
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.1400e6c60
call fcn.1400365d0
mov qword [rsp + 0xd0], rax
test rax, rax
je 0x140035ca6
mov rcx, rax
call fcn.1401473f0
lea r9, [rsp + 0xd0]
mov qword [r9 + 8], rax
lea rax, [0x1401b721b]
lea r8, [rsp + 0xc0]
mov qword [r8], rax
mov qword [r8 + 8], SafeArrayDestroy
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.1400e6c60
lea rbx, [rsp + 0x98]
mov rcx, rbx
mov edx, edi
call fcn.140036d10
movzx eax, byte [rbx + 0x17]
test al, al
jns 0x140035a45
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rax
test rax, rax
js 0x140035c80
je 0x140035a69
test rbx, rbx
je 0x140035c93
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.1400e6c60
cmp byte [rsp + 0xaf], 0
jns 0x140035ab4
mov rcx, qword [rsp + 0x98]
call fcn.140124dec
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 0x140035b17
xor eax, eax
jmp 0x140035af4
mov byte [rcx + rax], 0x5c
inc rax
cmp r10, rax
je 0x140035afc
cmp byte [rcx + rax], 0x2f
jne 0x140035aec
jmp 0x140035ae8
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 0x140035c80
je 0x140035b45
test rdi, rdi
je 0x140035c93
lea rcx, [rsp + 0x130]
lea r8, [rsp + 0x98]
mov rdx, rsi
call fcn.140094200
cmp byte [rsp + 0x167], 0
jns 0x14003542f
mov rcx, qword [rsp + 0x150]
call fcn.140124dec
jmp 0x14003542f
je 0x140035845
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 0x140035bd9
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.1400cdd40
mov qword [r14 + 8], rbx
mov cl, byte [r14 + 0x17]
test cl, cl
js 0x140035be7
lea r14, [rsp + 0x150]
jmp 0x140035bef
mov r14, qword [rsp + 0x150]
lea rcx, [r14 + rbx*2]
lea r8, [r12 + r12]
xor edx, edx
call fcn.1401288f0
add rbx, r12
cmp byte [rsp + 0x167], 0
jns 0x140035c1c
mov qword [rsp + 0x158], rbx
lea rax, [r14 + rbx*2]
jmp 0x140035840
mov eax, ebx
and al, 0x7f
mov byte [rsp + 0x167], al
jmp 0x140035c13
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.140124db0
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 0x1400357b4
lea rcx, [0x1401b4107]
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.140160550
lea rcx, [0x1401b4107]
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.140160550
lea rcx, [0x1401b4107]
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.140160550
int3