Function at 0x1400224e4
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 0x1400229f6
mov r8d, dword [0x1401583f4]
lea r9d, [rdx + 1]
test r8d, r8d
jne 0x140022538
mov dword [0x14015bee0], r9d
mov r8d, r9d
mov dword [0x1401583f4], r9d
mov ecx, dword [0x14015840c]
cmp ecx, 0xffffffff
je 0x14002254b
cmp dword [0x14015bee0], edx
je 0x140022573
lea rcx, str.POSIXLY_CORRECT
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r8d, dword [0x1401583f4]
xor edx, edx
mov ecx, edx
test rax, rax
setne cl
mov dword [0x14015840c], ecx
lea r9d, [rdx + 1]
mov al, byte [r14]
cmp al, 0x2d
jne 0x140022586
mov ebp, dword [rsp + 0x88]
or ebp, 2
jmp 0x1400225a5
test ecx, ecx
jne 0x140022597
cmp al, 0x2b
je 0x140022597
mov ebp, dword [rsp + 0x88]
jmp 0x1400225a8
mov ebp, dword [rsp + 0x88]
and ebp, 0xfffffffe
cmp al, 0x2b
jne 0x1400225a8
add r14, r9
cmp dword [0x14015bee0], edx
mov qword [0x14015bee8], rdx
je 0x1400225ca
or esi, 0xffffffff
or edi, esi
mov dword [0x140158408], esi
mov dword [0x1401583fc], edi
jmp 0x1400225d6
mov edi, dword [0x1401583fc]
mov esi, dword [0x140158408]
mov rbx, qword [0x140158400]
lea rcx, [0x14015bee4]
cmp dword [0x14015bee0], edx
jne 0x1400225f4
cmp byte [rbx], dl
jne 0x140022721
mov dword [0x14015bee0], edx
cmp r8d, r13d
jge 0x1400229bb
movsxd rax, r8d
mov rbx, qword [r15 + rax*8]
mov qword [0x140158400], rbx
cmp byte [rbx], 0x2d
jne 0x14002264d
cmp byte [rbx + 1], dl
jne 0x1400226d2
mov edx, 0x2d
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
mov r8d, dword [0x1401583f4]
lea rcx, [0x14015bee4]
mov edi, dword [0x1401583fc]
xor edx, edx
mov esi, dword [0x140158408]
test rax, rax
jne 0x1400226cb
mov qword [0x140158400], rcx
mov rbx, rcx
test bpl, 2
jne 0x14002299a
mov r9d, 1
test r9b, bpl
je 0x1400229f6
cmp edi, 0xffffffff
jne 0x140022681
mov edi, r8d
mov dword [0x1401583fc], r8d
jmp 0x1400226ba
cmp esi, 0xffffffff
je 0x1400226ba
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.140022d30
mov r8d, dword [0x1401583f4]
lea rcx, [0x14015bee4]
mov eax, r8d
sub eax, esi
add edi, eax
or esi, 0xffffffff
mov dword [0x1401583fc], edi
mov dword [0x140158408], esi
lea r9d, [rsi + 2]
add r8d, r9d
mov dword [0x1401583f4], r8d
xor edx, edx
jmp 0x1400225e4
mov rbx, qword [0x140158400]
cmp edi, 0xffffffff
je 0x1400226e6
cmp esi, 0xffffffff
jne 0x1400226e6
mov esi, r8d
mov dword [0x140158408], r8d
lea rax, [rbx + 1]
cmp byte [rax], dl
je 0x140022721
cmp byte [rax], 0x2d
mov rbx, rax
mov qword [0x140158400], rax
jne 0x140022721
cmp byte [rax + 1], dl
jne 0x140022721
inc r8d
mov qword [0x140158400], rcx
mov dword [0x1401583f4], r8d
cmp esi, 0xffffffff
je 0x1400229e8
jmp 0x1400229c7
mov esi, 0x3a
test r12, r12
je 0x1400227c5
movsxd rax, r8d
cmp rbx, qword [r15 + rax*8]
je 0x1400227c5
movsx eax, byte [rbx]
cmp al, 0x2d
je 0x140022749
test bpl, 4
je 0x1400227c5
mov edi, edx
cmp al, 0x2d
jne 0x140022760
mov ebp, 1
add rbx, rbp
mov qword [0x140158400], rbx
jmp 0x140022781
cmp al, sil
je 0x14002277c
mov edx, eax
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
test rax, rax
mov ebp, 1
cmovne edi, ebp
jmp 0x140022781
mov ebp, 1
mov r9, qword [rsp + 0x80]
mov r8, r12
mov rdx, r14
mov dword [rsp + 0x20], edi
mov rcx, r15
call fcn.140022a38
cmp eax, 0xffffffff
je 0x1400227b3
lea rcx, [0x14015bee4]
mov qword [0x140158400], rcx
jmp 0x1400229f9
mov r8d, dword [0x1401583f4]
xor edx, edx
mov rbx, qword [0x140158400]
jmp 0x1400227ca
mov ebp, 1
movsx edi, byte [rbx]
add rbx, rbp
mov qword [0x140158400], rbx
cmp edi, esi
je 0x140022964
cmp edi, 0x2d
jne 0x1400227ec
cmp byte [rbx], dl
jne 0x140022972
mov edx, edi
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
xor edx, edx
test rax, rax
je 0x140022947
test r12, r12
je 0x1400228a8
lea ebx, [rdx + 0x57]
cmp edi, ebx
jne 0x1400228a8
cmp byte [rax + 1], 0x3b
jne 0x1400228a8
mov rax, qword [0x140158400]
cmp byte [rax], dl
jne 0x140022889
mov eax, dword [0x1401583f4]
inc eax
mov dword [0x1401583f4], eax
cmp eax, r13d
jl 0x14002287c
cmp dword [0x1401583f0], edx
lea rcx, [0x14015bee4]
mov qword [0x140158400], rcx
je 0x140022866
cmp byte [r14], sil
je 0x140022866
mov edx, ebx
lea rcx, str.option_requires_an_argument_____c
call fcn.140022df0
mov dword [0x1401583f8], ebx
cmp byte [r14], sil
mov eax, 0x3f
cmove eax, esi
jmp 0x1400229f9
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x140158400], rcx
mov r9, qword [rsp + 0x80]
mov r8, r12
mov dword [rsp + 0x20], edx
mov rcx, r15
mov rdx, r14
call fcn.140022a38
jmp 0x1400227a0
cmp byte [rax + rbp], sil
je 0x1400228bf
mov rax, qword [0x140158400]
cmp byte [rax], dl
jne 0x140022940
jmp 0x14002293a
mov rcx, qword [0x140158400]
mov qword [0x14015bee8], rdx
cmp byte [rcx], dl
jne 0x140022925
cmp byte [rax + rbp + 1], sil
je 0x14002292c
mov eax, dword [0x1401583f4]
inc eax
mov dword [0x1401583f4], eax
cmp eax, r13d
jl 0x14002291f
cmp dword [0x1401583f0], edx
lea rcx, [0x14015bee4]
mov qword [0x140158400], rcx
je 0x140022914
cmp byte [r14], sil
je 0x140022914
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.140022df0
mov dword [0x1401583f8], edi
jmp 0x14002286c
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x14015bee8], rcx
lea rcx, [0x14015bee4]
mov qword [0x140158400], rcx
add dword [0x1401583f4], ebp
mov eax, edi
jmp 0x1400229f9
mov rbx, qword [0x140158400]
cmp edi, 0x2d
jne 0x14002295d
cmp byte [rbx], dl
je 0x1400229f6
jmp 0x140022972
mov r8d, dword [0x1401583f4]
cmp byte [rbx], dl
jne 0x140022972
add r8d, ebp
mov dword [0x1401583f4], r8d
cmp dword [0x1401583f0], edx
je 0x14002298d
cmp byte [r14], sil
je 0x14002298d
mov edx, edi
lea rcx, str.unknown_option_____c
call fcn.140022df0
mov dword [0x1401583f8], edi
mov eax, 0x3f
jmp 0x1400229f9
movsxd rax, r8d
mov ebp, 1
add r8d, ebp
mov rcx, qword [r15 + rax*8]
mov eax, ebp
mov qword [0x14015bee8], rcx
mov dword [0x1401583f4], r8d
jmp 0x1400229f9
mov qword [0x140158400], rcx
cmp esi, 0xffffffff
je 0x1400229dd
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.140022d30
sub edi, esi
add dword [0x1401583f4], edi
jmp 0x1400229e8
cmp edi, 0xffffffff
je 0x1400229e8
mov dword [0x1401583f4], edi
or dword [0x140158408], 0xffffffff
or dword [0x1401583fc], 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