Function at 0x140089810
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x290
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x2d0], rbx
mov r12, r8
mov rbp, rdx
mov r13, rcx
mov rcx, rdx
call fcn.14007b510
mov edx, eax
mov rcx, r13
call fcn.14007a650
nop
mov edx, 0x24
mov rcx, rbp
call fcn.14011fff0
mov rbx, rax
test rax, rax
je 0x140089b9d
nop
mov r8d, ebx
sub r8d, ebp
mov rdx, rbp
mov rcx, r13
call fcn.14007a6f0
lea rcx, [rbx + 1]
mov rbp, rcx
cmp byte [rcx], 0x7b
jne 0x1400898b1
add rcx, 1
mov rbp, rcx
movzx eax, byte [rcx]
test al, al
je 0x1400898d4
nop
nop
cmp al, 0x7d
je 0x1400898cf
add rbp, 1
mov al, byte [rbp]
test al, al
jne 0x1400898a0
jmp 0x1400898cf
movzx eax, byte [rbp]
cmp al, 0x61
jl 0x1400898bd
cmp al, 0x7a
jle 0x1400898c9
cmp al, 0x41
jl 0x1400898c5
cmp al, 0x5a
jle 0x1400898c9
cmp al, 0x5f
jne 0x1400898cf
add rbp, 1
jmp 0x1400898b1
cmp rcx, rbp
jne 0x1400898ec
or r8d, 0xffffffff
lea rdx, [0x14019f89c]
mov rcx, r13
call fcn.14007a6f0
jmp 0x140089b31
mov edx, ebp
sub edx, ecx
call fcn.14007b6e0
mov rbx, rax
mov qword [rsp + 0x2c8], rax
test r12, r12
je 0x140089b04
mov rdi, qword [r12 + 8]
mov r9, rdi
mov rdx, qword [rdi + 8]
cmp byte [rdx + 0x29], 0
jne 0x14008996e
nop
nop
mov rax, qword [rdx + 0x18]
test rax, rax
je 0x140089950
test rbx, rbx
je 0x140089962
mov r8, rbx
sub r8, rax
movzx ecx, byte [rax]
cmp cl, byte [rax + r8]
jne 0x140089949
add rax, 1
test cl, cl
jne 0x140089934
xor eax, eax
jmp 0x140089958
sbb eax, eax
sbb eax, 0xffffffff
jmp 0x140089958
mov rax, rbx
neg rax
sbb eax, eax
test eax, eax
jns 0x140089962
mov rdx, qword [rdx + 0x10]
jmp 0x140089968
mov r9, rdx
mov rdx, qword [rdx]
cmp byte [rdx + 0x29], 0
je 0x140089920
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r12
cmp r9, rdi
je 0x1400899bc
mov rdx, qword [r9 + 0x18]
test rbx, rbx
je 0x1400899ac
test rdx, rdx
je 0x1400899b5
mov rax, rbx
sub rdx, rbx
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x1400899a5
add rax, 1
test cl, cl
jne 0x140089991
xor eax, eax
jmp 0x1400899b1
sbb eax, eax
sbb eax, 0xffffffff
jmp 0x1400899b1
neg rdx
sbb eax, eax
test eax, eax
js 0x1400899bc
lea rcx, [rsp + 0x50]
jmp 0x1400899cb
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x60], r12
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x30]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x1400899ed
cmp rax, r12
je 0x1400899f2
call fcn.14011ef50
cmp qword [rsp + 0x38], rdi
je 0x140089b04
mov r9, qword [r12 + 8]
mov rdx, qword [r9 + 8]
cmp byte [rdx + 0x29], 0
jne 0x140089a5e
nop
mov rax, qword [rdx + 0x18]
test rax, rax
je 0x140089a40
test rbx, rbx
je 0x140089a52
mov r8, rbx
sub r8, rax
movzx ecx, byte [rax]
cmp cl, byte [rax + r8]
jne 0x140089a39
add rax, 1
test cl, cl
jne 0x140089a24
xor eax, eax
jmp 0x140089a48
sbb eax, eax
sbb eax, 0xffffffff
jmp 0x140089a48
mov rax, rbx
neg rax
sbb eax, eax
test eax, eax
jns 0x140089a52
mov rdx, qword [rdx + 0x10]
jmp 0x140089a58
mov r9, rdx
mov rdx, qword [rdx]
cmp byte [rdx + 0x29], 0
je 0x140089a10
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r12
mov r8, qword [r12 + 8]
cmp r9, r8
je 0x140089ab1
mov rdx, qword [r9 + 0x18]
test rbx, rbx
je 0x140089aa1
test rdx, rdx
je 0x140089aaa
mov rax, rbx
sub rdx, rbx
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x140089a9a
add rax, 1
test cl, cl
jne 0x140089a86
xor eax, eax
jmp 0x140089aa6
sbb eax, eax
sbb eax, 0xffffffff
jmp 0x140089aa6
neg rdx
sbb eax, eax
test eax, eax
js 0x140089ab1
lea rcx, [rsp + 0x20]
jmp 0x140089ac0
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x70], r12
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x40]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rsi, qword [rsp + 0x40]
test rsi, rsi
jne 0x140089ae2
call fcn.14011ef50
mov rdi, qword [rsp + 0x48]
cmp rdi, qword [rsi + 8]
jne 0x140089af2
call fcn.14011ef50
or r8d, 0xffffffff
mov rdx, qword [rdi + 0x20]
mov rcx, r13
call fcn.14007a6f0
jmp 0x140089b29
mov rcx, rbx
call fcn.140128440
test rax, rax
je 0x140089b56
mov rcx, rbx
call fcn.140128440
or r8d, 0xffffffff
mov rdx, rax
mov rcx, r13
call fcn.14007a6f0
nop
mov rcx, rbx
call fcn.14011e0c0
cmp byte [rbp], 0x7d
jne 0x140089b3b
add rbp, 1
mov edx, 0x24
mov rcx, rbp
call fcn.14011fff0
mov rbx, rax
test rax, rax
jne 0x140089870
jmp 0x140089b9d
mov r9, rbx
lea r8, str.unknown_environment_variable:__s
mov edx, 1
lea rcx, [rsp + 0x188]
call fcn.14007c440
lea rcx, [rsp + 0x88]
mov rdx, rax
mov r8d, 0x100
call fcn.14011e9b0
lea rdx, [0x14020b7d0]
lea rcx, [rsp + 0x88]
call fcn.14011f050
nop
or r8d, 0xffffffff
mov rdx, rbp
mov rcx, r13
call fcn.14007a6f0
nop
mov rax, r13
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x290
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret