Function at 0x426970
Capabilities:
Query environment variable

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rdi, [rsp + 0x30]
mov rsi, rcx
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
lea rax, [rdi + 0x10]
lea rcx, str.LLAMA_CACHE
mov qword [rsp + 0x30], rax
call sym.getenv
test rax, rax
je 0x426aa0
lea rcx, str.LLAMA_CACHE
call sym.getenv
mov rcx, rax
mov rbx, rax
call sym.strlen
mov r8, qword [rsp + 0x38]
mov r9, rbx
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, rdi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_unsigned_long_long__unsigned_long_long__char_const__unsigned_long_long_
lea rbx, [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
lea rax, [rbx + 0x10]
mov rcx, rbx
mov r8, qword [rsp + 0x38]
mov qword [rsp + 0x70], rax
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.constprop.1730_
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
cmp byte [rax + rdx - 1], 0x5c
jne 0x426a60
lea rcx, [rsi + 0x10]
add rbx, 0x10
cmp rax, rbx
mov qword [rsi], rcx
je 0x426a87
mov qword [rsi], rax
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x10], rax
mov rcx, qword [rsp + 0x30]
add rdi, 0x10
mov qword [rsi + 8], rdx
cmp rcx, rdi
je 0x426a47
call sym.operator_delete_void_
mov rax, rsi
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov edx, 0x5c
mov rcx, rbx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::push_back_char_
mov rax, qword [rsp + 0x70]
lea rcx, [rsi + 0x10]
add rbx, 0x10
mov rdx, qword [rsp + 0x78]
mov qword [rsi], rcx
cmp rax, rbx
jne 0x426a21
movdqa xmm0, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x10], xmm0
jmp 0x426a30
lea rcx, str.LOCALAPPDATA
call sym.getenv
mov rcx, rdi
mov rdx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::assign_char_const_
mov rdx, qword [rsp + 0x30]
lea rbp, [rsp + 0x50]
mov r8, qword [rsp + 0x38]
lea rax, [rbp + 0x10]
mov rcx, rbp
mov qword [rsp + 0x50], rax
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.constprop.1730_
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
cmp byte [rax + rdx - 1], 0x5c
jne 0x426b80
lea rbx, [rsp + 0x70]
lea rcx, [rbx + 0x10]
mov qword [rsp + 0x70], rcx
lea rcx, [rbp + 0x10]
cmp rax, rcx
je 0x426ba0
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rdx
lea rax, [rbp + 0x10]
mov rcx, rdi
mov rdx, rbx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
mov byte [rsp + 0x60], 0
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov rcx, qword [rsp + 0x70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x426b56
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x50]
add rbp, 0x10
cmp rcx, rbp
je 0x426b69
call sym.operator_delete_void_
lea rdx, str.llama.cpp
mov rcx, rdi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::append_char_const_
jmp 0x4269e2
mov edx, 0x5c
mov rcx, rbp
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::push_back_char_
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
jmp 0x426aef
movdqa xmm1, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x80], xmm1
jmp 0x426b1c