Function at 0x14004cea0
Capabilities:
Query environment variable

Disassembly:
push r14
push r15
sub rsp, 0x458
movzx eax, byte [rcx + 1]
movzx r15d, r8b
mov r14, rcx
cmp edx, eax
jl 0x14004cec8
xor eax, eax
add rsp, 0x458
pop r15
pop r14
ret
mov qword [rsp + 0x430], r13
movsxd r13, edx
shl r13, 5
add r13, qword [rcx + 8]
cmp byte [r13], 0
jne 0x14004cef8
xor eax, eax
mov r13, qword [rsp + 0x430]
add rsp, 0x458
pop r15
pop r14
ret
mov qword [rsp + 0x440], rdi
mov rdi, qword [r13 + 8]
cmp word [rdi], 0
jne 0x14004cf13
mov rax, qword [r13 + 0x10]
jmp 0x14004d2db
mov qword [rsp + 0x480], rbx
mov qword [rsp + 0x450], rbp
mov rbp, qword [r13 + 0x10]
mov qword [rsp + 0x448], rsi
mov qword [rsp + 0x438], r12
xor r12d, r12d
lea rdx, [0x1401442f0]
mov ebx, r12d
test rbp, rbp
je 0x14004d08a
mov rax, qword [rbp]
test rax, rax
je 0x14004d08a
cmp rdi, rax
jae 0x14004cf7e
nop
cmp rbx, 0xfd
jae 0x14004cf87
movzx eax, word [rdi]
add rdi, 2
inc rbx
mov word [rdx + rbx*2 - 2], ax
cmp rdi, qword [rbp]
jb 0x14004cf60
cmp rbx, 0xfd
jb 0x14004cf91
cmp rdi, qword [rbp]
jb 0x14004d07a
mov rsi, qword [rbp + 8]
movzx ecx, byte [rsi + 0x23]
test ecx, ecx
je 0x14004d030
dec ecx
je 0x14004cfd3
dec ecx
je 0x14004cfbb
dec ecx
je 0x14004d01e
mov rdx, qword [rsi + 0x28]
xor ecx, ecx
call qword [rsi + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x14004d03b
xor ecx, ecx
call fcn.140006960
mov r11, rax
mov eax, 0xffffffff
cmp r11, rax
cmove r11, r12
jmp 0x14004d03e
mov rcx, rsi
call fcn.140001130
cmp dword [0x14013b0c4], r12d
jne 0x14004d023
cmp qword [rsi + 0x10], r12
jne 0x14004d023
mov rcx, qword [rsi + 0x28]
lea rdx, [rsp + 0x478]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rdx, [0x1401442f0]
test eax, eax
je 0x14004d017
mov qword [0x1401440e0], r12
lea r11d, [rax - 1]
jmp 0x14004d045
mov qword [0x1401440e0], rsi
mov r11, r12
jmp 0x14004d045
mov r11, qword [rsi + 0x10]
shr r11, 1
jmp 0x14004d03e
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.1400e7270
mov r11, rax
lea rdx, [0x1401442f0]
mov eax, 0xfd
sub rax, rbx
cmp r11, rax
ja 0x14004d07a
mov rcx, qword [rbp + 8]
lea rdx, [rdx + rbx*2]
call fcn.1400e7270
lea rdx, [0x1401442f0]
add rbx, rax
movzx eax, word [rbp + 0x12]
add rbp, 0x18
lea rdi, [rdi + rax*2]
jmp 0x14004cf4d
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 0x14004d2ae
movzx eax, word [rdi]
test ax, ax
je 0x14004d0ae
cmp rbx, 0xfd
jae 0x14004d0b7
add rdi, 2
mov word [rdx + rbx*2], ax
inc rbx
movzx eax, word [rdi]
test ax, ax
jne 0x14004d092
cmp rbx, 0xfd
jb 0x14004d0bd
cmp word [rdi], r12w
jne 0x14004d07a
test rbx, rbx
jne 0x14004d0d2
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 0x14004d2ae
mov eax, dword [0x1401442e0]
mov word [rdx + rbx*2], r12w
test al, 1
jne 0x14004d117
or eax, 1
mov qword [0x1401442c0], r12
mov qword [0x1401442d8], rdx
mov dword [0x1401442e0], eax
lea rax, [0x140141fa8]
mov dword [0x1401442d0], 0x1000400
mov qword [0x1401442b8], rax
mov qword [0x1401442c8], r12
test r15b, r15b
jne 0x14004d20f
cmp word [0x1401442f0], r12w
je 0x14004d2b9
mov rdi, rdx
movzx ebp, word [rdi]
mov esi, ebp
mov ecx, ebp
and esi, 0xffffff80
jne 0x14004d14c
mov edx, 0x107
call qword [sym.imp.MSVCR100.dll__isctype]
test eax, eax
jne 0x14004d165
test esi, esi
jne 0x14004d165
lea rcx, [0x140127670]
movzx edx, bp
call qword [sym.imp.MSVCR100.dll_wcschr]
test rax, rax
je 0x14004d1ba
add rdi, 2
cmp word [rdi], r12w
jne 0x14004d131
lea rdi, [0x1401442f0]
lea rcx, [0x140143150]
xor r9d, r9d
mov r8, rbx
mov rdx, rdi
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 3
call fcn.14004d390
test rax, rax
jne 0x14004d2bb
mov rcx, rdi
call fcn.14004dfd0
test rax, rax
jne 0x14004d208
lea rax, [0x1401442b0]
jmp 0x14004d2bb
lea rdi, [0x1401442f0]
lea r9, str.variable
lea r8, str.The_following__s_name_contains_an_illegal_character:_n___1.300s_
lea rcx, [rsp + 0x30]
mov edx, 0x200
mov qword [rsp + 0x20], rdi
call fcn.1400e0640
lea r8, [0x1401035ac]
lea rdx, [rsp + 0x30]
lea rcx, [0x140143150]
call fcn.14005f7b0
test eax, eax
jne 0x14004d176
jmp 0x14004d2b9
lea rdx, [0x1401442f0]
cmp word [0x1401442f0], r12w
je 0x14004d2b9
lea rax, [rsp + 0x478]
lea r9, [rsp + 0x470]
lea rcx, [0x140143150]
mov qword [rsp + 0x28], rax
mov r8, rbx
mov dword [rsp + 0x20], 3
call fcn.14004d390
lea rdi, [0x1401442f0]
test rax, rax
jne 0x14004d288
cmp byte [rsp + 0x478], r12b
mov r9d, dword [rsp + 0x470]
lea rcx, [0x140143150]
setne r12b
mov r8, rbx
mov rdx, rdi
inc r12d
mov dword [rsp + 0x20], r12d
call fcn.14004d950
test rax, rax
je 0x14004d2b9
cmp byte [r13], 2
jne 0x14004d2bb
movzx ecx, byte [rax + 0x23]
test cl, cl
jne 0x14004d29f
mov rcx, qword [rax + 0x10]
movzx ecx, byte [rcx + 0x23]
cmp cl, 2
jbe 0x14004d2bb
mov r9, rdi
lea rdx, str.Not_allowed_as_an_output_variable.
xor r8d, r8d
mov rcx, r14
call fcn.14005f3f0
xor eax, eax
mov r12, qword [rsp + 0x438]
mov rbp, qword [rsp + 0x450]
mov rsi, qword [rsp + 0x448]
mov rbx, qword [rsp + 0x480]
mov rdi, qword [rsp + 0x440]
mov r13, qword [rsp + 0x430]
add rsp, 0x458
pop r15
pop r14
ret