Function at 0x1401cad30
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 r13, r9
mov r14, r8
mov r15, rdx
mov r12d, ecx
test r8, r8
je 0x1401cb25c
mov r8d, dword [0x1405369f0]
mov eax, 1
test r8d, r8d
jne 0x1401cad81
mov dword [0x14083c908], eax
mov r8d, eax
mov dword [0x1405369f0], eax
mov ecx, dword [0x140536a0c]
cmp ecx, 0xffffffff
je 0x1401cad95
cmp dword [0x14083c908], 0
je 0x1401cadb7
lea rcx, str.POSIXLY_CORRECT
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r8d, dword [0x1405369f0]
xor ecx, ecx
test rax, rax
setne cl
mov dword [0x140536a0c], ecx
movzx eax, byte [r14]
cmp al, 0x2d
jne 0x1401cadcb
mov ebp, dword [rsp + 0x88]
or ebp, 2
jmp 0x1401cadea
test ecx, ecx
jne 0x1401caddc
cmp al, 0x2b
je 0x1401caddc
mov ebp, dword [rsp + 0x88]
jmp 0x1401caded
mov ebp, dword [rsp + 0x88]
and ebp, 0xfffffffe
cmp al, 0x2b
jne 0x1401caded
inc r14
cmp dword [0x14083c908], 0
mov qword [0x14083c910], 0
je 0x1401cae16
mov esi, 0xffffffff
mov dword [0x140536a08], esi
mov edi, esi
mov dword [0x1405369fc], esi
jmp 0x1401cae22
mov edi, dword [0x1405369fc]
mov esi, dword [0x140536a08]
mov rbx, qword [0x140536a00]
lea rcx, [0x1403640ef]
cmp dword [0x14083c908], 0
jne 0x1401cae42
cmp byte [rbx], 0
jne 0x1401caf8f
mov dword [0x14083c908], 0
cmp r8d, r12d
jge 0x1401cb22b
movsxd rax, r8d
mov rbx, qword [r15 + rax*8]
mov qword [0x140536a00], rbx
cmp byte [rbx], 0x2d
jne 0x1401caea2
cmp byte [rbx + 1], 0
jne 0x1401caf2b
mov edx, 0x2d
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
mov r8d, dword [0x1405369f0]
lea rcx, [0x1403640ef]
mov edi, dword [0x1405369fc]
mov esi, dword [0x140536a08]
test rax, rax
jne 0x1401caf24
mov qword [0x140536a00], rcx
mov rbx, rcx
test bpl, 2
jne 0x1401cb20c
test bpl, 1
je 0x1401cb25c
cmp edi, 0xffffffff
jne 0x1401caede
mov edi, r8d
mov dword [0x1405369fc], r8d
inc r8d
mov dword [0x1405369f0], r8d
jmp 0x1401cae30
cmp esi, 0xffffffff
je 0x1401caf15
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.1401cb5b0
mov r8d, dword [0x1405369f0]
lea rcx, [0x1403640ef]
mov eax, r8d
sub eax, esi
mov esi, 0xffffffff
add edi, eax
mov dword [0x140536a08], esi
mov dword [0x1405369fc], edi
inc r8d
mov dword [0x1405369f0], r8d
jmp 0x1401cae30
mov rbx, qword [0x140536a00]
cmp edi, 0xffffffff
je 0x1401caf3d
cmp esi, 0xffffffff
cmove esi, r8d
mov dword [0x140536a08], esi
cmp byte [rbx + 1], 0
lea rax, [rbx + 1]
je 0x1401caf8f
cmp byte [rax], 0x2d
mov rbx, rax
mov qword [0x140536a00], rax
jne 0x1401caf8f
cmp byte [rax + 1], 0
jne 0x1401caf8f
inc r8d
mov qword [0x140536a00], rcx
mov dword [0x1405369f0], r8d
cmp esi, 0xffffffff
je 0x1401cb248
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.1401cb5b0
sub edi, esi
add dword [0x1405369f0], edi
jmp 0x1401cb248
mov rsi, qword [rsp + 0x80]
test r13, r13
je 0x1401cb009
movsxd rax, r8d
cmp rbx, qword [r15 + rax*8]
je 0x1401cb009
movsx eax, byte [rbx]
cmp al, 0x2d
je 0x1401cafb2
test bpl, 4
je 0x1401cb009
xor edi, edi
cmp al, 0x2d
jne 0x1401cafc4
inc rbx
mov qword [0x140536a00], rbx
jmp 0x1401cafdd
cmp al, 0x3a
je 0x1401cafdd
mov edx, eax
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
test rax, rax
mov eax, 1
cmovne edi, eax
mov r9, rsi
mov dword [rsp + 0x20], edi
mov r8, r13
mov rdx, r14
mov rcx, r15
call fcn.1401cb280
cmp eax, 0xffffffff
jne 0x1401cb0eb
mov r8d, dword [0x1405369f0]
mov rbx, qword [0x140536a00]
movsx edi, byte [rbx]
inc rbx
mov qword [0x140536a00], rbx
cmp edi, 0x3a
je 0x1401cb1d3
cmp edi, 0x2d
jne 0x1401cb02d
cmp byte [rbx], 0
jne 0x1401cb1e2
mov edx, edi
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1401cb1af
test r13, r13
je 0x1401cb0fe
cmp edi, 0x57
jne 0x1401cb0fe
cmp byte [rax + 1], 0x3b
jne 0x1401cb0fe
mov rax, qword [0x140536a00]
cmp byte [rax], 0
jne 0x1401cb0d2
mov eax, dword [0x1405369f0]
inc eax
mov dword [0x1405369f0], eax
cmp eax, r12d
jl 0x1401cb0c5
cmp dword [0x1405369f8], 0
lea rcx, [0x1403640ef]
mov qword [0x140536a00], rcx
je 0x1401cb0a6
cmp byte [r14], 0x3a
je 0x1401cb0a6
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.1401cb680
mov dword [0x1405369f4], 0x57
mov ecx, 0x3a
mov eax, 0x3f
cmp byte [r14], cl
cmove eax, ecx
jmp 0x1401cb261
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x140536a00], rcx
mov r9, rsi
mov dword [rsp + 0x20], 0
mov r8, r13
mov rdx, r14
mov rcx, r15
call fcn.1401cb280
lea rcx, [0x1403640ef]
mov qword [0x140536a00], rcx
jmp 0x1401cb261
cmp byte [rax + 1], 0x3a
je 0x1401cb121
mov rax, qword [0x140536a00]
cmp byte [rax], 0
jne 0x1401cb1a8
inc dword [0x1405369f0]
mov eax, edi
jmp 0x1401cb261
mov rcx, qword [0x140536a00]
mov qword [0x14083c910], 0
cmp byte [rcx], 0
jne 0x1401cb18d
cmp byte [rax + 2], 0x3a
je 0x1401cb194
mov eax, dword [0x1405369f0]
inc eax
mov dword [0x1405369f0], eax
cmp eax, r12d
jl 0x1401cb187
cmp dword [0x1405369f8], 0
lea rcx, [0x1403640ef]
mov qword [0x140536a00], rcx
je 0x1401cb17c
cmp byte [r14], 0x3a
je 0x1401cb17c
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.1401cb680
mov dword [0x1405369f4], edi
jmp 0x1401cb0b0
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x14083c910], rcx
inc dword [0x1405369f0]
lea rcx, [0x1403640ef]
mov qword [0x140536a00], rcx
mov eax, edi
jmp 0x1401cb261
cmp edi, 0x2d
jne 0x1401cb1c5
mov rax, qword [0x140536a00]
cmp byte [rax], 0
jne 0x1401cb1e2
jmp 0x1401cb25c
mov r8d, dword [0x1405369f0]
mov rbx, qword [0x140536a00]
cmp byte [rbx], 0
jne 0x1401cb1e2
inc r8d
mov dword [0x1405369f0], r8d
cmp dword [0x1405369f8], 0
je 0x1401cb1ff
cmp byte [r14], 0x3a
je 0x1401cb1ff
mov edx, edi
lea rcx, str.unknown_option_____c
call fcn.1401cb680
mov dword [0x1405369f4], edi
mov eax, 0x3f
jmp 0x1401cb261
movsxd rax, r8d
inc r8d
mov rcx, qword [r15 + rax*8]
mov eax, 1
mov qword [0x14083c910], rcx
mov dword [0x1405369f0], r8d
jmp 0x1401cb261
mov qword [0x140536a00], rcx
cmp esi, 0xffffffff
jne 0x1401caf76
cmp edi, esi
cmovne r8d, edi
mov dword [0x1405369f0], r8d
mov dword [0x140536a08], 0xffffffff
mov dword [0x1405369fc], 0xffffffff
mov 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