Function at 0x140028290
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r8d, dword [0x14017f934]
mov r15, rdx
xor edx, edx
mov r13d, ecx
cmp r8d, 0xffffffff
jne 0x1400282d7
lea rcx, str.POSIXLY_CORRECT
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xor edx, edx
mov r8d, edx
test rax, rax
setne r8b
mov dword [0x14017f934], r8d
mov ebx, dword [reloc.WS2_32.dll_accept]
test r8d, r8d
mov r12d, 1
cmovne r12d, edx
test ebx, ebx
jne 0x140028306
mov r14d, 1
mov ebx, r14d
mov dword [0x140190bc8], r14d
mov dword [reloc.WS2_32.dll_accept], ebx
jmp 0x14002830d
mov r14d, dword [0x140190bc8]
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rsi
mov qword [0x140190bc0], rdx
test r14d, r14d
je 0x140028336
or ebp, 0xffffffff
or esi, ebp
mov dword [0x14017f944], ebp
mov dword [0x14017f940], esi
jmp 0x140028342
mov esi, dword [0x14017f940]
mov ebp, dword [0x14017f944]
mov rdi, qword [0x14017f938]
lea rcx, [0x14012d6f2]
test r14d, r14d
jne 0x14002835e
cmp byte [rdi], r14b
jne 0x140028491
mov dword [0x140190bc8], edx
mov r14d, edx
cmp ebx, r13d
jge 0x140028681
movsxd rax, ebx
mov rdi, qword [r15 + rax*8]
mov qword [0x14017f938], rdi
cmp byte [rdi], 0x2d
jne 0x1400283c4
cmp byte [rdi + 1], 0
jne 0x14002843f
mov edx, Ordinal_46
lea rcx, str.a:c:i:Dhp:Px:nqr:R:s:t:T:o:u:O:Vd:f:m:N:b:e
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov ebx, dword [reloc.WS2_32.dll_accept]
lea rcx, [0x14012d6f2]
mov esi, dword [0x14017f940]
mov ebp, dword [0x14017f944]
test rax, rax
jne 0x140028436
mov r14d, dword [0x140190bc8]
mov qword [0x14017f938], rcx
mov rdi, rcx
test r12b, 2
jne 0x140028664
test r12b, 1
je 0x1400286b0
cmp esi, 0xffffffff
jne 0x1400283fe
mov esi, ebx
mov dword [0x14017f940], ebx
inc ebx
mov dword [reloc.WS2_32.dll_accept], ebx
xor edx, edx
jmp 0x140028350
cmp ebp, 0xffffffff
je 0x140028427
mov r9, r15
call fcn.140027f80
mov eax, ebx
lea rcx, [0x14012d6f2]
sub eax, ebp
add esi, eax
or ebp, 0xffffffff
mov dword [0x14017f940], esi
mov dword [0x14017f944], ebp
inc ebx
mov dword [reloc.WS2_32.dll_accept], ebx
xor edx, edx
jmp 0x140028350
mov rdi, qword [0x14017f938]
xor edx, edx
cmp esi, 0xffffffff
je 0x140028450
cmp ebp, 0xffffffff
cmove ebp, ebx
mov dword [0x14017f944], ebp
cmp byte [rdi + 1], 0
lea rax, [rdi + 1]
je 0x140028491
cmp byte [rax], 0x2d
mov rdi, rax
jne 0x140028491
cmp byte [rax + 1], 0
jne 0x140028491
inc ebx
mov qword [0x14017f938], rcx
mov dword [reloc.WS2_32.dll_accept], ebx
cmp ebp, 0xffffffff
je 0x14002869c
mov r9, r15
call fcn.140027f80
sub esi, ebp
add ebx, esi
jmp 0x140028696
movsxd rax, ebx
cmp rdi, qword [r15 + rax*8]
je 0x1400284d2
cmp byte [rdi], 0x2d
jne 0x1400284d2
mov dword [rsp + 0x20], edx
inc rdi
lea rdx, str.a:c:i:Dhp:Px:nqr:R:s:t:T:o:u:O:Vd:f:m:N:b:e
mov qword [0x14017f938], rdi
mov rcx, r15
call fcn.140028060
cmp eax, 0xffffffff
jne 0x140028586
mov ebx, dword [reloc.WS2_32.dll_accept]
mov rdi, qword [0x14017f938]
movsx esi, byte [rdi]
inc rdi
mov qword [0x14017f938], rdi
cmp esi, 0x3a
je 0x140028636
cmp esi, 0x2d
jne 0x1400284f6
cmp byte [rdi], 0
jne 0x14002864f
mov edx, esi
lea rcx, str.a:c:i:Dhp:Px:nqr:R:s:t:T:o:u:O:Vd:f:m:N:b:e
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
je 0x140028629
cmp esi, 0x57
jne 0x140028599
cmp byte [rax + 1], 0x3b
jne 0x140028599
mov rax, qword [0x14017f938]
cmp byte [rax], 0
jne 0x14002856f
mov eax, dword [reloc.WS2_32.dll_accept]
inc eax
mov dword [reloc.WS2_32.dll_accept], eax
cmp eax, r13d
jl 0x140028562
mov edx, esi
lea rcx, [0x14012d6f2]
mov qword [0x14017f938], rcx
lea rcx, str.option_requires_an_argument_____c
call fcn.140027ee0
mov eax, 0x3f
jmp 0x1400286b3
cdqe
mov rcx, qword [r15 + rax*8]
mov qword [0x14017f938], rcx
lea rdx, str.a:c:i:Dhp:Px:nqr:R:s:t:T:o:u:O:Vd:f:m:N:b:e
mov dword [rsp + 0x20], 0
mov rcx, r15
call fcn.140028060
lea rcx, [0x14012d6f2]
mov qword [0x14017f938], rcx
jmp 0x1400286b3
cmp byte [rax + 1], 0x3a
je 0x1400285b8
mov rax, qword [0x14017f938]
cmp byte [rax], 0
jne 0x1400285f2
inc dword [reloc.WS2_32.dll_accept]
mov eax, esi
jmp 0x1400286b3
mov rcx, qword [0x14017f938]
mov qword [0x140190bc0], 0
cmp byte [rcx], 0
je 0x1400285f9
mov qword [0x140190bc0], rcx
mov edx, dword [reloc.WS2_32.dll_accept]
lea rcx, [0x14012d6f2]
inc edx
mov qword [0x14017f938], rcx
mov dword [reloc.WS2_32.dll_accept], edx
mov eax, esi
jmp 0x1400286b3
cmp byte [rax + 2], 0x3a
je 0x1400285d6
mov edx, dword [reloc.WS2_32.dll_accept]
inc edx
mov dword [reloc.WS2_32.dll_accept], edx
cmp edx, r13d
jl 0x140028619
mov edx, esi
jmp 0x14002853e
movsxd rax, edx
mov rcx, qword [r15 + rax*8]
mov qword [0x140190bc0], rcx
jmp 0x1400285dc
mov ebx, dword [reloc.WS2_32.dll_accept]
mov rdi, qword [0x14017f938]
cmp esi, 0x2d
jne 0x140028642
cmp byte [rdi], 0
jne 0x14002864f
jmp 0x1400286b0
cmp byte [rdi], 0
jne 0x14002864f
inc ebx
mov dword [reloc.WS2_32.dll_accept], ebx
mov edx, esi
lea rcx, str.unknown_option_____c
call fcn.140027ee0
mov eax, 0x3f
jmp 0x1400286b3
movsxd rcx, ebx
mov eax, 1
inc ebx
mov dword [reloc.WS2_32.dll_accept], ebx
mov rdx, qword [r15 + rcx*8]
mov qword [0x140190bc0], rdx
jmp 0x1400286b3
mov qword [0x14017f938], rcx
cmp ebp, 0xffffffff
jne 0x140028480
cmp esi, ebp
cmovne ebx, esi
mov dword [reloc.WS2_32.dll_accept], ebx
mov dword [0x14017f940], 0xffffffff
mov dword [0x14017f944], 0xffffffff
or eax, 0xffffffff
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret