Function at 0x14001eecc
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, rdx
mov r12, r9
xor edx, edx
mov r14, r8
mov r13d, ecx
test r8, r8
je 0x14001f3db
mov r8d, dword [0x1401290d4]
lea r9d, [rdx + 1]
test r8d, r8d
jne 0x14001ef20
mov dword [0x14012c7b0], r9d
mov r8d, r9d
mov dword [0x1401290d4], r9d
mov ecx, dword [0x1401290ec]
cmp ecx, 0xffffffff
je 0x14001ef33
cmp dword [0x14012c7b0], edx
je 0x14001ef5b
lea rcx, str.POSIXLY_CORRECT
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r8d, dword [0x1401290d4]
xor edx, edx
mov ecx, edx
test rax, rax
setne cl
mov dword [0x1401290ec], ecx
lea r9d, [rdx + 1]
mov al, byte [r14]
cmp al, 0x2d
jne 0x14001ef6e
mov ebp, dword [rsp + 0x88]
or ebp, 2
jmp 0x14001ef8d
test ecx, ecx
jne 0x14001ef7f
cmp al, 0x2b
je 0x14001ef7f
mov ebp, dword [rsp + 0x88]
jmp 0x14001ef90
mov ebp, dword [rsp + 0x88]
and ebp, 0xfffffffe
cmp al, 0x2b
jne 0x14001ef90
add r14, r9
cmp dword [0x14012c7b0], edx
mov qword [0x14012c7b8], rdx
je 0x14001efb2
or esi, 0xffffffff
or edi, esi
mov dword [0x1401290e8], esi
mov dword [0x1401290dc], edi
jmp 0x14001efbe
mov edi, dword [0x1401290dc]
mov esi, dword [0x1401290e8]
mov rbx, qword [0x1401290e0]
lea rcx, [0x140111994]
cmp dword [0x14012c7b0], edx
jne 0x14001efdc
cmp byte [rbx], dl
jne 0x14001f107
mov dword [0x14012c7b0], edx
cmp r8d, r13d
jge 0x14001f3a0
movsxd rax, r8d
mov rbx, qword [r15 + rax*8]
mov qword [0x1401290e0], rbx
cmp byte [rbx], 0x2d
jne 0x14001f035
cmp byte [rbx + 1], dl
jne 0x14001f0ba
mov edx, 0x2d
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
mov r8d, dword [0x1401290d4]
lea rcx, [0x140111994]
mov edi, dword [0x1401290dc]
xor edx, edx
mov esi, dword [0x1401290e8]
test rax, rax
jne 0x14001f0b3
mov qword [0x1401290e0], rcx
mov rbx, rcx
test bpl, 2
jne 0x14001f37f
mov r9d, 1
test r9b, bpl
je 0x14001f3db
cmp edi, 0xffffffff
jne 0x14001f069
mov edi, r8d
mov dword [0x1401290dc], r8d
jmp 0x14001f0a2
cmp esi, 0xffffffff
je 0x14001f0a2
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.14001f70c
mov r8d, dword [0x1401290d4]
lea rcx, [0x140111994]
mov eax, r8d
sub eax, esi
add edi, eax
or esi, 0xffffffff
mov dword [0x1401290dc], edi
mov dword [0x1401290e8], esi
lea r9d, [rsi + 2]
add r8d, r9d
mov dword [0x1401290d4], r8d
xor edx, edx
jmp 0x14001efcc
mov rbx, qword [0x1401290e0]
cmp edi, 0xffffffff
je 0x14001f0cc
cmp esi, 0xffffffff
cmove esi, r8d
mov dword [0x1401290e8], esi
lea rax, [rbx + 1]
cmp byte [rax], dl
je 0x14001f107
cmp byte [rax], 0x2d
mov rbx, rax
mov qword [0x1401290e0], rax
jne 0x14001f107
cmp byte [rax + 1], dl
jne 0x14001f107
inc r8d
mov qword [0x1401290e0], rcx
mov dword [0x1401290d4], r8d
cmp esi, 0xffffffff
je 0x14001f3cd
jmp 0x14001f3ac
mov esi, 0x3a
test r12, r12
je 0x14001f1ab
movsxd rax, r8d
cmp rbx, qword [r15 + rax*8]
je 0x14001f1ab
mov al, byte [rbx]
cmp al, 0x2d
je 0x14001f12e
test bpl, 4
je 0x14001f1ab
mov edi, edx
cmp al, 0x2d
jne 0x14001f145
mov ebp, 1
add rbx, rbp
mov qword [0x1401290e0], rbx
jmp 0x14001f167
cmp al, sil
je 0x14001f162
movsx edx, al
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
test rax, rax
mov ebp, 1
cmovne edi, ebp
jmp 0x14001f167
mov ebp, 1
mov r9, qword [rsp + 0x80]
mov r8, r12
mov rdx, r14
mov dword [rsp + 0x20], edi
mov rcx, r15
call fcn.14001f41c
cmp eax, 0xffffffff
je 0x14001f199
lea rcx, [0x140111994]
mov qword [0x1401290e0], rcx
jmp 0x14001f3de
mov r8d, dword [0x1401290d4]
xor edx, edx
mov rbx, qword [0x1401290e0]
jmp 0x14001f1b0
mov ebp, 1
movsx edi, byte [rbx]
add rbx, rbp
mov qword [0x1401290e0], rbx
cmp edi, esi
je 0x14001f33b
cmp edi, 0x2d
jne 0x14001f1d2
cmp byte [rbx], dl
jne 0x14001f357
mov edx, edi
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
xor edx, edx
test rax, rax
je 0x14001f32d
test r12, r12
je 0x14001f28e
lea ebx, [rdx + 0x57]
cmp edi, ebx
jne 0x14001f28e
cmp byte [rax + 1], 0x3b
jne 0x14001f28e
mov rax, qword [0x1401290e0]
cmp byte [rax], dl
jne 0x14001f26f
mov eax, dword [0x1401290d4]
inc eax
mov dword [0x1401290d4], eax
cmp eax, r13d
jl 0x14001f262
cmp dword [0x1401290d0], edx
lea rcx, [0x140111994]
mov qword [0x1401290e0], rcx
je 0x14001f24c
cmp byte [r14], sil
je 0x14001f24c
mov edx, ebx
lea rcx, str.option_requires_an_argument_____c
call fcn.14001f7f0
mov dword [0x1401290d8], ebx
cmp byte [r14], sil
mov eax, 0x3f
cmove eax, esi
jmp 0x14001f3de
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x1401290e0], rcx
mov r9, qword [rsp + 0x80]
mov r8, r12
mov dword [rsp + 0x20], edx
mov rcx, r15
mov rdx, r14
call fcn.14001f41c
jmp 0x14001f186
cmp byte [rax + rbp], sil
je 0x14001f2a5
mov rax, qword [0x1401290e0]
cmp byte [rax], dl
jne 0x14001f326
jmp 0x14001f320
mov rcx, qword [0x1401290e0]
mov qword [0x14012c7b8], rdx
cmp byte [rcx], dl
jne 0x14001f30b
cmp byte [rax + rbp + 1], sil
je 0x14001f312
mov eax, dword [0x1401290d4]
inc eax
mov dword [0x1401290d4], eax
cmp eax, r13d
jl 0x14001f305
cmp dword [0x1401290d0], edx
lea rcx, [0x140111994]
mov qword [0x1401290e0], rcx
je 0x14001f2fa
cmp byte [r14], sil
je 0x14001f2fa
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.14001f7f0
mov dword [0x1401290d8], edi
jmp 0x14001f252
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x14012c7b8], rcx
lea rcx, [0x140111994]
mov qword [0x1401290e0], rcx
add dword [0x1401290d4], ebp
mov eax, edi
jmp 0x14001f3de
mov r8d, dword [0x1401290d4]
mov rbx, qword [0x1401290e0]
cmp edi, 0x2d
jne 0x14001f349
cmp byte [rbx], dl
jne 0x14001f357
jmp 0x14001f3db
cmp byte [rbx], dl
jne 0x14001f357
add r8d, ebp
mov dword [0x1401290d4], r8d
cmp dword [0x1401290d0], edx
je 0x14001f372
cmp byte [r14], sil
je 0x14001f372
mov edx, edi
lea rcx, str.unknown_option_____c
call fcn.14001f7f0
mov dword [0x1401290d8], edi
mov eax, 0x3f
jmp 0x14001f3de
movsxd rax, r8d
mov ebp, 1
add r8d, ebp
mov rcx, qword [r15 + rax*8]
mov eax, ebp
mov qword [0x14012c7b8], rcx
mov dword [0x1401290d4], r8d
jmp 0x14001f3de
mov qword [0x1401290e0], rcx
cmp esi, 0xffffffff
je 0x14001f3c2
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.14001f70c
sub edi, esi
add dword [0x1401290d4], edi
jmp 0x14001f3cd
cmp edi, 0xffffffff
je 0x14001f3cd
mov dword [0x1401290d4], edi
or dword [0x1401290e8], 0xffffffff
or dword [0x1401290dc], 0xffffffff
or eax, 0xffffffff
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret