Function at 0x1401cf380
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 0x1401cf8a5
mov r8d, dword [0x14064da18]
mov eax, 1
test r8d, r8d
jne 0x1401cf3d1
mov dword [0x140953a18], eax
mov r8d, eax
mov dword [0x14064da18], eax
mov ecx, dword [0x14064da34]
cmp ecx, 0xffffffff
je 0x1401cf3e5
cmp dword [0x140953a18], 0
je 0x1401cf407
lea rcx, str.POSIXLY_CORRECT
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r8d, dword [0x14064da18]
xor ecx, ecx
test rax, rax
setne cl
mov dword [0x14064da34], ecx
movzx eax, byte [r14]
cmp al, 0x2d
jne 0x1401cf41b
mov ebp, dword [rsp + 0x88]
or ebp, 2
jmp 0x1401cf43a
test ecx, ecx
jne 0x1401cf42c
cmp al, 0x2b
je 0x1401cf42c
mov ebp, dword [rsp + 0x88]
jmp 0x1401cf43d
mov ebp, dword [rsp + 0x88]
and ebp, 0xfffffffe
cmp al, 0x2b
jne 0x1401cf43d
inc r14
cmp dword [0x140953a18], 0
mov qword [0x140953a20], 0
je 0x1401cf466
mov esi, 0xffffffff
mov dword [0x14064da30], esi
mov edi, esi
mov dword [0x14064da24], esi
jmp 0x1401cf472
mov edi, dword [0x14064da24]
mov esi, dword [0x14064da30]
mov rbx, qword [0x14064da28]
lea rcx, [0x14036a19f]
cmp dword [0x140953a18], 0
jne 0x1401cf492
cmp byte [rbx], 0
jne 0x1401cf5e1
mov dword [0x140953a18], 0
cmp r8d, r12d
jge 0x1401cf877
movsxd rax, r8d
mov rbx, qword [r15 + rax*8]
mov qword [0x14064da28], rbx
cmp byte [rbx], 0x2d
jne 0x1401cf4f2
cmp byte [rbx + 1], 0
jne 0x1401cf57b
mov edx, 0x2d
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
mov r8d, dword [0x14064da18]
lea rcx, [0x14036a19f]
mov edi, dword [0x14064da24]
mov esi, dword [0x14064da30]
test rax, rax
jne 0x1401cf574
mov qword [0x14064da28], rcx
mov rbx, rcx
test bpl, 2
jne 0x1401cf858
test bpl, 1
je 0x1401cf8a5
cmp edi, 0xffffffff
jne 0x1401cf52e
mov edi, r8d
mov dword [0x14064da24], r8d
inc r8d
mov dword [0x14064da18], r8d
jmp 0x1401cf480
cmp esi, 0xffffffff
je 0x1401cf565
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.1401cfc00
mov r8d, dword [0x14064da18]
lea rcx, [0x14036a19f]
mov eax, r8d
sub eax, esi
mov esi, 0xffffffff
add edi, eax
mov dword [0x14064da30], esi
mov dword [0x14064da24], edi
inc r8d
mov dword [0x14064da18], r8d
jmp 0x1401cf480
mov rbx, qword [0x14064da28]
cmp edi, 0xffffffff
je 0x1401cf58f
cmp esi, 0xffffffff
jne 0x1401cf58f
mov esi, r8d
mov dword [0x14064da30], r8d
cmp byte [rbx + 1], 0
lea rax, [rbx + 1]
je 0x1401cf5e1
cmp byte [rax], 0x2d
mov rbx, rax
mov qword [0x14064da28], rax
jne 0x1401cf5e1
cmp byte [rax + 1], 0
jne 0x1401cf5e1
inc r8d
mov qword [0x14064da28], rcx
mov dword [0x14064da18], r8d
cmp esi, 0xffffffff
je 0x1401cf891
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.1401cfc00
sub edi, esi
add dword [0x14064da18], edi
jmp 0x1401cf891
mov rsi, qword [rsp + 0x80]
test r13, r13
je 0x1401cf65b
movsxd rax, r8d
cmp rbx, qword [r15 + rax*8]
je 0x1401cf65b
movsx eax, byte [rbx]
cmp al, 0x2d
je 0x1401cf604
test bpl, 4
je 0x1401cf65b
xor edi, edi
cmp al, 0x2d
jne 0x1401cf616
inc rbx
mov qword [0x14064da28], rbx
jmp 0x1401cf62f
cmp al, 0x3a
je 0x1401cf62f
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.1401cf8d0
cmp eax, 0xffffffff
jne 0x1401cf73d
mov r8d, dword [0x14064da18]
mov rbx, qword [0x14064da28]
movsx edi, byte [rbx]
inc rbx
mov qword [0x14064da28], rbx
cmp edi, 0x3a
je 0x1401cf81f
cmp edi, 0x2d
jne 0x1401cf67f
cmp byte [rbx], 0
jne 0x1401cf82e
mov edx, edi
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1401cf801
test r13, r13
je 0x1401cf750
cmp edi, 0x57
jne 0x1401cf750
cmp byte [rax + 1], 0x3b
jne 0x1401cf750
mov rax, qword [0x14064da28]
cmp byte [rax], 0
jne 0x1401cf724
mov eax, dword [0x14064da18]
inc eax
mov dword [0x14064da18], eax
cmp eax, r12d
jl 0x1401cf717
cmp dword [0x14064da20], 0
lea rcx, [0x14036a19f]
mov qword [0x14064da28], rcx
je 0x1401cf6f8
cmp byte [r14], 0x3a
je 0x1401cf6f8
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.1401cfcd0
mov dword [0x14064da1c], 0x57
mov ecx, 0x3a
mov eax, 0x3f
cmp byte [r14], cl
cmove eax, ecx
jmp 0x1401cf8aa
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x14064da28], rcx
mov r9, rsi
mov dword [rsp + 0x20], 0
mov r8, r13
mov rdx, r14
mov rcx, r15
call fcn.1401cf8d0
lea rcx, [0x14036a19f]
mov qword [0x14064da28], rcx
jmp 0x1401cf8aa
cmp byte [rax + 1], 0x3a
je 0x1401cf773
mov rax, qword [0x14064da28]
cmp byte [rax], 0
jne 0x1401cf7fa
inc dword [0x14064da18]
mov eax, edi
jmp 0x1401cf8aa
mov rcx, qword [0x14064da28]
mov qword [0x140953a20], 0
cmp byte [rcx], 0
jne 0x1401cf7df
cmp byte [rax + 2], 0x3a
je 0x1401cf7e6
mov eax, dword [0x14064da18]
inc eax
mov dword [0x14064da18], eax
cmp eax, r12d
jl 0x1401cf7d9
cmp dword [0x14064da20], 0
lea rcx, [0x14036a19f]
mov qword [0x14064da28], rcx
je 0x1401cf7ce
cmp byte [r14], 0x3a
je 0x1401cf7ce
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.1401cfcd0
mov dword [0x14064da1c], edi
jmp 0x1401cf702
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x140953a20], rcx
inc dword [0x14064da18]
lea rcx, [0x14036a19f]
mov qword [0x14064da28], rcx
mov eax, edi
jmp 0x1401cf8aa
mov rbx, qword [0x14064da28]
cmp edi, 0x2d
jne 0x1401cf818
cmp byte [rbx], 0
je 0x1401cf8a5
jmp 0x1401cf82e
mov r8d, dword [0x14064da18]
cmp byte [rbx], 0
jne 0x1401cf82e
inc r8d
mov dword [0x14064da18], r8d
cmp dword [0x14064da20], 0
je 0x1401cf84b
cmp byte [r14], 0x3a
je 0x1401cf84b
mov edx, edi
lea rcx, str.unknown_option_____c
call fcn.1401cfcd0
mov dword [0x14064da1c], edi
mov eax, 0x3f
jmp 0x1401cf8aa
movsxd rax, r8d
inc r8d
mov rcx, qword [r15 + rax*8]
mov eax, 1
mov qword [0x140953a20], rcx
mov dword [0x14064da18], r8d
jmp 0x1401cf8aa
mov qword [0x14064da28], rcx
cmp esi, 0xffffffff
jne 0x1401cf5c8
cmp edi, esi
je 0x1401cf891
mov dword [0x14064da18], edi
mov dword [0x14064da30], 0xffffffff
mov dword [0x14064da24], 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