Function at 0x14002a380
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
movaps xmmword [rsp + 0x2e0], xmm7
movaps xmmword [rsp + 0x2d0], xmm6
mov r14, rdx
mov rsi, rcx
mov rax, qword [0x1400e5028]
xor rax, rsp
mov qword [rsp + 0x2c8], rax
mov ecx, 0xa0
call fcn.14005dad8
mov r12, rax
mov rcx, rax
call fcn.140029ba0
mov qword [rsp + 0x38], rsi
mov qword [rsi], r12
movzx ecx, byte [r14 + 0x17]
mov rax, rcx
test cl, cl
jns 0x14002a3e8
mov rax, qword [r14 + 8]
mov r15, qword [0x1400d3b50]
lea rdx, [r15 + 0xc]
cmp rax, rdx
jae 0x14002a42a
xorps xmm0, xmm0
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
mov rdx, qword [0x1400d41f8]
cmp byte [rsp + 0xd7], 0
jns 0x14002a484
mov rcx, qword [rsp + 0xc0]
jmp 0x14002a48c
mov rdx, r14
test cl, cl
jns 0x14002a434
mov rdx, qword [r14]
lea rsi, [rdx + rax*2]
add rsi, 0xffffffffffffffe8
lea rdi, str.Application
mov r8d, 0xc
mov rcx, rsi
mov rdx, rdi
call fcn.140071d0c
test eax, eax
je 0x14002a8dd
mov cl, byte [r14 + 0x17]
test cl, cl
mov rax, qword [r14]
mov rbx, r14
cmovs rbx, rax
lea rdx, [rsi - 2]
cmp rsi, rbx
mov rsi, rdx
jne 0x14002a443
add rdx, 2
mov rsi, rdx
jmp 0x14002a8e8
lea rcx, [rsp + 0xc0]
call fcn.140071b5c
test eax, eax
jne 0x14002aa39
xor ecx, ecx
imul rax, rcx, 0xb0
lea r15, [0x1400d41e0]
add r15, rax
cmp byte [rsp + 0xd7], 0
js 0x14002aa5b
cmp byte [r15 + 0x9c], 0
je 0x14002a616
lea rsi, [rsp + 0xc0]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.1400611e0
mov word [rsi], 0
lea rcx, str.PROGRAMFILES
mov rdx, rsi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x14002a544
mov edi, eax
test rdi, rdi
je 0x14002a544
mov rsi, rdi
dec rdi
cmp word [rsp + rsi*2 + 0xbe], 0x5c
je 0x14002a508
cmp byte [r14 + 0x17], 0
mov rcx, r14
jns 0x14002a52b
mov rcx, qword [r14]
lea r8, [rdi + 1]
lea rdx, [rsp + 0xc0]
call fcn.140071d0c
test eax, eax
je 0x14002aad4
lea rdx, [rsp + 0xc0]
mov word [rdx], 0
lea rcx, str.PROGRAMFILES_X86_
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x14002a5ad
mov edi, eax
test rdi, rdi
je 0x14002a5ad
mov rsi, rdi
dec rdi
cmp word [rsp + rsi*2 + 0xbe], 0x5c
je 0x14002a571
cmp byte [r14 + 0x17], 0
mov rcx, r14
jns 0x14002a594
mov rcx, qword [r14]
lea r8, [rdi + 1]
lea rdx, [rsp + 0xc0]
call fcn.140071d0c
test eax, eax
je 0x14002ab0d
lea rdx, [rsp + 0xc0]
mov word [rdx], 0
lea rcx, str.PROGRAMW6432
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x14002a616
mov edi, eax
test rdi, rdi
je 0x14002a616
mov rsi, rdi
dec rdi
cmp word [rsp + rsi*2 + 0xbe], 0x5c
je 0x14002a5da
cmp byte [r14 + 0x17], 0
mov rcx, r14
jns 0x14002a5fd
mov rcx, qword [r14]
lea r8, [rdi + 1]
lea rdx, [rsp + 0xc0]
call fcn.140071d0c
test eax, eax
je 0x14002ab46
xor ebp, ebp
mov qword [r12 + 0x68], r15
mov byte [r12 + 0x98], bpl
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0xa0]
mov qword [rsi + 0x10], rax
movaps xmm6, xmmword [0x1400ca990]
movaps xmmword [rsi], xmm6
mov rdx, qword [r15 + 0x28]
mov rcx, rsi
call fcn.14002ebc0
xor ebx, ebx
mov qword [rsp + 0x90], rbx
xorps xmm7, xmm7
movaps xmmword [rsp + 0x80], xmm7
cmp byte [rsi + 0x17], 0
jns 0x14002a674
mov rsi, qword [rsp + 0xa0]
movzx eax, bpl
mov ecx, 2
sub ecx, eax
lea rdi, [rsp + 0x80]
mov qword [rsp + 0x20], rdi
lea r9, str.channel
mov edx, 0x200
mov r8, rsi
call fcn.14002f080
cmp byte [rdi + 0x17], 0
jns 0x14002a6ae
mov rdi, qword [rsp + 0x80]
lea rsi, [rsp + 0x60]
mov qword [rsi + 0x10], rbx
movaps xmmword [rsi], xmm7
test al, al
cmove rdi, rbx
lea r13, [rsp + 0x40]
mov qword [r13 + 0x10], rbx
movaps xmmword [r13], xmm7
lea rbx, [rsp + 0xc0]
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rsi
mov rcx, rbx
mov rdx, r15
mov r8d, ebp
mov r9, rdi
call fcn.140029cf0
lea rbp, [r12 + 0x10]
cmp byte [r12 + 0x27], 0
js 0x14002a860
cmp byte [rsp + 0xd7], 0
mov rdi, qword [rsp + 0x38]
js 0x14002a901
mov rax, qword [rsp + 0xd0]
mov qword [rbp + 0x10], rax
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rbp], xmm0
movzx eax, byte [r12 + 0x27]
test al, al
js 0x14002aa6d
mov qword [r12 + 0x70], rbp
mov qword [r12 + 0x78], rax
mov eax, dword [rsp + 0xd8]
mov dword [r12 + 0x80], eax
lea rbp, [r12 + 0x28]
cmp byte [r12 + 0x3f], 0
js 0x14002a893
cmp byte [rsp + 0x77], 0
js 0x14002a91e
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x10], rax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp], xmm0
cmp byte [r12 + 0x3f], 0
js 0x14002aa81
mov qword [r12 + 0x88], rbp
mov rsi, r12
add rsi, 0x40
cmp byte [r12 + 0x57], 0
js 0x14002a8b8
cmp byte [rsp + 0x57], 0
js 0x14002a935
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
cmp byte [r12 + 0x57], 0
js 0x14002aa8a
mov qword [r12 + 0x90], rsi
cmp byte [rsp + 0xd7], 0
js 0x14002aa92
cmp byte [rsp + 0x57], 0
js 0x14002aaa4
cmp byte [rsp + 0x77], 0
js 0x14002aab3
cmp byte [rsp + 0x97], 0
js 0x14002aac2
cmp byte [rsp + 0xb7], 0
jns 0x14002a829
mov rcx, qword [rsp + 0xa0]
call fcn.14005db14
mov rcx, qword [rsp + 0x2c8]
xor rcx, rsp
call fcn.14005e850
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x2d0]
movaps xmm7, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx r8d, byte [rsp + 0xd7]
test r8b, r8b
cmovs r8, qword [rsp + 0xc8]
cmovs rbx, qword [rsp + 0xc0]
mov rcx, rbp
mov rdx, rbx
call fcn.140043c20
mov rdi, qword [rsp + 0x38]
jmp 0x14002a734
movzx r8d, byte [rsp + 0x77]
test r8b, r8b
cmovs r8, qword [rsp + 0x68]
cmovs rsi, qword [rsp + 0x60]
mov rcx, rbp
mov rdx, rsi
call fcn.140043c20
jmp 0x14002a789
movzx r8d, byte [rsp + 0x57]
test r8b, r8b
cmovs r8, qword [rsp + 0x48]
cmovs r13, qword [rsp + 0x40]
mov rcx, rsi
mov rdx, r13
call fcn.140043c20
jmp 0x14002a7cc
mov cl, byte [r14 + 0x17]
mov rax, qword [r14]
add rsi, 2
test cl, cl
cmovns rax, r14
cmp rsi, rax
je 0x14002a3f8
test cl, cl
jns 0x14002a94c
mov rcx, qword [r14 + 8]
jmp 0x14002a94f
mov rdx, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
mov rcx, rbp
call fcn.140043d50
jmp 0x14002a734
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov rcx, rbp
call fcn.140043d50
jmp 0x14002a789
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rcx, rsi
call fcn.140043d50
jmp 0x14002a7cc
movzx ecx, cl
lea rcx, [rax + rcx*2]
sub rcx, rsi
cmp rcx, 0x16
je 0x14002a967
cmp word [rsi + 0x16], 0x5c
jne 0x14002a3f8
lea rcx, [rax + 2]
mov rdx, rsi
cmp rcx, rdx
je 0x14002a983
lea rbp, [rdx - 2]
cmp word [rdx - 4], 0x5c
mov rdx, rbp
jne 0x14002a96e
jmp 0x14002a986
mov rbp, rax
lea rdx, [0x1400d3b3e]
mov rcx, rbp
mov r8, r15
call fcn.140071d0c
test eax, eax
jne 0x14002a3f8
add rbp, 2
movabs rdi, 0x7fffffffffffffef
sub rsi, rbp
sar rsi, 1
sub rsi, r15
cmp rsi, rdi
ja 0x14002aa2c
cmp rsi, 0xb
jae 0x14002a9d5
lea r13, [rsp + 0xc0]
mov byte [r13 + 0x17], sil
test rsi, rsi
jne 0x14002aa08
jmp 0x14002aa1f
lea rbx, [rsi + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.14005dad8
mov r13, rax
mov qword [rsp + 0xc0], rax
add rdi, 0x11
or rdi, rbx
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], rsi
lea rdx, [r15*2 - 2]
add rdx, rbp
lea r8, [rsi + rsi]
mov rcx, r13
call fcn.140060dd0
mov word [r13 + rsi*2], 0
jmp 0x14002a40f
lea rcx, [rsp + 0xc0]
call fcn.1400a9630
mov rdx, qword [str._Beta]
cmp byte [rsp + 0xd7], 0
jns 0x14002ab7d
mov rcx, qword [rsp + 0xc0]
jmp 0x14002ab85
mov rcx, qword [rsp + 0xc0]
call fcn.14005db14
jmp 0x14002a4ba
mov rcx, qword [r12 + 0x10]
mov rax, qword [r12 + 0x18]
mov qword [r12 + 0x70], rcx
jmp 0x14002a747
mov rbp, qword [rbp]
jmp 0x14002a795
mov rsi, qword [rsi]
jmp 0x14002a7d8
mov rcx, qword [rsp + 0xc0]
call fcn.14005db14
jmp 0x14002a7ee
mov rcx, qword [rsp + 0x40]
call fcn.14005db14
jmp 0x14002a7f9
mov rcx, qword [rsp + 0x60]
call fcn.14005db14
jmp 0x14002a804
mov rcx, qword [rsp + 0x80]
call fcn.14005db14
jmp 0x14002a812
movzx eax, byte [r14 + 0x17]
mov rcx, rax
test al, al
jns 0x14002aae4
mov rcx, qword [r14 + 8]
dec rcx
mov bpl, 1
cmp rcx, rdi
je 0x14002a618
mov rcx, r14
test al, al
jns 0x14002aafd
mov rcx, qword [r14]
cmp word [rcx + rsi*2], 0x5c
jne 0x14002a544
jmp 0x14002a618
movzx eax, byte [r14 + 0x17]
mov rcx, rax
test al, al
jns 0x14002ab1d
mov rcx, qword [r14 + 8]
dec rcx
mov bpl, 1
cmp rcx, rdi
je 0x14002a618
mov rcx, r14
test al, al
jns 0x14002ab36
mov rcx, qword [r14]
cmp word [rcx + rsi*2], 0x5c
jne 0x14002a5ad
jmp 0x14002a618
movzx eax, byte [r14 + 0x17]
mov rcx, rax
test al, al
jns 0x14002ab56
mov rcx, qword [r14 + 8]
dec rcx
mov bpl, 1
cmp rcx, rdi
je 0x14002a618
test al, al
jns 0x14002ab6c
mov r14, qword [r14]
cmp word [r14 + rsi*2], 0x5c
jne 0x14002a616
jmp 0x14002a618
lea rcx, [rsp + 0xc0]
call fcn.140071b5c
mov ecx, 1
test eax, eax
je 0x14002a49b
mov rdx, qword [str._Dev]
cmp byte [rsp + 0xd7], 0
jns 0x14002abb2
mov rcx, qword [rsp + 0xc0]
jmp 0x14002abba
lea rcx, [rsp + 0xc0]
call fcn.140071b5c
mov ecx, 2
test eax, eax
je 0x14002a49b
mov rdx, qword [str._SxS]
cmp byte [rsp + 0xd7], 0
jns 0x14002abe7
mov rcx, qword [rsp + 0xc0]
jmp 0x14002abef
lea rcx, [rsp + 0xc0]
call fcn.140071b5c
mov ecx, 3
test eax, eax
je 0x14002a49b
lea r15, [0x1400d41e0]
jmp 0x14002a4ac