Function at 0x14000555c
Capabilities:
Query environment variable

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rax, qword [0x140163300]
sub rax, qword [0x1401632f8]
lea rbx, [0x1401632e0]
cmp rax, 0x13
ja 0x140005592
mov edx, 0x14
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
xor r12d, r12d
movabs rdi, 0x5f5443454c4c4f43
movabs rbp, 0x4954504f5f434347
mov qword [rax], rdi
mov qword [rax + 8], rbp
mov dword [rax + 0x10], 0x3d534e4f
mov eax, 1
add qword [0x1401632f8], 0x14
cmp dword [0x140163164], r12d
mov rcx, qword [0x140163300]
mov rdx, qword [0x1401632f8]
jle 0x1400058a5
test eax, eax
jne 0x14000560d
cmp rcx, rdx
jne 0x1400055fc
mov edx, 1
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov byte [rax], 0x20
inc qword [0x1401632f8]
imul r13, r12, 0x18
mov rax, qword [0x140163168]
mov eax, dword [rax + r13 + 0x10]
and eax, 0x14
cmp eax, 4
jne 0x14000562c
inc r12
xor eax, eax
jmp 0x1400055cb
mov rax, qword [0x140163300]
sub rax, qword [0x1401632f8]
cmp rax, 1
ja 0x14000564d
mov edx, 2
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov word [rax], 0x2d27
mov rax, qword [0x140163168]
add qword [0x1401632f8], 2
mov rsi, qword [rax + r13]
mov edx, 0x27
mov rcx, rsi
call sub.msvcrt.dll_strchr
mov rdi, qword [0x140163300]
sub rdi, qword [0x1401632f8]
mov r14, rax
test rax, rax
je 0x1400056fa
mov rbp, r14
sub rbp, rsi
cmp rdi, rbp
jae 0x1400056a5
mov rdx, rbp
mov rcx, rbx
call fcn.1400629fb
mov rdi, qword [0x1401632f8]
mov rcx, rbp
rep movsb byte [rdi], byte [rsi]
mov rax, qword [0x140163300]
add rbp, qword [0x1401632f8]
mov qword [0x1401632f8], rbp
sub rax, rbp
cmp rax, 3
ja 0x1400056dc
mov edx, 4
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
lea rsi, [r14 + 1]
mov dword [rax], 0x27275c27
add qword [0x1401632f8], 4
jmp 0x14000566c
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rbp, rax
cmp rdi, rax
jae 0x140005715
mov rdx, rax
mov rcx, rbx
call fcn.1400629fb
mov rdi, qword [0x1401632f8]
mov rcx, rbp
rep movsb byte [rdi], byte [rsi]
add rbp, qword [0x1401632f8]
cmp rbp, qword [0x140163300]
mov qword [0x1401632f8], rbp
jne 0x140005745
mov edx, 1
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov byte [rax], 0x27
mov rax, qword [0x140163168]
inc qword [0x1401632f8]
mov r13, qword [rax + r13 + 8]
mov rax, qword [0x140163300]
mov rdx, qword [0x1401632f8]
test r13, r13
je 0x140005625
cmp qword [r13], 0
je 0x140005625
sub rax, rdx
cmp rax, 1
ja 0x14000579a
mov edx, 2
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov word [rax], 0x2720
add qword [0x1401632f8], 2
mov rsi, qword [r13]
mov edx, 0x27
mov rcx, rsi
call sub.msvcrt.dll_strchr
mov rdi, qword [0x140163300]
sub rdi, qword [0x1401632f8]
mov r14, rax
test rax, rax
je 0x140005840
mov rbp, r14
sub rbp, rsi
cmp rdi, rbp
jae 0x1400057eb
mov rdx, rbp
mov rcx, rbx
call fcn.1400629fb
mov rdi, qword [0x1401632f8]
mov rcx, rbp
rep movsb byte [rdi], byte [rsi]
mov rax, qword [0x140163300]
add rbp, qword [0x1401632f8]
mov qword [0x1401632f8], rbp
sub rax, rbp
cmp rax, 3
ja 0x140005822
mov edx, 4
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
lea rsi, [r14 + 1]
mov dword [rax], 0x27275c27
add qword [0x1401632f8], 4
jmp 0x1400057b2
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rbp, rax
cmp rdi, rax
jae 0x14000585b
mov rdx, rax
mov rcx, rbx
call fcn.1400629fb
mov rdi, qword [0x1401632f8]
mov rcx, rbp
rep movsb byte [rdi], byte [rsi]
add rbp, qword [0x1401632f8]
cmp rbp, qword [0x140163300]
mov qword [0x1401632f8], rbp
jne 0x14000588b
mov edx, 1
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
add r13, 8
mov byte [rax], 0x27
inc qword [0x1401632f8]
jmp 0x140005762
cmp qword [0x1401633d8], 0
je 0x140005a10
test eax, eax
jne 0x1400058da
cmp rcx, rdx
jne 0x1400058c9
mov edx, 1
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov byte [rax], 0x20
inc qword [0x1401632f8]
mov rax, qword [0x140163300]
sub rax, qword [0x1401632f8]
cmp rax, 0xb
ja 0x1400058fb
mov edx, 0xc
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov rsi, qword [0x1401633d8]
movabs rdi, 0x6964706d75642d27
mov qword [rax], rdi
mov dword [rax + 8], 0x27202772
add qword [0x1401632f8], 0xc
mov edx, 0x27
mov rcx, rsi
call sub.msvcrt.dll_strchr
mov r13, qword [0x140163300]
sub r13, qword [0x1401632f8]
mov r12, rax
test rax, rax
je 0x1400059b4
mov rbp, r12
sub rbp, rsi
cmp r13, rbp
jae 0x14000595e
mov rdx, rbp
mov rcx, rbx
call fcn.1400629fb
mov rdi, qword [0x1401632f8]
mov rcx, rbp
rep movsb byte [rdi], byte [rsi]
mov rax, qword [0x140163300]
add rbp, qword [0x1401632f8]
mov qword [0x1401632f8], rbp
sub rax, rbp
cmp rax, 3
ja 0x140005995
mov edx, 4
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
lea rsi, [r12 + 1]
mov dword [rax], 0x27275c27
add qword [0x1401632f8], 4
jmp 0x140005925
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rbp, rax
cmp r13, rax
jae 0x1400059cf
mov rdx, rax
mov rcx, rbx
call fcn.1400629fb
mov rdi, qword [0x1401632f8]
mov rcx, rbp
rep movsb byte [rdi], byte [rsi]
add rbp, qword [0x1401632f8]
cmp rbp, qword [0x140163300]
mov qword [0x1401632f8], rbp
jne 0x1400059ff
mov edx, 1
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov byte [rax], 0x27
inc qword [0x1401632f8]
mov rax, qword [0x1401632f8]
cmp qword [0x140163300], rax
jne 0x140005a2d
mov edx, 1
mov rcx, rbx
call fcn.1400629fb
mov rax, qword [0x1401632f8]
mov byte [rax], 0
mov rax, qword [0x1401632f8]
mov rcx, qword [0x1401632f0]
inc rax
cmp rax, rcx
jne 0x140005a54
or byte [0x140163330], 2
mov rdx, qword [0x140163310]
mov r8, qword [0x1401632e8]
add rax, rdx
not rdx
and rax, rdx
mov rdx, qword [0x140163300]
mov r9, rax
mov r10, rdx
sub r9, r8
sub r10, r8
cmp r10, r9
cmovb rax, rdx
mov qword [0x1401632f8], rax
mov qword [0x1401632f0], rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp fcn.14000554d