Function at 0x1400ab690
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r15d, dword [rsp + 0xb8]
mov r12d, ecx
mov rbp, rdx
mov r13, r8
mov r14, r9
test r8, r8
je 0x1400ab852
mov r10d, dword [0x14016a4ec]
test r10d, r10d
je 0x1400ab7b0
cmp dword [0x14016a4d0], 0xffffffff
je 0x1400ab7c4
mov r9d, dword [0x1401ba2f8]
test r9d, r9d
jne 0x1400ab7c4
movzx edx, byte [r8]
cmp dl, 0x2d
je 0x1400abb38
mov eax, dword [0x14016a4d0]
test eax, eax
jne 0x1400aba50
cmp dl, 0x2b
je 0x1400ab809
mov rdi, qword [0x14016a4e0]
mov qword [0x1401ba2f0], 0
movzx eax, byte [rdi]
test al, al
je 0x1400ab8a0
nop dword [rax + rax]
test r14, r14
je 0x1400abacd
movsxd rdx, dword [0x14016a4ec]
cmp rdi, qword [rbp + rdx*8]
je 0x1400abacd
cmp al, 0x2d
je 0x1400abbcd
and r15d, 4
jne 0x1400aba82
lea r15, [rdi + 1]
movsx ebx, al
mov qword [0x14016a4e0], r15
cmp al, 0x3a
jne 0x1400abaec
mov ebx, 0x3a
cmp byte [rdi + 1], 0
jne 0x1400ab785
add dword [0x14016a4ec], 1
mov ecx, dword [0x14016a4f0]
test ecx, ecx
je 0x1400ab79a
cmp byte [r13], 0x3a
jne 0x1400abbba
mov dword [0x14016a4e8], ebx
mov ebx, 0x3f
jmp 0x1400ab857
mov dword [0x1401ba2f8], 1
mov dword [0x14016a4ec], 1
xor edx, edx
xor r8d, r8d
lea rcx, str.POSIXLY_CORRECT
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
movzx edx, byte [r13]
test eax, eax
setne al
movzx eax, al
mov dword [0x14016a4d0], eax
mov eax, dword [0x1401ba2f8]
cmp dl, 0x2d
je 0x1400ab870
mov r8d, dword [0x14016a4d0]
test r8d, r8d
jne 0x1400aba38
cmp dl, 0x2b
jne 0x1400ab878
and r15d, 0xfffffffe
jmp 0x1400ab874
mov esi, dword [0x14016a4d4]
lea rax, [0x140183f28]
mov edi, dword [0x14016a4d8]
mov qword [0x14016a4e0], rax
cmp esi, 0xffffffff
jne 0x1400aba64
cmp edi, 0xffffffff
je 0x1400ab83e
mov dword [0x14016a4ec], edi
mov dword [0x14016a4d4], 0xffffffff
mov dword [0x14016a4d8], 0xffffffff
mov ebx, 0xffffffff
mov eax, ebx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
or r15d, 2
add r13, 1
mov qword [0x1401ba2f0], 0
test eax, eax
je 0x1400ab935
mov dword [0x14016a4d4], 0xffffffff
mov dword [0x14016a4d8], 0xffffffff
nop
movsxd rbx, dword [0x14016a4ec]
mov dword [0x1401ba2f8], 0
cmp ebx, r12d
jge 0x1400ab810
movsxd rax, ebx
mov rsi, qword [rbp + rax*8]
cmp byte [rsi], 0x2d
je 0x1400ab950
lea rax, [0x140183f28]
mov qword [0x14016a4e0], rax
test r15b, 2
jne 0x1400aba18
test r15b, 1
je 0x1400ab852
mov esi, dword [0x14016a4d8]
cmp esi, 0xffffffff
je 0x1400aba08
mov edi, dword [0x14016a4d4]
cmp edi, 0xffffffff
je 0x1400ab92c
mov edx, edi
mov r9, rbp
mov r8d, ebx
mov ecx, esi
call fcn.1400ab1c0
sub edi, esi
mov eax, ebx
mov dword [0x14016a4d4], 0xffffffff
sub eax, edi
mov dword [0x14016a4d8], eax
add ebx, 1
mov dword [0x14016a4ec], ebx
mov rdi, qword [0x14016a4e0]
movzx eax, byte [rdi]
test al, al
je 0x1400ab8a0
jmp 0x1400ab730
movzx eax, byte [rsi + 1]
test al, al
jne 0x1400abb50
mov edx, 0x2d
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test rax, rax
je 0x1400ab8cb
cmp dword [0x14016a4d8], 0xffffffff
je 0x1400ab988
cmp dword [0x14016a4d4], 0xffffffff
je 0x1400abc50
lea r15, [rsi + 1]
mov qword [0x14016a4e0], r15
cmp byte [rsi + 1], 0
jne 0x1400abbb0
mov edx, 0x2d
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test rax, rax
je 0x1400ab852
cmp byte [rax + 1], 0x3a
mov ebx, 0x2d
mov rdi, rsi
jne 0x1400abb29
mov qword [0x1401ba2f0], 0
cmp byte [rdi + 1], 0
mov edx, dword [0x14016a4ec]
je 0x1400abd10
mov qword [0x1401ba2f0], r15
lea rax, [0x140183f28]
add edx, 1
mov qword [0x14016a4e0], rax
mov dword [0x14016a4ec], edx
jmp 0x1400ab857
mov dword [0x14016a4d8], ebx
jmp 0x1400ab92c
add ebx, 1
mov qword [0x1401ba2f0], rsi
mov dword [0x14016a4ec], ebx
mov ebx, 1
jmp 0x1400ab857
and r15d, 0xfffffffe
cmp dl, 0x2b
jne 0x1400ab878
jmp 0x1400ab874
and r15d, 0xfffffffe
cmp dl, 0x2b
jne 0x1400ab70e
xor eax, eax
jmp 0x1400ab874
mov edx, esi
sub esi, edi
mov r8d, ebx
mov r9, rbp
mov ecx, edi
sub ebx, esi
call fcn.1400ab1c0
mov dword [0x14016a4ec], ebx
jmp 0x1400ab83e
cmp al, 0x3a
je 0x1400abbd8
movsx edx, al
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test rax, rax
setne al
movzx eax, al
mov dword [rsp + 0x20], eax
mov r8, r14
mov rdx, r13
mov rcx, rbp
mov r9, qword [rsp + 0xb0]
call fcn.1400ab320
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1400abcc6
mov rdi, qword [0x14016a4e0]
movzx eax, byte [rdi]
lea r15, [rdi + 1]
movsx ebx, al
mov qword [0x14016a4e0], r15
cmp al, 0x3a
je 0x1400ab778
cmp ebx, 0x2d
je 0x1400abd7f
mov edx, ebx
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test rax, rax
je 0x1400ab778
movzx edx, byte [rax + 1]
test r14, r14
je 0x1400abb16
cmp ebx, 0x57
jne 0x1400abb16
cmp dl, 0x3b
je 0x1400abbdf
cmp dl, 0x3a
je 0x1400ab9c5
cmp byte [rdi + 1], 0
jne 0x1400ab857
add dword [0x14016a4ec], 1
jmp 0x1400ab857
mov qword [0x1401ba2f0], 0
or r15d, 2
add r13, 1
jmp 0x1400ab935
mov ecx, dword [0x14016a4d8]
cmp ecx, 0xffffffff
je 0x1400abb68
cmp dword [0x14016a4d4], 0xffffffff
je 0x1400abc5b
lea rdi, [rsi + 1]
mov qword [0x14016a4e0], rdi
cmp al, 0x2d
je 0x1400abcd9
test r14, r14
je 0x1400abc66
cmp rdi, qword [rbp + rbx*8]
jne 0x1400ab753
lea r15, [rsi + 2]
movsx ebx, al
mov qword [0x14016a4e0], r15
cmp al, 0x3a
jne 0x1400abaec
jmp 0x1400ab773
mov ebx, 0x2d
jmp 0x1400ab785
mov edx, ebx
lea rcx, str.unknown_option_____c
call fcn.1400ab290
jmp 0x1400ab79a
add rdi, 1
mov qword [0x14016a4e0], rdi
xor eax, eax
jmp 0x1400aba9e
cmp byte [rdi + 1], 0
jne 0x1400abca6
mov eax, dword [0x14016a4ec]
add eax, 1
mov dword [0x14016a4ec], eax
cmp eax, r12d
jl 0x1400abc98
mov edx, dword [0x14016a4f0]
lea rax, [0x140183f28]
mov qword [0x14016a4e0], rax
test edx, edx
je 0x1400abc31
cmp byte [r13], 0x3a
je 0x1400abc31
mov edx, 0x57
lea rcx, str.option_requires_an_argument_____c
call fcn.1400ab290
mov dword [0x14016a4e8], 0x57
cmp byte [r13], 0x3a
jne 0x1400ab7a0
mov ebx, 0x3a
jmp 0x1400ab857
mov dword [0x14016a4d4], ebx
jmp 0x1400ab988
mov dword [0x14016a4d4], ebx
jmp 0x1400abb68
lea r15, [rsi + 2]
movsx ebx, al
mov qword [0x14016a4e0], r15
cmp al, 0x3a
je 0x1400ab773
mov edx, ebx
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test rax, rax
je 0x1400ab778
movzx edx, byte [rax + 1]
jmp 0x1400abb16
cdqe
mov rax, qword [rbp + rax*8]
mov qword [0x14016a4e0], rax
mov dword [rsp + 0x20], 0
mov r8, r14
mov rdx, r13
mov rcx, rbp
mov r9, qword [rsp + 0xb0]
call fcn.1400ab320
mov ebx, eax
lea rax, [0x140183f28]
mov qword [0x14016a4e0], rax
jmp 0x1400ab857
cmp byte [rsi + 2], 0
je 0x1400abd87
test r14, r14
je 0x1400abcf3
cmp qword [rbp + rbx*8], rdi
jne 0x1400abbcd
lea r15, [rsi + 2]
mov rsi, rdi
mov qword [0x14016a4e0], r15
jmp 0x1400ab993
cmp byte [rax + 2], 0x3a
je 0x1400ab9e7
add edx, 1
mov dword [0x14016a4ec], edx
cmp r12d, edx
jle 0x1400abd3c
movsxd rax, edx
mov rax, qword [rbp + rax*8]
mov qword [0x1401ba2f0], rax
jmp 0x1400ab9e7
lea rax, [0x140183f28]
mov qword [0x14016a4e0], rax
mov eax, dword [0x14016a4f0]
test eax, eax
je 0x1400abd69
cmp byte [r13], 0x3a
je 0x1400abd69
mov edx, ebx
lea rcx, str.option_requires_an_argument_____c
call fcn.1400ab290
mov dword [0x14016a4e8], ebx
cmp byte [r13], 0x3a
jne 0x1400ab7a0
jmp 0x1400abc46
mov rsi, rdi
jmp 0x1400ab993
mov esi, dword [0x14016a4d4]
add ebx, 1
lea rax, [0x140183f28]
mov dword [0x14016a4ec], ebx
mov qword [0x14016a4e0], rax
cmp esi, 0xffffffff
je 0x1400ab83e
mov r8d, ebx
mov edx, esi
mov r9, rbp
mov dword [rsp + 0x3c], ecx
call fcn.1400ab1c0
mov ecx, dword [rsp + 0x3c]
sub esi, ecx
sub ebx, esi
mov dword [0x14016a4ec], ebx
jmp 0x1400ab83e