Function at 0x4b6db0
Capabilities:
Query environment variable

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov qword [rbp - 0x18], 0
lea rcx, str.POSIXLY_CORRECT
call sym.getenv
test rax, rax
je 0x4b6dea
mov dword [rbp - 4], 1
jmp 0x4b6e30
mov dword [rbp - 4], 1
jmp 0x4b6e13
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
movzx eax, byte [rax]
cmp al, 0x2d
je 0x4b6e2f
add dword [rbp - 4], 1
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
test rax, rax
jne 0x4b6df3
jmp 0x4b6e30
nop
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
test rax, rax
je 0x4b6e66
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
movzx eax, byte [rax]
cmp al, 0x2d
je 0x4b6e70
mov eax, 0
jmp 0x4b7440
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rdx, [0x004fadcd]
mov rcx, rax
call sym.strcmp
test eax, eax
jne 0x4b6eb8
mov edx, dword [rbp - 4]
mov rax, qword [rbp + 0x18]
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call dbg.consume_option
mov eax, 0
jmp 0x4b7440
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
add rax, 1
movzx eax, byte [rax]
cmp al, 0x2d
jne 0x4b705f
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
test eax, eax
je 0x4b6f03
mov r8d, 0x38
lea rdx, str..._.._cgminer_4.9.1_ccan_opt_parse.c
lea rcx, str.offset__0
mov rax, qword [sym.imp.msvcrt.dll__assert]
call rax
lea rdx, [rbp - 0x28]
lea rax, [rbp - 0x24]
mov rcx, rax
call dbg.first_lopt
mov qword [rbp - 0x10], rax
jmp 0x4b6fde
mov eax, dword [rbp - 0x28]
mov r8d, eax
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
lea rcx, [rax + 2]
mov rax, qword [rbp - 0x10]
mov rdx, rax
call sym.strncmp
test eax, eax
jne 0x4b6fc2
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp - 0x28]
add edx, 2
mov edx, edx
add rax, rdx
movzx eax, byte [rax]
cmp al, 0x3d
jne 0x4b6f99
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp - 0x28]
mov edx, edx
add rdx, 3
add rax, rdx
mov qword [rbp - 0x18], rax
jmp 0x4b6feb
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov edx, dword [rbp - 0x28]
add edx, 2
mov edx, edx
add rax, rdx
movzx eax, byte [rax]
test al, al
je 0x4b6feb
jmp 0x4b6fc3
nop
lea rcx, [rbp - 0x28]
lea rdx, [rbp - 0x24]
mov rax, qword [rbp - 0x10]
mov r8, rcx
mov rcx, rax
call dbg.next_lopt
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
jne 0x4b6f1c
jmp 0x4b6fec
nop
cmp qword [rbp - 0x10], 0
jne 0x4b704c
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov rcx, rax
call sym.strlen
mov r9d, eax
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov r8, qword [rax]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x28]
lea rcx, str.unrecognized_option
mov qword [rsp + 0x20], rcx
mov rcx, rax
call dbg.parse_err
jmp 0x4b7440
sub qword [rbp - 0x10], 2
mov eax, dword [rbp - 0x28]
add eax, 2
mov dword [rbp - 0x28], eax
jmp 0x4b713c
lea rax, [rbp - 0x24]
mov rcx, rax
call dbg.first_sopt
mov qword [rbp - 0x10], rax
jmp 0x4b70c9
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rdx, qword [rax]
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
add eax, 1
mov eax, eax
add rax, rdx
movzx edx, byte [rax]
mov rax, qword [rbp - 0x10]
movzx eax, byte [rax]
cmp dl, al
je 0x4b70b8
lea rdx, [rbp - 0x24]
mov rax, qword [rbp - 0x10]
mov rcx, rax
call dbg.next_sopt
mov qword [rbp - 0x10], rax
jmp 0x4b70c9
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x20]
mov dword [rax], edx
jmp 0x4b70d0
cmp qword [rbp - 0x10], 0
jne 0x4b7071
cmp qword [rbp - 0x10], 0
jne 0x4b7130
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov rcx, rax
call sym.strlen
mov r9d, eax
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov r8, qword [rax]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x28]
lea rcx, str.unrecognized_option
mov qword [rsp + 0x20], rcx
mov rcx, rax
call dbg.parse_err
jmp 0x4b7440
sub qword [rbp - 0x10], 1
mov dword [rbp - 0x28], 2
mov rax, qword [0x00514be0]
mov rdx, qword [rax]
mov eax, dword [rbp - 0x24]
mov ecx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 3
add rax, rdx
mov eax, dword [rax + 8]
cmp eax, 1
jne 0x4b71f2
cmp qword [rbp - 0x18], 0
je 0x4b719b
mov r9d, dword [rbp - 0x28]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov r8, qword [rbp - 0x10]
mov rax, qword [rbp + 0x28]
lea rcx, str.doesnt_allow_an_argument
mov qword [rsp + 0x20], rcx
mov rcx, rax
call dbg.parse_err
jmp 0x4b7440
mov rax, qword [0x00514be0]
mov rdx, qword [rax]
mov eax, dword [rbp - 0x24]
mov ecx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 3
add rax, rdx
mov rdx, qword [rax + 0x10]
mov rax, qword [0x00514be0]
mov rcx, qword [rax]
mov eax, dword [rbp - 0x24]
mov r8d, eax
mov rax, r8
shl rax, 3
sub rax, r8
shl rax, 3
add rax, rcx
mov rax, qword [rax + 0x28]
mov rcx, rax
call rdx
mov qword [rbp - 0x20], rax
jmp 0x4b7364
cmp qword [rbp - 0x18], 0
jne 0x4b7283
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
test eax, eax
je 0x4b7265
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rdx, qword [rax]
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
add eax, 1
mov eax, eax
add rax, rdx
movzx eax, byte [rax]
test al, al
je 0x4b7265
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rdx, qword [rax]
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
mov eax, eax
add rax, 1
add rax, rdx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x20]
mov dword [rax], 0
jmp 0x4b7283
mov eax, dword [rbp - 4]
add eax, 1
mov eax, eax
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
jne 0x4b72b6
mov r9d, dword [rbp - 0x28]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov r8, qword [rbp - 0x10]
mov rax, qword [rbp + 0x28]
lea rcx, str.requires_an_argument
mov qword [rsp + 0x20], rcx
mov rcx, rax
call dbg.parse_err
jmp 0x4b7440
mov rax, qword [0x00514be0]
mov rdx, qword [rax]
mov eax, dword [rbp - 0x24]
mov ecx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 3
add rax, rdx
mov eax, dword [rax + 8]
cmp eax, 4
jne 0x4b730e
mov rax, qword [0x00514be0]
mov rdx, qword [rax]
mov eax, dword [rbp - 0x24]
mov ecx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 3
add rax, rdx
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp - 0x18]
mov rcx, rax
call dbg.opt_set_charp
mov rax, qword [0x00514be0]
mov rdx, qword [rax]
mov eax, dword [rbp - 0x24]
mov ecx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 3
add rax, rdx
mov r8, qword [rax + 0x18]
mov rax, qword [0x00514be0]
mov rdx, qword [rax]
mov eax, dword [rbp - 0x24]
mov ecx, eax
mov rax, rcx
shl rax, 3
sub rax, rcx
shl rax, 3
add rax, rdx
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp - 0x18]
mov rcx, rax
call r8
mov qword [rbp - 0x20], rax
cmp qword [rbp - 0x20], 0
je 0x4b73a5
mov r9d, dword [rbp - 0x28]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov r8, qword [rbp - 0x10]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp - 0x20]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call dbg.parse_err
mov rax, qword [rbp - 0x20]
mov rcx, rax
call sym.free
mov eax, 0xffffffff
jmp 0x4b7440
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
test eax, eax
je 0x4b73e3
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rdx, qword [rax]
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
add eax, 1
mov eax, eax
add rax, rdx
movzx eax, byte [rax]
test al, al
jne 0x4b73e3
mov rax, qword [rbp + 0x20]
mov dword [rax], 0
mov rax, qword [rbp + 0x20]
mov eax, dword [rax]
test eax, eax
jne 0x4b743b
mov edx, dword [rbp - 4]
mov rax, qword [rbp + 0x18]
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call dbg.consume_option
cmp qword [rbp - 0x18], 0
je 0x4b743b
mov eax, dword [rbp - 4]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x18]
add rax, rdx
mov rax, qword [rax]
cmp qword [rbp - 0x18], rax
jne 0x4b743b
mov edx, dword [rbp - 4]
mov rax, qword [rbp + 0x18]
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call dbg.consume_option
mov eax, 1
add rsp, 0x60
pop rbp
ret