Function at 0x140029e8e
Capabilities:
Query environment variable

Disassembly:
push rbp
push r12
sub rsp, 0x458
movzx eax, byte [rcx + 1]
movzx ebp, r8b
mov r12, rcx
cmp edx, eax
jl 0x140029eb9
xor eax, eax
add rsp, 0x458
pop r12
pop rbp
ret
mov qword [rsp + 0x440], r13
movsxd r13, edx
shl r13, 5
add r13, qword [rcx + 8]
cmp byte [r13], 0
jne 0x140029eec
xor eax, eax
mov r13, qword [rsp + 0x440]
add rsp, 0x458
pop r12
pop rbp
ret
mov qword [rsp + 0x448], rdi
mov rdi, qword [r13 + 8]
cmp word [rdi], 0
jne 0x140029f0b
mov rax, qword [r13 + 0x10]
jmp 0x14002a36e
mov qword [rsp + 0x480], rbx
mov qword [rsp + 0x450], rsi
lea rsi, [0x140190960]
mov qword [rsp + 0x438], r14
mov r14, qword [r13 + 0x10]
mov qword [rsp + 0x430], r15
xor r15d, r15d
mov ebx, r15d
test r14, r14
je 0x14002a0a1
mov rax, qword [r14]
test rax, rax
je 0x14002a0a1
cmp rdi, rax
jae 0x140029f82
nop dword [rax]
cmp rbx, 0xfd
jae 0x140029f8f
movzx eax, word [rdi]
add rdi, 2
mov word [rsi + rbx*2], ax
inc rbx
cmp rdi, qword [r14]
jb 0x140029f5e
cmp rbx, 0xfd
jb 0x140029f98
cmp rdi, qword [r14]
jb 0x14002a101
mov rsi, qword [r14 + 8]
movzx ecx, byte [rsi + 0x23]
test ecx, ecx
je 0x14002a052
sub ecx, 1
je 0x140029fec
sub ecx, 1
je 0x140029fd1
cmp ecx, 1
je 0x14002a03e
mov rdx, qword [rsi + 0x28]
xor ecx, ecx
call qword [rsi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14002a05d
xor edx, edx
call fcn.1400050db
mov rcx, rax
mov eax, 0xffffffff
cmp rcx, rax
cmove rcx, r15
jmp 0x14002a060
mov rcx, rsi
call fcn.14000134c
cmp dword [0x14018ac4c], r15d
jne 0x14002a046
cmp qword [rsi + 0x10], r15
jne 0x14002a046
mov rcx, qword [rsi + 0x28]
lea rdx, [rsp + 0x478]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x14002a037
mov qword [0x140190930], r15
lea ecx, [rax - 1]
jmp 0x14002a060
mov qword [0x140190930], rsi
mov rcx, r15
jmp 0x14002a060
mov rcx, qword [rsi + 0x10]
shr rcx, 1
jmp 0x14002a060
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.14009b859
mov rcx, rax
mov eax, 0xfd
sub rax, rbx
cmp rcx, rax
ja 0x14002a101
mov rcx, qword [r14 + 8]
lea rsi, [0x140190960]
lea rdx, [rsi + rbx*2]
call fcn.14009b859
add rbx, rax
movzx eax, word [r14 + 0x12]
add r14, 0x18
lea rdi, [rdi + rax*2]
mov rax, qword [r14]
test rax, rax
jne 0x140029f51
movzx eax, word [rdi]
test ax, ax
je 0x14002a0d1
cmp rbx, 0xfd
jae 0x14002a0de
add rdi, 2
mov word [rsi + rbx*2], ax
inc rbx
movzx eax, word [rdi]
test ax, ax
jne 0x14002a0ad
cmp rbx, 0xfd
jb 0x14002a0e8
cmp word [rdi], r15w
jne 0x14002a101
test rbx, rbx
jne 0x14002a111
mov r9, qword [r13 + 8]
lea rdx, str.This_dynamic_variable_is_blank._If_this_variable_was_not_intended_to_be_dynamic__remove_the___symbols_from_it.
jmp 0x14002a341
mov r9, qword [r13 + 8]
lea rdx, str.This_dynamically_built_variable_name_is_too_long.__If_this_variable_was_not_intended_to_be_dynamic__remove_the___symbols_from_it.
jmp 0x14002a341
mov rax, qword gs:[0x58]
mov edx, 4
mov word [rsi + rbx*2], r15w
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140190b5c], eax
jle 0x14002a188
lea rcx, [0x140190b5c]
call fcn.1400b639d
cmp dword [0x140190b5c], 0xffffffff
jne 0x14002a188
lea rax, [0x14018e2b0]
mov qword [0x140190b70], r15
lea rcx, [0x140190b5c]
mov qword [0x140190b68], rax
mov dword [0x140190b80], 0x1000400
mov qword [0x140190b88], rsi
mov qword [0x140190b78], r15
call fcn.1400b633d
test bpl, bpl
jne 0x14002a292
cmp word [0x140190960], r15w
je 0x14002a34c
mov rdi, rsi
nop dword [rax]
movzx ebp, word [rdi]
mov esi, ebp
mov ecx, ebp
and esi, 0xffffff80
jne 0x14002a1c7
mov edx, 0x107
call fcn.1400bdc33
test eax, eax
jne 0x14002a1e7
test esi, esi
jne 0x14002a1e7
movzx edx, bp
lea rcx, [0x14010eee0]
call fcn.1400b8b6c
test rax, rax
je 0x14002a244
add rdi, 2
cmp word [rdi], r15w
jne 0x14002a1a5
lea rsi, [0x140190960]
mov qword [rsp + 0x28], r15
lea rcx, [0x14018e350]
xor r9d, r9d
mov dword [rsp + 0x20], 3
mov r8, rbx
mov rdx, rsi
call fcn.14002a42c
test rax, rax
jne 0x14002a34e
mov rcx, rsi
call fcn.14002adb4
test rax, rax
jne 0x14002a292
lea rax, [0x140190b60]
jmp 0x14002a34e
lea rsi, [0x140190960]
mov edx, 0x200
lea r9, str.variable
mov qword [rsp + 0x20], rsi
lea r8, str.The_following__s_name_contains_an_illegal_character:_n___1.300s_
lea rcx, [rsp + 0x30]
call fcn.140097786
lea r8, [0x14010d0d8]
lea rdx, [rsp + 0x30]
lea rcx, [0x14018e350]
call fcn.14003c3c4
test eax, eax
je 0x14002a34c
jmp 0x14002a1fc
cmp word [0x140190960], r15w
je 0x14002a34c
lea rax, [rsp + 0x478]
mov r8, rbx
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x470]
mov rdx, rsi
mov dword [rsp + 0x20], 3
lea rcx, [0x14018e350]
call fcn.14002a42c
test rax, rax
jne 0x14002a30f
cmp byte [rsp + 0x478], r15b
lea rcx, [0x14018e350]
mov r9d, dword [rsp + 0x470]
mov r8, rbx
setne r15b
mov rdx, rsi
inc r15d
mov dword [rsp + 0x20], r15d
call fcn.14002a77a
test rax, rax
je 0x14002a34c
cmp byte [r13], 2
jne 0x14002a34e
movzx ecx, byte [rax + 0x23]
test cl, cl
jne 0x14002a32e
mov rcx, qword [rax + 0x10]
movzx ecx, byte [rcx + 0x23]
cmp cl, 2
jbe 0x14002a34e
mov r9, rsi
lea rdx, str.Not_allowed_as_an_output_variable.
xor r8d, r8d
mov rcx, r12
call fcn.14003c000
xor eax, eax
mov r14, qword [rsp + 0x438]
mov rbx, qword [rsp + 0x480]
mov rsi, qword [rsp + 0x450]
mov r15, qword [rsp + 0x430]
mov rdi, qword [rsp + 0x448]
mov r13, qword [rsp + 0x440]
add rsp, 0x458
pop r12
pop rbp
ret