Function at 0x140466170
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 0x140466332
mov r10d, dword [0x14060435c]
test r10d, r10d
je 0x140466290
cmp dword [0x140604340], 0xffffffff
je 0x1404662a4
mov r9d, dword [0x140ae08d8]
test r9d, r9d
jne 0x1404662a4
movzx edx, byte [r8]
cmp dl, 0x2d
je 0x140466618
mov eax, dword [0x140604340]
test eax, eax
jne 0x140466530
cmp dl, 0x2b
je 0x1404662e9
mov rdi, qword [0x140604350]
mov qword [0x140ae08d0], 0
movzx eax, byte [rdi]
test al, al
je 0x140466380
nop dword [rax + rax]
test r14, r14
je 0x1404665ad
movsxd rdx, dword [0x14060435c]
cmp rdi, qword [rbp + rdx*8]
je 0x1404665ad
cmp al, 0x2d
je 0x1404666b2
and r15d, 4
jne 0x140466562
lea r15, [rdi + 1]
movsx ebx, al
mov qword [0x140604350], r15
cmp al, 0x3a
jne 0x1404665cc
mov ebx, 0x3a
cmp byte [rdi + 1], 0
jne 0x140466265
add dword [0x14060435c], 1
mov ecx, dword [0x140604360]
test ecx, ecx
je 0x14046627a
cmp byte [r13], 0x3a
jne 0x14046669a
mov dword [0x140604358], ebx
mov ebx, 0x3f
jmp 0x140466337
mov dword [0x140ae08d8], 1
mov dword [0x14060435c], 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 [0x140604340], eax
mov eax, dword [0x140ae08d8]
cmp dl, 0x2d
je 0x140466350
mov r8d, dword [0x140604340]
test r8d, r8d
jne 0x140466518
cmp dl, 0x2b
jne 0x140466358
and r15d, 0xfffffffe
jmp 0x140466354
mov esi, dword [0x140604344]
lea rax, [0x1407284e8]
mov edi, dword [0x140604348]
mov qword [0x140604350], rax
cmp esi, 0xffffffff
jne 0x140466544
cmp edi, 0xffffffff
je 0x14046631e
mov dword [0x14060435c], edi
mov dword [0x140604344], 0xffffffff
mov dword [0x140604348], 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 [0x140ae08d0], 0
test eax, eax
je 0x140466415
mov dword [0x140604344], 0xffffffff
mov dword [0x140604348], 0xffffffff
nop
movsxd rbx, dword [0x14060435c]
mov dword [0x140ae08d8], 0
cmp ebx, r12d
jge 0x1404662f0
movsxd rax, ebx
mov rsi, qword [rbp + rax*8]
cmp byte [rsi], 0x2d
je 0x140466430
lea rax, [0x1407284e8]
mov qword [0x140604350], rax
test r15b, 2
jne 0x1404664f8
test r15b, 1
je 0x140466332
mov esi, dword [0x140604348]
cmp esi, 0xffffffff
je 0x1404664e8
mov edi, dword [0x140604344]
cmp edi, 0xffffffff
je 0x14046640c
mov edx, edi
mov r9, rbp
mov r8d, ebx
mov ecx, esi
call fcn.140465c80
sub edi, esi
mov eax, ebx
mov dword [0x140604344], 0xffffffff
sub eax, edi
mov dword [0x140604348], eax
add ebx, 1
mov dword [0x14060435c], ebx
mov rdi, qword [0x140604350]
movzx eax, byte [rdi]
test al, al
je 0x140466380
jmp 0x140466210
movzx eax, byte [rsi + 1]
test al, al
jne 0x140466630
mov edx, 0x2d
mov rcx, r13
call sub.msvcrt.dll_strchr
test rax, rax
je 0x1404663ab
cmp dword [0x140604348], 0xffffffff
je 0x140466468
cmp dword [0x140604344], 0xffffffff
je 0x14046673a
lea r15, [rsi + 1]
mov qword [0x140604350], r15
cmp byte [rsi + 1], 0
jne 0x140466690
mov edx, 0x2d
mov rcx, r13
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140466332
cmp byte [rax + 1], 0x3a
mov ebx, 0x2d
mov rdi, rsi
jne 0x140466609
mov qword [0x140ae08d0], 0
cmp byte [rdi + 1], 0
mov edx, dword [0x14060435c]
je 0x1404667f0
mov qword [0x140ae08d0], r15
lea rax, [0x1407284e8]
add edx, 1
mov qword [0x140604350], rax
mov dword [0x14060435c], edx
jmp 0x140466337
mov dword [0x140604348], ebx
jmp 0x14046640c
add ebx, 1
mov qword [0x140ae08d0], rsi
mov dword [0x14060435c], ebx
mov ebx, 1
jmp 0x140466337
and r15d, 0xfffffffe
cmp dl, 0x2b
jne 0x140466358
jmp 0x140466354
and r15d, 0xfffffffe
cmp dl, 0x2b
jne 0x1404661ee
xor eax, eax
jmp 0x140466354
mov edx, esi
sub esi, edi
mov r8d, ebx
mov r9, rbp
mov ecx, edi
sub ebx, esi
call fcn.140465c80
mov dword [0x14060435c], ebx
jmp 0x14046631e
cmp al, 0x3a
je 0x1404666bd
movsx edx, al
mov rcx, r13
call sub.msvcrt.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.140465dd0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1404667b0
mov rdi, qword [0x140604350]
movzx eax, byte [rdi]
lea r15, [rdi + 1]
movsx ebx, al
mov qword [0x140604350], r15
cmp al, 0x3a
je 0x140466258
cmp ebx, 0x2d
je 0x140466864
mov edx, ebx
mov rcx, r13
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140466258
movzx edx, byte [rax + 1]
test r14, r14
je 0x1404665f6
cmp ebx, 0x57
jne 0x1404665f6
cmp dl, 0x3b
je 0x1404666c4
cmp dl, 0x3a
je 0x1404664a5
cmp byte [rdi + 1], 0
jne 0x140466337
add dword [0x14060435c], 1
jmp 0x140466337
mov qword [0x140ae08d0], 0
or r15d, 2
add r13, 1
jmp 0x140466415
mov ecx, dword [0x140604348]
cmp ecx, 0xffffffff
je 0x140466648
cmp dword [0x140604344], 0xffffffff
je 0x140466745
lea rdi, [rsi + 1]
mov qword [0x140604350], rdi
cmp al, 0x2d
je 0x1404667c3
test r14, r14
je 0x140466750
cmp rdi, qword [rbp + rbx*8]
jne 0x140466233
lea r15, [rsi + 2]
movsx ebx, al
mov qword [0x140604350], r15
cmp al, 0x3a
jne 0x1404665cc
jmp 0x140466253
mov ebx, 0x2d
jmp 0x140466265
mov rcx, qword [rbp]
mov r8d, ebx
lea rdx, str.unknown_option_____c
call fcn.140465d50
jmp 0x14046627a
add rdi, 1
mov qword [0x140604350], rdi
xor eax, eax
jmp 0x14046657e
cmp byte [rdi + 1], 0
jne 0x140466790
mov eax, dword [0x14060435c]
add eax, 1
mov dword [0x14060435c], eax
cmp eax, r12d
jl 0x140466782
mov edx, dword [0x140604360]
lea rax, [0x1407284e8]
mov qword [0x140604350], rax
test edx, edx
je 0x14046671b
cmp byte [r13], 0x3a
je 0x14046671b
mov rcx, qword [rbp]
mov r8d, 0x57
lea rdx, str.option_requires_an_argument_____c
call fcn.140465d50
mov dword [0x140604358], 0x57
cmp byte [r13], 0x3a
jne 0x140466280
mov ebx, 0x3a
jmp 0x140466337
mov dword [0x140604344], ebx
jmp 0x140466468
mov dword [0x140604344], ebx
jmp 0x140466648
lea r15, [rsi + 2]
movsx ebx, al
mov qword [0x140604350], r15
cmp al, 0x3a
je 0x140466253
mov edx, ebx
mov rcx, r13
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140466258
movzx edx, byte [rax + 1]
jmp 0x1404665f6
cdqe
mov rax, qword [rbp + rax*8]
mov qword [0x140604350], rax
mov dword [rsp + 0x20], 0
mov r8, r14
mov rdx, r13
mov rcx, rbp
mov r9, qword [rsp + 0xb0]
call fcn.140465dd0
mov ebx, eax
lea rax, [0x1407284e8]
mov qword [0x140604350], rax
jmp 0x140466337
cmp byte [rsi + 2], 0
je 0x14046686c
test r14, r14
je 0x1404667dd
cmp qword [rbp + rbx*8], rdi
jne 0x1404666b2
lea r15, [rsi + 2]
mov rsi, rdi
mov qword [0x140604350], r15
jmp 0x140466473
cmp byte [rax + 2], 0x3a
je 0x1404664c7
add edx, 1
mov dword [0x14060435c], edx
cmp r12d, edx
jle 0x14046681c
movsxd rax, edx
mov rax, qword [rbp + rax*8]
mov qword [0x140ae08d0], rax
jmp 0x1404664c7
lea rax, [0x1407284e8]
mov qword [0x140604350], rax
mov eax, dword [0x140604360]
test eax, eax
je 0x14046684e
cmp byte [r13], 0x3a
je 0x14046684e
mov rcx, qword [rbp]
mov r8d, ebx
lea rdx, str.option_requires_an_argument_____c
call fcn.140465d50
mov dword [0x140604358], ebx
cmp byte [r13], 0x3a
jne 0x140466280
jmp 0x140466730
mov rsi, rdi
jmp 0x140466473
mov esi, dword [0x140604344]
add ebx, 1
lea rax, [0x1407284e8]
mov dword [0x14060435c], ebx
mov qword [0x140604350], rax
cmp esi, 0xffffffff
je 0x14046631e
mov r8d, ebx
mov edx, esi
mov r9, rbp
mov dword [rsp + 0x3c], ecx
call fcn.140465c80
mov ecx, dword [rsp + 0x3c]
sub esi, ecx
sub ebx, esi
mov dword [0x14060435c], ebx
jmp 0x14046631e