Function at 0x1401cd040
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 0x1401cd56c
mov r8d, dword [0x14064aad8]
mov eax, 1
test r8d, r8d
jne 0x1401cd091
mov dword [0x140950c08], eax
mov r8d, eax
mov dword [0x14064aad8], eax
mov ecx, dword [0x14064aaf4]
cmp ecx, 0xffffffff
je 0x1401cd0a5
cmp dword [0x140950c08], 0
je 0x1401cd0c7
lea rcx, str.POSIXLY_CORRECT
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r8d, dword [0x14064aad8]
xor ecx, ecx
test rax, rax
setne cl
mov dword [0x14064aaf4], ecx
movzx eax, byte [r14]
cmp al, 0x2d
jne 0x1401cd0db
mov ebp, dword [rsp + 0x88]
or ebp, 2
jmp 0x1401cd0fa
test ecx, ecx
jne 0x1401cd0ec
cmp al, 0x2b
je 0x1401cd0ec
mov ebp, dword [rsp + 0x88]
jmp 0x1401cd0fd
mov ebp, dword [rsp + 0x88]
and ebp, 0xfffffffe
cmp al, 0x2b
jne 0x1401cd0fd
inc r14
cmp dword [0x140950c08], 0
mov qword [0x140950c10], 0
je 0x1401cd126
mov esi, 0xffffffff
mov dword [0x14064aaf0], esi
mov edi, esi
mov dword [0x14064aae4], esi
jmp 0x1401cd132
mov edi, dword [0x14064aae4]
mov esi, dword [0x14064aaf0]
mov rbx, qword [0x14064aae8]
lea rcx, [0x14036716f]
cmp dword [0x140950c08], 0
jne 0x1401cd152
cmp byte [rbx], 0
jne 0x1401cd29f
mov dword [0x140950c08], 0
cmp r8d, r12d
jge 0x1401cd53b
movsxd rax, r8d
mov rbx, qword [r15 + rax*8]
mov qword [0x14064aae8], rbx
cmp byte [rbx], 0x2d
jne 0x1401cd1b2
cmp byte [rbx + 1], 0
jne 0x1401cd23b
mov edx, 0x2d
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
mov r8d, dword [0x14064aad8]
lea rcx, [0x14036716f]
mov edi, dword [0x14064aae4]
mov esi, dword [0x14064aaf0]
test rax, rax
jne 0x1401cd234
mov qword [0x14064aae8], rcx
mov rbx, rcx
test bpl, 2
jne 0x1401cd51c
test bpl, 1
je 0x1401cd56c
cmp edi, 0xffffffff
jne 0x1401cd1ee
mov edi, r8d
mov dword [0x14064aae4], r8d
inc r8d
mov dword [0x14064aad8], r8d
jmp 0x1401cd140
cmp esi, 0xffffffff
je 0x1401cd225
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.1401cd8c0
mov r8d, dword [0x14064aad8]
lea rcx, [0x14036716f]
mov eax, r8d
sub eax, esi
mov esi, 0xffffffff
add edi, eax
mov dword [0x14064aaf0], esi
mov dword [0x14064aae4], edi
inc r8d
mov dword [0x14064aad8], r8d
jmp 0x1401cd140
mov rbx, qword [0x14064aae8]
cmp edi, 0xffffffff
je 0x1401cd24d
cmp esi, 0xffffffff
cmove esi, r8d
mov dword [0x14064aaf0], esi
cmp byte [rbx + 1], 0
lea rax, [rbx + 1]
je 0x1401cd29f
cmp byte [rax], 0x2d
mov rbx, rax
mov qword [0x14064aae8], rax
jne 0x1401cd29f
cmp byte [rax + 1], 0
jne 0x1401cd29f
inc r8d
mov qword [0x14064aae8], rcx
mov dword [0x14064aad8], r8d
cmp esi, 0xffffffff
je 0x1401cd558
mov r9, r15
mov edx, esi
mov ecx, edi
call fcn.1401cd8c0
sub edi, esi
add dword [0x14064aad8], edi
jmp 0x1401cd558
mov rsi, qword [rsp + 0x80]
test r13, r13
je 0x1401cd319
movsxd rax, r8d
cmp rbx, qword [r15 + rax*8]
je 0x1401cd319
movsx eax, byte [rbx]
cmp al, 0x2d
je 0x1401cd2c2
test bpl, 4
je 0x1401cd319
xor edi, edi
cmp al, 0x2d
jne 0x1401cd2d4
inc rbx
mov qword [0x14064aae8], rbx
jmp 0x1401cd2ed
cmp al, 0x3a
je 0x1401cd2ed
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.1401cd590
cmp eax, 0xffffffff
jne 0x1401cd3fb
mov r8d, dword [0x14064aad8]
mov rbx, qword [0x14064aae8]
movsx edi, byte [rbx]
inc rbx
mov qword [0x14064aae8], rbx
cmp edi, 0x3a
je 0x1401cd4e3
cmp edi, 0x2d
jne 0x1401cd33d
cmp byte [rbx], 0
jne 0x1401cd4f2
mov edx, edi
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1401cd4bf
test r13, r13
je 0x1401cd40e
cmp edi, 0x57
jne 0x1401cd40e
cmp byte [rax + 1], 0x3b
jne 0x1401cd40e
mov rax, qword [0x14064aae8]
cmp byte [rax], 0
jne 0x1401cd3e2
mov eax, dword [0x14064aad8]
inc eax
mov dword [0x14064aad8], eax
cmp eax, r12d
jl 0x1401cd3d5
cmp dword [0x14064aae0], 0
lea rcx, [0x14036716f]
mov qword [0x14064aae8], rcx
je 0x1401cd3b6
cmp byte [r14], 0x3a
je 0x1401cd3b6
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.1401cd990
mov dword [0x14064aadc], 0x57
mov ecx, 0x3a
mov eax, 0x3f
cmp byte [r14], cl
cmove eax, ecx
jmp 0x1401cd571
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x14064aae8], rcx
mov r9, rsi
mov dword [rsp + 0x20], 0
mov r8, r13
mov rdx, r14
mov rcx, r15
call fcn.1401cd590
lea rcx, [0x14036716f]
mov qword [0x14064aae8], rcx
jmp 0x1401cd571
cmp byte [rax + 1], 0x3a
je 0x1401cd431
mov rax, qword [0x14064aae8]
cmp byte [rax], 0
jne 0x1401cd4b8
inc dword [0x14064aad8]
mov eax, edi
jmp 0x1401cd571
mov rcx, qword [0x14064aae8]
mov qword [0x140950c10], 0
cmp byte [rcx], 0
jne 0x1401cd49d
cmp byte [rax + 2], 0x3a
je 0x1401cd4a4
mov eax, dword [0x14064aad8]
inc eax
mov dword [0x14064aad8], eax
cmp eax, r12d
jl 0x1401cd497
cmp dword [0x14064aae0], 0
lea rcx, [0x14036716f]
mov qword [0x14064aae8], rcx
je 0x1401cd48c
cmp byte [r14], 0x3a
je 0x1401cd48c
mov edx, edi
lea rcx, str.option_requires_an_argument_____c
call fcn.1401cd990
mov dword [0x14064aadc], edi
jmp 0x1401cd3c0
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x140950c10], rcx
inc dword [0x14064aad8]
lea rcx, [0x14036716f]
mov qword [0x14064aae8], rcx
mov eax, edi
jmp 0x1401cd571
cmp edi, 0x2d
jne 0x1401cd4d5
mov rax, qword [0x14064aae8]
cmp byte [rax], 0
jne 0x1401cd4f2
jmp 0x1401cd56c
mov r8d, dword [0x14064aad8]
mov rbx, qword [0x14064aae8]
cmp byte [rbx], 0
jne 0x1401cd4f2
inc r8d
mov dword [0x14064aad8], r8d
cmp dword [0x14064aae0], 0
je 0x1401cd50f
cmp byte [r14], 0x3a
je 0x1401cd50f
mov edx, edi
lea rcx, str.unknown_option_____c
call fcn.1401cd990
mov dword [0x14064aadc], edi
mov eax, 0x3f
jmp 0x1401cd571
movsxd rax, r8d
inc r8d
mov rcx, qword [r15 + rax*8]
mov eax, 1
mov qword [0x140950c10], rcx
mov dword [0x14064aad8], r8d
jmp 0x1401cd571
mov qword [0x14064aae8], rcx
cmp esi, 0xffffffff
jne 0x1401cd286
cmp edi, esi
cmovne r8d, edi
mov dword [0x14064aad8], r8d
mov dword [0x14064aaf0], 0xffffffff
mov dword [0x14064aae4], 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