Function at 0x413ce0
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
push r15
mov eax, 0x1948
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.004470d0
sub rsp, rax
mov rax, qword [rcx]
cmp byte [rax + 0x748], 0
mov r13, rcx
mov rbp, rdx
mov r12, r8
mov qword [rsp + 0x19a8], r9
jne 0x414c60
lea rsi, [rsp + 0x5a0]
lea rdx, str.Origin
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rcx, [r12 + 0x40]
mov rdx, rsi
call sym._ZN7httplib6detail16get_header_valueERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS0_2ciESaISt4pairIK
lea rbx, [rsp + 0xf70]
mov rdx, rax
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rdi, [rsp + 0x410]
lea rdx, str.Access_Control_Allow_Origin
mov rcx, rdi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rcx, qword [rsp + 0x19a8]
mov r8, rbx
mov rdx, rdi
call method.httplib::Response.set_header_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0x410]
lea rax, [rdi + 0x10]
cmp rcx, rax
je 0x413d91
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x413da7
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x5a0]
lea rax, [rsi + 0x10]
cmp rcx, rax
je 0x413dbd
call sym.operator_delete_void_
mov rbp, qword [rbp]
lea rdx, [r12 + 0x70]
mov dword [rsp + 0x20], 0
mov r9d, 1
lea r14, [rsp + 0x2d0]
mov qword [rsp + 0x340], 0
lea r8, [rsp + 0x330]
mov rcx, r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r8
add rbp, 0x7b8
call fcn.0047f790
mov rax, qword [r13]
mov r12, qword [rax]
lea rax, [rsp + 0xe0]
mov rcx, rax
mov r15, rax
mov qword [rsp + 0x38], rax
call fcn.00405a10
xor edx, edx
mov byte [rsp + 0xf70], 0
mov qword [rsp + 0xf78], 0
lea rcx, [rbx + 8]
call fcn.0047c980
mov rcx, rbx
mov byte [rsp + 0xf70], 4
mov byte [rsp + 0xf78], 1
call fcn.00402e50
mov rcx, rbx
call fcn.00402e50
lea rdx, str.__oaicompat
mov rcx, r15
call fcn.00482990
mov rdx, rbx
mov rcx, rax
call fcn.004822f0
mov rcx, rbx
call fcn.00482210
lea rdx, str.messages
mov rcx, r14
call fcn.0049d370
mov rdx, rsi
mov rcx, rax
pxor xmm0, xmm0
mov qword [rsp + 0x5b0], 0
movaps xmmword [rsp + 0x5a0], xmm0
call sym._ZN8nlohmann16json_abi_v3_11_36detail9from_jsonINS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11cha
mov r9, rsi
mov r8, rbp
mov rdx, r12
mov rcx, rbx
call sym._Z11format_chatPK11llama_modelRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIN8nlohmann16json_abi_v3_11_310
mov rdx, rbx
mov rcx, rdi
call fcn.004820d0
mov rcx, qword [rsp + 0x38]
lea rdx, [0x005176ad]
call fcn.00482990
mov rdx, rdi
mov rcx, rax
call fcn.004822f0
mov rcx, rdi
call fcn.00482210
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x413f11
call sym.operator_delete_void_
mov rcx, rsi
call fcn.004adf00
cmp byte [rsp + 0x2d0], 1
je 0x415a50
lea rax, [rsp + 0x380]
mov rcx, rdi
mov r8d, 2
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xd0]
mov rdx, rax
mov qword [rsp + 0x60], rax
call fcn.00406240
lea rdx, str.stop
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, qword [rsp + 0x40]
mov r9, rdi
mov r8, rbx
mov rcx, rsi
call sym._Z10json_valueIN8nlohmann16json_abi_v3_11_310basic_jsonINS1_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsI
mov rcx, qword [rsp + 0x38]
lea rdx, str.stop
call fcn.00482990
mov rdx, rsi
mov rcx, rax
call fcn.004822f0
mov rcx, rsi
call fcn.00482210
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x413fbd
call sym.operator_delete_void_
mov rcx, rdi
call fcn.00482210
cmp byte [rsp + 0x2d0], 1
je 0x415b60
lea rdx, [0x0051a707]
mov rcx, rbx
mov dword [rsp + 0x5a0], 1
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rcx, qword [rsp + 0x40]
mov r8, rsi
mov rdx, rbx
call sym._Z10json_valueIiET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS2_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_t
mov rcx, qword [rsp + 0xf70]
mov ebp, eax
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x414015
call sym.operator_delete_void_
cmp ebp, 1
jne 0x41617d
cmp byte [rsp + 0x2d0], 1
je 0x415cd1
movzx eax, byte [0x005430d8]
test al, al
je 0x414b44
mov rax, qword [0x005430e8]
mov r12, qword [0x005430e0]
mov qword [rsp + 0x50], rax
cmp r12, rax
je 0x414138
movzx eax, byte [rsp + 0x2d0]
mov qword [rsp + 0x68], rsi
mov rsi, rbx
mov r15, qword [rsp + 0x2d8]
mov byte [rsp + 0x58], al
jmp 0x414084
add r12, 0x20
cmp qword [rsp + 0x50], r12
je 0x414130
cmp byte [rsp + 0x58], 1
jne 0x414075
mov r14, qword [r15 + 8]
mov rbp, qword [r15]
cmp r14, rbp
je 0x414075
mov rbx, qword [r12 + 8]
jmp 0x4140a9
add rbp, 0x30
cmp r14, rbp
je 0x414075
cmp qword [rbp + 8], rbx
jne 0x4140a0
test rbx, rbx
je 0x4140c8
mov rdx, qword [r12]
mov r8, rbx
mov rcx, qword [rbp]
call sym.memcmp
test eax, eax
jne 0x4140a0
cmp r14, rbp
je 0x414075
mov rbx, rsi
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov r8, r12
mov rcx, rbx
lea rdx, str.Unsupported_param:
mov rsi, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rdx, rbx
mov rcx, rsi
call sym.std::runtime_error::runtime_error_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0xf70]
add rbx, 0x10
cmp rcx, rbx
je 0x414110
call sym.operator_delete_void_
lea r8, [sym.std::runtime_error::runtime_error__]
mov rcx, rsi
lea rdx, sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_stringbuf_char__std::char_traits_char___std::allocator_char___
call sym.__cxa_throw
nop word cs:[rax + rax]
mov rbx, rsi
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x40]
lea r12, [rsp + 0x380]
mov rcx, rbx
mov rdx, r14
call fcn.00495d50
mov rcx, rbx
call fcn.00495cd0
mov rax, qword [rsp + 0xf70]
lea rcx, [rsi + 0x30]
mov qword [rsp + 0x5c0], 0
lea rdx, [0x005168f5]
mov qword [rsp + 0x5c8], 0
mov qword [rsp + 0x5a0], rax
mov rax, qword [rsp + 0xf78]
mov qword [rsp + 0x5a8], rax
mov rax, qword [rsp + 0xf80]
mov qword [rsp + 0x5b0], rax
mov rax, qword [rsp + 0xf88]
mov qword [rsp + 0x5b8], rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rax, [rsi + 0x60]
mov rdx, r14
mov rcx, rdi
mov qword [rsp + 0x5f0], rax
mov qword [rsp + 0x5f8], 0
mov byte [rsp + 0x600], 0
call fcn.00495d50
mov rcx, rdi
call sym._ZN8nlohmann16json_abi_v3_11_36detail9iter_implIKNS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11ch
mov rax, qword [rsp + 0x410]
lea rcx, [rbx + 0x30]
mov qword [rsp + 0xf90], 0
lea rdx, [0x005168f5]
mov qword [rsp + 0xf98], 0
mov qword [rsp + 0xf70], rax
mov rax, qword [rsp + 0x418]
mov qword [rsp + 0xf78], rax
mov rax, qword [rsp + 0x420]
mov qword [rsp + 0xf80], rax
mov rax, qword [rsp + 0x428]
mov qword [rsp + 0xf88], rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rax, [rbx + 0x60]
mov qword [rsp + 0xfc8], 0
mov qword [rsp + 0xfc0], rax
lea rax, [sym.vsnprintf]
mov qword [rsp + 0x50], rax
lea rax, [r12 + 0x10]
mov byte [rsp + 0xfd0], 0
mov qword [rsp + 0x68], rax
mov rdx, rbx
mov rcx, rsi
call fcn.0049e360
test al, al
jne 0x414570
mov rax, qword [rsp + 0x5a0]
test rax, rax
je 0x41613f
movzx eax, byte [rax]
cmp al, 1
je 0x414560
cmp al, 2
jne 0x414550
mov rax, qword [rsp + 0x5c0]
lea r9, [rsi + 0x30]
cmp rax, qword [rsp + 0x5c8]
je 0x414331
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea r9, [0x0051522b]
mov rcx, r12
mov r8d, 0x20
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______gnu_cxx::__to_xstring_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char__int____char__unsigned_long_long__char_const__char___unsigned_long_long__char_const__::___clone_constprop3709_
lea rcx, [rsi + 0x30]
mov rdx, r12
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 + 0x380]
cmp rcx, qword [rsp + 0x68]
je 0x41431d
call sym.operator_delete_void_
mov rax, qword [rsp + 0x5c0]
lea r9, [rsi + 0x30]
mov qword [rsp + 0x5c8], rax
cmp byte [rsp + 0xe0], 1
je 0x4144b0
mov rcx, rsi
call fcn.0049e180
mov rdx, rax
mov rcx, r12
call fcn.00480680
mov rax, qword [rsp + 0x5a0]
test rax, rax
je 0x41615e
movzx eax, byte [rax]
cmp al, 1
je 0x4144a0
cmp al, 2
jne 0x414470
mov rdx, qword [rsp + 0x5c0]
lea rax, [rsi + 0x30]
cmp rdx, qword [rsp + 0x5c8]
je 0x4143e1
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x50]
lea r9, [0x0051522b]
mov rcx, rdi
mov r8d, 0x20
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______gnu_cxx::__to_xstring_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____char__int____char__unsigned_long_long__char_const__char___unsigned_long_long__char_const__::___clone_constprop3709_
lea rcx, [rsi + 0x30]
mov rdx, rdi
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 + 0x410]
lea rax, [rdi + 0x10]
cmp rcx, rax
je 0x4143cd
call sym.operator_delete_void_
mov rax, qword [rsp + 0x5c0]
mov qword [rsp + 0x5c8], rax
lea rax, [rsi + 0x30]
lea rdx, [rdi + 0x10]
mov rcx, rdi
mov qword [rsp + 0x410], rdx
mov rdx, qword [rax]
mov r8, qword [rax + 8]
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.3713_
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
call fcn.004824c0
mov rcx, rax
mov rdx, r12
call fcn.004822f0
mov rcx, qword [rsp + 0x410]
lea rax, [rdi + 0x10]
cmp rcx, rax
je 0x41442d
call sym.operator_delete_void_
mov rcx, r12
call fcn.00482210
mov rax, qword [rsp + 0x5a0]
test rax, rax
je 0x416120
movzx eax, byte [rax]
cmp al, 1
je 0x414490
cmp al, 2
je 0x414480
add qword [rsp + 0x5b8], 1
add qword [rsp + 0x5c0], 1
jmp 0x414291
lea rax, [rsi + 0x50]
jmp 0x4143e1
add qword [rsp + 0x5b0], 0x10
jmp 0x41445a
add qword [rsp + 0x5a8], 0x30
jmp 0x41445a
mov rcx, rsi
call sym._ZNK8nlohmann16json_abi_v3_11_36detail9iter_implIKNS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11c
jmp 0x4143e1
mov rax, qword [rsp + 0xe8]
mov r15, qword [rax + 8]
mov rbp, qword [rax]
cmp r15, rbp
je 0x41433f
mov qword [rsp + 0x58], r12
mov r14, qword [r9 + 8]
mov r12, rsi
mov rsi, rbx
mov rbx, r15
mov r15, r9
jmp 0x4144ed
add rbp, 0x30
cmp rbx, rbp
je 0x414c50
cmp qword [rbp + 8], r14
jne 0x4144e0
test r14, r14
je 0x41450b
mov rdx, qword [r15]
mov r8, r14
mov rcx, qword [rbp]
call sym.memcmp
test eax, eax
jne 0x4144e0
mov r15, rbx
mov rbx, rsi
mov rsi, r12
mov r12, qword [rsp + 0x58]
cmp r15, rbp
je 0x41433f
mov rcx, rsi
call sym._ZNK8nlohmann16json_abi_v3_11_36detail21iteration_proxy_valueINS1_9iter_implIKNS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7
lea rdx, str.n_predict
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
je 0x41433f
jmp 0x414435
lea r9, [rsi + 0x50]
jmp 0x414331
mov rcx, rsi
call sym._ZNK8nlohmann16json_abi_v3_11_36detail9iter_implIKNS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11c
mov r9, rax
jmp 0x414331
mov rcx, qword [rsp + 0xfc0]
lea rax, [rbx + 0x60]
cmp rcx, rax
je 0x414586
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xfa0]
lea rax, [rbx + 0x40]
cmp rcx, rax
je 0x41459c
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x5f0]
lea rax, [rsi + 0x60]
cmp rcx, rax
je 0x4145b2
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x5d0]
lea rax, [rsi + 0x40]
cmp rcx, rax
je 0x4145c8
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x40]
call fcn.00482210
mov rax, qword [rsp + 0x340]
test rax, rax
je 0x4145ef
mov rcx, qword [rsp + 0x48]
mov r8d, 3
mov rdx, rcx
call rax
mov rax, qword [r13]
lea rcx, [rax + 0xac0]
call method.server_queue.get_new_id__
mov r15d, eax
mov rax, qword [r13]
mov edx, r15d
lea rcx, [rax + 0xb80]
call method.server_response.add_waiting_task_id_int_
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
mov rbp, qword [r13]
call fcn.00480680
mov dword [rsp + 0x28], 0
mov r9, rbx
mov edx, r15d
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov r8d, 0xffffffff
call sym._ZN14server_context18request_completionEiiN8nlohmann16json_abi_v3_11_310basic_jsonINS1_11ordered_mapESt6vectorNSt7__cxx1112bas
mov rcx, rbx
call fcn.00482210
mov edx, 0x18
mov rcx, rdi
call sym.std::__cxx11::basic_stringstream_char__std::char_traits_char___std::allocator_char___::basic_stringstream_std::_Ios_Openmode_
lea rcx, [rdi + 0x10]
mov r8d, 9
lea rdx, str.chatcmpl_
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
movzx eax, byte [0x005430f8]
test al, al
je 0x414b00
lea rdx, str.mt19937
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, rbx
mov rcx, rsi
call sym.std::random_device::_M_init_pretr1_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x4146b4
call sym.operator_delete_void_
mov rcx, rsi
call sym.std::random_device::_M_getval_pretr1__
mov dword [rsp + 0xf70], eax
mov ecx, 1
mov edx, eax
nop word [rax + rax]
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul eax, eax, 0x6c078965
lea edx, [rax + rcx]
mov dword [rbx + rcx*4], edx
add rcx, 1
cmp rcx, 0x270
jne 0x4146d0
lea r14, [rsp + 0x380]
mov r8d, 0x20
mov edx, 0x20
mov qword [rsp + 0x1930], 0x270
lea rax, [r14 + 0x10]
mov rcx, r14
mov qword [rsp + 0x380], rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_construct_unsigned_long_long__char_
lea r11, [0x00543100]
xor r10d, r10d
jmp 0x414791
lea rdx, [rax + 1]
mov eax, dword [rsp + rax*4 + 0xf70]
mov qword [rsp + 0x1930], rdx
mov edx, eax
shr edx, 0xb
xor eax, edx
mov edx, eax
shl edx, 7
and edx, 0x9d2c5680
xor eax, edx
mov edx, eax
shl edx, 0xf
and edx, 0xefc60000
xor eax, edx
mov edx, eax
shr edx, 0x12
xor eax, edx
xor edx, edx
div qword [0x00543108]
mov rax, qword [r11]
movzx edx, byte [rax + rdx]
mov rax, qword [rsp + 0x380]
mov byte [rax + r10], dl
add r10, 1
cmp r10, 0x20
je 0x4147c0
mov rax, qword [rsp + 0x1930]
cmp rax, 0x26f
jbe 0x414730
mov rcx, rbx
call fcn.004a6f00
mov rax, qword [rsp + 0x1930]
jmp 0x414730
mov r8, qword [rsp + 0x388]
lea rcx, [rdi + 0x10]
mov rdx, qword [rsp + 0x380]
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__long_long_
mov rcx, qword [rsp + 0x380]
lea rax, [r14 + 0x10]
cmp rcx, rax
je 0x4147ef
call sym.operator_delete_void_
lea r12, [rsp + 0x130]
lea rdx, [rdi + 0x18]
mov rcx, r12
call sym.std::__cxx11::basic_stringbuf_char__std::char_traits_char___std::allocator_char___::str___const
mov rcx, rdi
call sym.std::__cxx11::basic_stringstream_char__std::char_traits_char___std::allocator_char___::basic_stringstream__
lea rdx, str.stream
mov rcx, rbx
mov byte [rsp + 0x5a0], 0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rcx, qword [rsp + 0x38]
mov r8, rsi
mov rdx, rbx
call sym._Z10json_valueIbET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS2_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_t
mov rcx, qword [rsp + 0xf70]
mov ebp, eax
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x41484a
call sym.operator_delete_void_
test bpl, bpl
je 0x414a70
mov rax, qword [r13]
lea rcx, [rsi + 0x10]
mov dword [rsp + 0x5a0], r15d
mov rdx, qword [rsp + 0x130]
mov r8, qword [rsp + 0x138]
mov qword [rsp + 0x5a8], rax
lea rax, [rsi + 0x20]
mov qword [rsp + 0x5b0], 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.3713_
mov rax, qword [r13]
lea rcx, [rbx + 0x10]
mov dword [rsp + 0x410], r15d
lea rdx, [sym._ZNSt14_Function_base13_Base_managerIZZ4mainENKUlRKN7httplib7RequestERNS1_8ResponseEE15_clES4_S6_EUlbE0_E10_M_managerERSt9_Any]
mov r8, qword [rsp + 0x5b8]
movq xmm0, rdx
mov rdx, qword [rsp + 0x5b0]
mov qword [rsp + 0x418], rax
lea rax, [method.std._Function_handler_void__bool___main::lambda_httplib::Request_const__httplib::Response_17::operator___httplib::Request_const__httplib::Response__const::lambda_bool_2_::_M_invoke_std::_Any_data_const__bool_]
movq xmm1, rax
mov eax, dword [rsp + 0x5a0]
add r8, rdx
punpcklqdq xmm0, xmm1
movaps xmmword [rsp + 0x420], xmm0
mov dword [rsp + 0xf70], eax
mov rax, qword [rsp + 0x5a8]
mov qword [rsp + 0xf78], rax
lea rax, [rbx + 0x20]
mov qword [rsp + 0xf80], rax
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.3713_
mov ecx, 0x30
mov qword [rsp + 0x390], 0
call sym.operator_new_unsigned_long_long_
mov rbp, rax
mov eax, dword [rsp + 0xf70]
mov rdx, qword [rsp + 0xf80]
lea rcx, [rbp + 0x10]
mov r8, qword [rsp + 0xf88]
mov dword [rbp], eax
mov rax, qword [rsp + 0xf78]
add r8, rdx
mov qword [rbp + 8], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0x10], rax
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.3713_
mov rcx, qword [rsp + 0x48]
lea rdx, [sym._ZNSt14_Function_base13_Base_managerIZZ4mainENKUlRKN7httplib7RequestERNS1_8ResponseEE15_clES4_S6_EUlyRNS1_8DataSinkEE_E10_M_ma]
mov qword [rsp + 0x380], rbp
lea rax, [sym._ZNSt17_Function_handlerIFbyRN7httplib8DataSinkEEZZ4mainENKUlRKNS0_7RequestERNS0_8ResponseEE15_clES6_S8_EUlyS2_E_E9_M_invokeER]
movq xmm0, rdx
lea rdx, str.text_event_stream
movq xmm2, rax
punpcklqdq xmm0, xmm2
movaps xmmword [rsp + 0x390], xmm0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov r15, qword [rsp + 0x48]
mov r9, rdi
mov r8, r14
mov rcx, qword [rsp + 0x19a8]
mov rdx, r15
call sym._ZN7httplib8Response28set_chunked_content_providerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8functionIFbyRNS_8D
mov rcx, qword [rsp + 0x330]
mov rax, r15
add rax, 0x10
cmp rcx, rax
je 0x4149d1
call sym.operator_delete_void_
mov rax, qword [rsp + 0x390]
test rax, rax
je 0x4149ec
mov r8d, 3
mov rdx, r14
mov rcx, r14
call rax
mov rcx, qword [rsp + 0xf80]
add rbx, 0x20
cmp rcx, rbx
je 0x414a02
call sym.operator_delete_void_
mov rax, qword [rsp + 0x420]
test rax, rax
je 0x414a1d
mov r8d, 3
mov rdx, rdi
mov rcx, rdi
call rax
mov rcx, qword [rsp + 0x5b0]
add rsi, 0x20
cmp rcx, rsi
je 0x414a33
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x130]
lea rax, [r12 + 0x10]
cmp rcx, rax
je 0x414a4a
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x38]
call fcn.00482210
nop
add rsp, 0x1948
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r13]
lea rcx, [rsp + 0x150]
mov r8d, r15d
mov qword [rsp + 0x50], rcx
lea rdx, [rax + 0xb80]
call method.server_response.recv_int_
mov rax, qword [rsp + 0x50]
cmp byte [rsp + 0x169], 0
lea rdx, [rax + 8]
jne 0x414ab4
movzx ebp, byte [rsp + 0x168]
test bpl, bpl
jne 0x414cd0
mov rcx, rbx
call fcn.00480680
mov rcx, qword [rsp + 0x19a8]
mov rdx, rbx
call sym._ZZ4mainENKUlRN7httplib8ResponseEN8nlohmann16json_abi_v3_11_310basic_jsonINS3_11ordered_mapESt6vectorNSt7__cxx1112basic_string
mov rcx, rbx
call fcn.00482210
mov rcx, qword [r13]
mov edx, r15d
add rcx, 0xb80
call method.server_response.remove_waiting_task_id_int_
mov rcx, qword [rsp + 0x50]
add rcx, 8
call fcn.00482210
jmp 0x414a33
lea rcx, [0x005430f8]
call sym.__cxa_guard_acquire
test eax, eax
je 0x414684
lea rdx, [0x0051a7b8]
lea rcx, [0x00543100]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rcx, [0x005430f8]
call sym.__cxa_guard_release
lea rcx, [sym.__tcf_2]
call sym.atexit
jmp 0x414684
lea rcx, [0x005430d8]
call sym.__cxa_guard_acquire
test eax, eax
je 0x41403b
lea rdx, str.tools
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rcx, [rbx + 0x20]
lea rdx, str.tool_choice
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov ecx, 0x40
pxor xmm0, xmm0
mov qword [0x005430f0], 0
movaps xmmword [0x005430e0], xmm0
call sym.operator_new_unsigned_long_long_
mov rdx, qword [rsp + 0xf70]
mov rbp, rax
mov qword [0x005430e0], rax
mov r8, qword [rsp + 0xf78]
lea r12, [rax + 0x40]
mov rcx, rbp
lea rax, [rax + 0x10]
mov qword [0x005430f0], r12
mov qword [rbp], 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.3713_
mov rdx, qword [rsp + 0xf90]
lea r14, [rbp + 0x20]
mov r8, qword [rsp + 0xf98]
lea rax, [rbp + 0x30]
mov rcx, r14
mov qword [rbp + 0x20], 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.3713_
lea rcx, [0x005430d8]
mov qword [0x005430e8], r12
call sym.__cxa_guard_release
lea rcx, [sym.__tcf_3]
call sym.atexit
mov rcx, qword [rsp + 0xf90]
lea rax, [rbx + 0x30]
cmp rcx, rax
je 0x414c2b
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x41403b
call sym.operator_delete_void_
jmp 0x41403b
mov rbx, rsi
mov rsi, r12
mov r12, qword [rsp + 0x58]
jmp 0x41433f
lea rbx, [rsp + 0xf70]
lea rdx, str.This_server_does_not_support_chat_completions._Start_it_without____embeddings_
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rsi, [rsp + 0x5a0]
mov r8d, 6
mov rdx, rbx
mov rcx, rsi
call sym.format_error_response_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__error_type_
mov rcx, qword [rsp + 0x19a8]
mov rdx, rsi
call sym._ZZ4mainENKUlRN7httplib8ResponseEN8nlohmann16json_abi_v3_11_310basic_jsonINS3_11ordered_mapESt6vectorNSt7__cxx1112basic_string
mov rcx, rsi
add rbx, 0x10
call fcn.00482210
mov rcx, qword [rsp + 0xf70]
cmp rcx, rbx
je 0x414a55
call sym.operator_delete_void_
jmp 0x414a55
lea rax, [rsp + 0x100]
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.00480680
cmp byte [rsp + 0x100], 1
je 0x415e34
mov byte [rsp + 0x88], 0
lea rdx, str.stopped_eos
mov rcx, rbx
mov byte [rsp + 0x240], 0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0x240]
mov rdx, rbx
mov r8, rax
mov qword [rsp + 0x70], rax
call sym._Z10json_valueIbET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS2_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_t
mov rcx, qword [rsp + 0xf70]
mov byte [rsp + 0x80], al
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x414d4c
call sym.operator_delete_void_
lea rdx, str.tokens_predicted
mov rcx, rbx
mov dword [rsp + 0x2a0], 0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0x2a0]
mov rdx, rbx
mov r8, rax
mov qword [rsp + 0x68], rax
call sym._Z10json_valueIiET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS2_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_t
mov rcx, qword [rsp + 0xf70]
mov dword [rsp + 0x90], eax
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x414da0
call sym.operator_delete_void_
lea rdx, str.tokens_evaluated
mov rcx, rbx
mov dword [rsp + 0x300], 0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0x300]
mov rdx, rbx
mov r8, rax
mov qword [rsp + 0x58], rax
call sym._Z10json_valueIiET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS2_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_t
mov rcx, qword [rsp + 0xf70]
mov dword [rsp + 0xa8], eax
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x414df4
call sym.operator_delete_void_
lea rdx, [0x0051521d]
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rdx, str.content
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, qword [rsp + 0x78]
lea rax, [rsp + 0x170]
mov r9, rsi
mov r8, rbx
mov rcx, rax
mov qword [rsp + 0xb0], rax
call sym._Z10json_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS8_11ordered
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x414e4b
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x5a0]
lea rax, [rsi + 0x10]
cmp rcx, rax
je 0x414e61
call sym.operator_delete_void_
lea rax, [rsp + 0x190]
lea rdx, str.length
mov rcx, rax
mov qword [rsp + 0x98], rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
cmp byte [rsp + 0x80], 0
jne 0x415ee0
cmp byte [rsp + 0x88], 0
jne 0x415ee0
mov rcx, qword [rsp + 0x40]
lea rdx, str.finish_reason
call fcn.00480f70
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x2e0], 0
mov rdx, qword [rsp + 0x98]
lea rcx, [rax + 0x18]
call fcn.00481d70
mov rax, qword [rsp + 0x40]
mov rcx, rbx
mov qword [rsp + 0x2f8], 0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xd0], rax
call fcn.00405c30
mov rcx, qword [rsp + 0x58]
lea rdx, str.index
mov qword [rsp + 0xf80], 0
call fcn.00481780
mov rax, qword [rsp + 0x58]
xor edx, edx
mov qword [rsp + 0x310], 0
lea rcx, [rax + 0x18]
call sym._ZN8nlohmann16json_abi_v3_11_36detail8json_refINS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char
mov rax, qword [rsp + 0x58]
lea rcx, [rbx + 0x18]
mov qword [rsp + 0xd8], 2
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rax
call fcn.00405c30
mov rcx, qword [rsp + 0x48]
lea rdx, str.message
mov qword [rsp + 0xf98], 0
call fcn.004818a0
lea rdx, str.content
mov rcx, rdi
mov qword [rsp + 0x340], 0
call fcn.004818a0
mov rdx, qword [rsp + 0xb0]
lea rcx, [rdi + 0x18]
mov qword [rsp + 0x420], 0
call fcn.00481d70
mov rdx, qword [rsp + 0x60]
mov rcx, r14
mov qword [rsp + 0x438], 0
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], 2
call fcn.00405c30
lea rdx, str.role
mov rcx, rsi
mov qword [rsp + 0x390], 0
call fcn.004816f0
mov qword [rsp + 0x5b0], 0
lea rcx, [rsi + 0x18]
lea rdx, [0x005189df]
call fcn.00480bb0
mov rdx, qword [rsp + 0x60]
lea rcx, [r14 + 0x18]
mov qword [rsp + 0x5c8], 0
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 2
call fcn.00405c30
mov rdx, qword [rsp + 0x60]
lea rax, [rsp + 0x270]
mov qword [rsp + 0x3a8], 0
mov rcx, rax
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0x80], rax
call fcn.00405c30
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x80]
lea rcx, [rax + 0x18]
call fcn.004804b0
mov rax, qword [rsp + 0x48]
lea rcx, [rbx + 0x30]
mov qword [rsp + 0x358], 0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xd0], rax
call fcn.00405c30
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rbx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0xfb0], 0
mov qword [rsp + 0xd8], 3
call fcn.00405c30
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
call fcn.004804b0
mov rax, qword [rsp + 0x68]
mov r8d, 2
mov qword [rsp + 0x2b0], 0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x110]
mov rcx, rax
mov qword [rsp + 0xa0], rax
call fcn.00406240
mov rcx, qword [rsp + 0x68]
call fcn.00482210
mov rcx, qword [rsp + 0x70]
call fcn.00482210
lea rcx, [rbx + 0x30]
call fcn.00482210
lea rcx, [rbx + 0x18]
call fcn.00482210
mov rcx, rbx
call fcn.00482210
mov rbp, qword [rsp + 0x48]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
mov rcx, qword [rsp + 0x80]
call fcn.00482210
lea rcx, [r14 + 0x18]
call fcn.00482210
mov rcx, r14
call fcn.00482210
lea rcx, [rsi + 0x18]
call fcn.00482210
mov rcx, rsi
call fcn.00482210
lea rcx, [rdi + 0x18]
call fcn.00482210
mov rcx, rdi
call fcn.00482210
mov rbp, qword [rsp + 0x58]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
mov rbp, qword [rsp + 0x40]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
lea rdx, [rsp + 0x210]
mov rbp, rax
mov rcx, rdx
lea rdx, str.choices
mov qword [rsp + 0x88], rcx
call fcn.004818a0
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x220], 0
lea rcx, [rdx + 0x18]
mov rdx, qword [rsp + 0xa0]
call fcn.00480680
mov rdx, qword [rsp + 0x88]
mov rcx, r14
mov qword [rsp + 0x238], 0
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xd0], rdx
mov rdx, qword [rsp + 0x60]
call fcn.00405c30
mov rcx, qword [rsp + 0x70]
lea rdx, str.created
mov qword [rsp + 0x390], 0
call fcn.004818a0
mov rax, qword [rsp + 0x70]
xor edx, edx
mov qword [rsp + 0x250], 0
mov byte [rsp + 0x258], 0
mov qword [rsp + 0x260], 0
lea rcx, [rax + 0x20]
call fcn.0047c980
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x260], rbp
mov byte [rsp + 0x258], 5
lea rbp, [rax + 0x18]
mov rcx, rbp
call fcn.00402e50
mov rcx, rbp
call fcn.00402e50
mov rax, qword [rsp + 0x70]
lea rcx, [r14 + 0x18]
mov qword [rsp + 0x268], 0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xd0], rax
call fcn.00405c30
mov rbp, qword [rsp + 0x80]
lea rdx, [0x00516c82]
mov qword [rsp + 0x3a8], 0
mov rcx, rbp
call fcn.00481780
lea rdx, [rsp + 0x1d0]
mov qword [rsp + 0x280], 0
mov rcx, rdx
lea rdx, str.gpt_3.5_turbo_0613
mov qword [rsp + 0xc0], rcx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rdx, [rsp + 0x1f0]
mov r11, rdx
mov rcx, r11
mov qword [rsp + 0xc8], r11
lea rdx, [0x00516c82]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
lea rdx, [rsp + 0x1b0]
mov r9, qword [rsp + 0xc0]
mov r10, rdx
mov r8, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x38]
mov rcx, r10
mov qword [rsp + 0xb8], r10
call sym._Z10json_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS8_11ordered
mov rdx, qword [rsp + 0xb8]
lea rcx, [rbp + 0x18]
call fcn.004820d0
mov rdx, qword [rsp + 0x60]
lea rcx, [r14 + 0x30]
mov qword [rsp + 0x298], 0
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xd8], 2
call fcn.00405c30
mov rbp, qword [rsp + 0x68]
lea rdx, [0x00515e5c]
mov qword [rsp + 0x3c0], 0
mov rcx, rbp
call fcn.00481810
lea rcx, [rbp + 0x20]
xor edx, edx
mov qword [rsp + 0x2b0], 0
mov byte [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], 0
mov qword [rsp + 0x68], rbp
call fcn.0047c980
mov ecx, 0x20
mov byte [rsp + 0x2b8], 3
call sym.operator_new_unsigned_long_long_
lea r8, [0x0051a806]
mov rbp, rax
lea rax, [rax + 0x10]
mov rcx, rbp
mov qword [rbp], rax
lea rdx, [r8 - 0xf]
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char_const__char_const__char_const__std::forward_iterator_tag___clone_.constprop.3711_
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x2c0], rbp
lea rbp, [rax + 0x18]
mov rcx, rbp
call fcn.00402e50
mov rcx, rbp
call fcn.00402e50
mov rax, qword [rsp + 0x68]
lea rcx, [r14 + 0x48]
mov qword [rsp + 0x2c8], 0
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xd0], rax
call fcn.00405c30
mov rcx, qword [rsp + 0x40]
lea rdx, str.usage
mov qword [rsp + 0x3d8], 0
call fcn.00481780
mov rbp, qword [rsp + 0x58]
xor edx, edx
mov qword [rsp + 0x2e0], 0
mov byte [rsp + 0x300], 0
mov qword [rsp + 0x308], 0
lea rcx, [rbp + 8]
call fcn.0047c980
mov ecx, 0x20
mov byte [rsp + 0x300], 3
call sym.operator_new_unsigned_long_long_
lea r8, [0x00518a26]
mov rbp, rax
lea rax, [rax + 0x10]
mov rcx, rbp
mov qword [rbp], rax
lea rdx, [r8 - 0x11]
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char_const__char_const__char_const__std::forward_iterator_tag___clone_.constprop.3711_
mov qword [rsp + 0x308], rbp
mov rbp, qword [rsp + 0x58]
mov rcx, rbp
call fcn.00402e50
mov rcx, rbp
call fcn.00402e50
mov edx, dword [rsp + 0x90]
lea rcx, [rbp + 0x18]
mov qword [rsp + 0x310], 0
call sym._ZN8nlohmann16json_abi_v3_11_36detail8json_refINS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rbp
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xd8], 2
call fcn.00405c30
lea rdx, [0x005183a1]
mov rcx, rdi
mov qword [rsp + 0x340], 0
call fcn.00480f70
mov edx, dword [rsp + 0xa8]
lea rcx, [rdi + 0x18]
mov qword [rsp + 0x420], 0
call sym._ZN8nlohmann16json_abi_v3_11_36detail8json_refINS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xd0], rdi
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 0xd8], 2
lea rcx, [rax + 0x18]
mov rdx, rbp
call fcn.00405c30
lea rdx, str.total_tokens
mov rcx, rsi
mov qword [rsp + 0x358], 0
call fcn.00480ee0
mov edx, dword [rsp + 0x90]
lea rcx, [rsi + 0x18]
mov qword [rsp + 0x5b0], 0
add edx, dword [rsp + 0xa8]
call sym._ZN8nlohmann16json_abi_v3_11_36detail8json_refINS0_10basic_jsonINS0_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char
mov rax, qword [rsp + 0x48]
mov rdx, rbp
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 2
lea rcx, [rax + 0x30]
call fcn.00405c30
mov rax, qword [rsp + 0x48]
mov rdx, rbp
mov qword [rsp + 0x370], 0
mov qword [rsp + 0xd8], 3
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x120]
mov rcx, rax
mov qword [rsp + 0xa8], rax
call fcn.00405c30
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0xa8]
add rcx, 0x18
call fcn.004804b0
mov rcx, qword [rsp + 0x40]
mov rdx, rbp
mov qword [rsp + 0x2f8], 0
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xd0], rcx
lea rcx, [r14 + 0x60]
call fcn.00405c30
lea rcx, [rbx + 8]
xor edx, edx
mov qword [rsp + 0x3f0], 0
mov byte [rsp + 0xf70], 0
mov qword [rsp + 0xf78], 0
call fcn.0047c980
mov ecx, 0x20
mov byte [rsp + 0xf70], 3
call sym.operator_new_unsigned_long_long_
lea r8, [0x00516b46]
mov rbp, rax
lea rax, [rax + 0x10]
mov rcx, rbp
mov qword [rbp], rax
lea rdx, [r8 - 2]
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char_const__char_const__char_const__std::forward_iterator_tag___clone_.constprop.3711_
mov rcx, rbx
mov qword [rsp + 0xf78], rbp
call fcn.00402e50
mov rcx, rbx
call fcn.00402e50
lea rcx, [rbx + 0x18]
mov rdx, r12
mov qword [rsp + 0xf80], 0
call fcn.00481a80
mov rbp, qword [rsp + 0x60]
lea rcx, [r14 + 0x78]
mov qword [rsp + 0xf98], 0
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], 2
mov rdx, rbp
call fcn.00405c30
lea rax, [rsp + 0xf0]
mov rdx, rbp
mov qword [rsp + 0x408], 0
mov rcx, rax
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], 6
mov qword [rsp + 0x90], rax
call fcn.00405c30
lea rbp, [r14 + 0x90]
nop word cs:[rax + rax]
sub rbp, 0x18
mov rcx, rbp
call fcn.00482210
cmp rbp, r14
jne 0x415810
lea rcx, [rbx + 0x18]
call fcn.00482210
mov rcx, rbx
call fcn.00482210
mov rbp, qword [rsp + 0x40]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
mov rcx, qword [rsp + 0xa8]
call fcn.00482210
mov rbp, qword [rsp + 0x48]
lea rcx, [rbp + 0x30]
call fcn.00482210
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
lea rcx, [rsi + 0x18]
call fcn.00482210
mov rcx, rsi
call fcn.00482210
lea rcx, [rdi + 0x18]
call fcn.00482210
mov rcx, rdi
call fcn.00482210
mov rbp, qword [rsp + 0x58]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
mov rbp, qword [rsp + 0x68]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
mov rbp, qword [rsp + 0x80]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x1b0]
add rax, 0x10
cmp rcx, rax
je 0x4158f9
call sym.operator_delete_void_
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x1f0]
add rax, 0x10
cmp rcx, rax
je 0x415917
call sym.operator_delete_void_
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x1d0]
add rax, 0x10
cmp rcx, rax
je 0x415935
call sym.operator_delete_void_
mov rbp, qword [rsp + 0x70]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
mov rbp, qword [rsp + 0x88]
lea rcx, [rbp + 0x18]
call fcn.00482210
mov rcx, rbp
call fcn.00482210
cmp byte [0x00543080], 0
jne 0x415ea0
cmp byte [rsp + 0x100], 1
je 0x415f00
mov rcx, qword [rsp + 0xa0]
call fcn.00482210
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x190]
add rax, 0x10
cmp rcx, rax
je 0x4159aa
call sym.operator_delete_void_
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x170]
add rax, 0x10
cmp rcx, rax
je 0x4159c8
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x78]
call fcn.00482210
lea rdx, str.application_json__charsetutf_8
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, qword [rsp + 0x90]
mov r8d, 1
mov rcx, rsi
call fcn.00406ae0
mov rcx, qword [rsp + 0x19a8]
mov r8, rbx
mov rdx, rsi
call method.httplib::Response.set_content_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0x5a0]
add rsi, 0x10
cmp rcx, rsi
je 0x415a20
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xf70]
add rbx, 0x10
cmp rcx, rbx
je 0x415a36
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x90]
call fcn.00482210
jmp 0x414ad4
mov rbp, qword [rsp + 0x2d8]
mov r14, qword [rbp + 8]
mov r15, qword [rbp]
cmp r14, r15
je 0x413f27
lea r12, str.stop
jmp 0x415a7c
add r15, 0x30
cmp qword [rbp + 8], r15
je 0x415a8b
mov rdx, r12
mov rcx, r15
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
jne 0x415a72
cmp r14, r15
je 0x413f27
mov rcx, qword [rsp + 0x40]
lea rdx, str.stop
call fcn.0049cbf0
cmp byte [rax], 3
jne 0x413f27
mov rcx, qword [rsp + 0x40]
lea rdx, str.stop
call fcn.0049cbf0
mov rdx, rax
mov rcx, rbx
call fcn.004050f0
mov rdx, rbx
mov rcx, rsi
call fcn.004820d0
lea rax, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 2
mov qword [rsp + 0x5b0], 0
mov rdx, rax
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], 1
mov qword [rsp + 0x60], rax
call fcn.00406240
mov rcx, qword [rsp + 0x38]
lea rdx, str.stop
call fcn.00482990
mov rdx, rdi
mov rcx, rax
call fcn.004822f0
mov rcx, rdi
call fcn.00482210
mov rcx, rsi
call fcn.00482210
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x413fc5
call sym.operator_delete_void_
jmp 0x413fc5
mov rbp, qword [rsp + 0x2d8]
mov r14, qword [rbp + 8]
mov r15, qword [rbp]
cmp r14, r15
je 0x413fd3
lea r12, str.response_format
jmp 0x415b8c
add r15, 0x30
cmp qword [rbp + 8], r15
je 0x415b9b
mov rdx, r12
mov rcx, r15
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
jne 0x415b82
cmp r14, r15
je 0x413fd3
mov rdx, qword [rsp + 0x60]
mov r8d, 1
mov rcx, rsi
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], 0
call fcn.00406240
lea rdx, str.response_format
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, qword [rsp + 0x40]
lea rax, [rsp + 0x300]
mov r9, rsi
mov r8, rbx
mov rcx, rax
mov qword [rsp + 0x58], rax
call sym._Z10json_valueIN8nlohmann16json_abi_v3_11_310basic_jsonINS1_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsI
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x415c10
call sym.operator_delete_void_
mov rcx, rsi
call fcn.00482210
lea rax, [rbx + 0x10]
mov rcx, rsi
mov qword [rsp + 0xf78], 0
lea rdx, [0x00516bd3]
mov qword [rsp + 0xf70], rax
mov byte [rsp + 0xf80], 0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, qword [rsp + 0x58]
mov r9, rbx
mov r8, rsi
mov rcx, rdi
call sym._Z10json_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS8_11ordered
mov rcx, qword [rsp + 0x5a0]
lea rax, [rsi + 0x10]
cmp rcx, rax
je 0x415c70
call sym.operator_delete_void_
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x415c86
call sym.operator_delete_void_
lea rdx, str.json_object
mov rcx, rdi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
je 0x416000
cmp qword [rsp + 0x418], 0
jne 0x4160af
mov rcx, qword [rsp + 0x410]
lea rax, [rdi + 0x10]
cmp rcx, rax
je 0x415cc2
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x58]
call fcn.00482210
jmp 0x413fd3
mov rbp, qword [rsp + 0x2d8]
mov r14, qword [rbp + 8]
mov r15, qword [rbp]
cmp r14, r15
je 0x415db0
lea r12, str.logprobs
jmp 0x415cfd
add r15, 0x30
cmp qword [rbp + 8], r15
je 0x415d0c
mov rdx, r12
mov rcx, r15
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
jne 0x415cf3
cmp r14, r15
je 0x415db0
lea rdx, str.top_logprobs
mov rcx, rbx
mov dword [rsp + 0x410], 0x14
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rcx, qword [rsp + 0x40]
mov r8, rdi
mov rdx, rbx
call sym._Z10json_valueIiET_RKN8nlohmann16json_abi_v3_11_310basic_jsonINS2_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_t
movsxd rdx, eax
mov rcx, rsi
mov byte [rsp + 0x5a0], 0
mov qword [rsp + 0x5a8], 0
call sym._ZN8nlohmann16json_abi_v3_11_36detail20external_constructorILNS1_7value_tE5EE9constructINS0_10basic_jsonINS0_11ordered_mapESt6
mov rcx, rsi
call fcn.00402e50
mov rcx, qword [rsp + 0x38]
lea rdx, str.n_probs
call fcn.00482990
mov rdx, rsi
mov rcx, rax
call fcn.004822f0
mov rcx, rsi
call fcn.00482210
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x41402c
call sym.operator_delete_void_
jmp 0x41402c
cmp byte [rsp + 0x2d0], 1
jne 0x41402c
mov rbp, qword [rsp + 0x2d8]
mov r14, qword [rbp + 8]
mov r15, qword [rbp]
cmp r14, r15
je 0x41402c
lea r12, str.top_logprobs
jmp 0x415dea
add r15, 0x30
cmp qword [rbp + 8], r15
je 0x415df9
mov rdx, r12
mov rcx, r15
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
jne 0x415de0
cmp r14, r15
je 0x41402c
mov ecx, 0x10
call sym.__cxa_allocate_exception
lea rdx, str.top_logprobs_requires_logprobs_to_be_set_to_true
mov rcx, rax
mov rbx, rax
call sym.std::runtime_error::runtime_error_char_const_
lea r8, [sym.std::runtime_error::runtime_error__]
mov rcx, rbx
lea rdx, sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_stringbuf_char__std::char_traits_char___std::allocator_char___
call sym.__cxa_throw
mov rax, qword [rsp + 0x108]
mov r8, qword [rax]
cmp r8, qword [rax + 8]
je 0x414cf3
mov dword [rsp + 0x58], r15d
mov r15, rax
mov qword [rsp + 0x68], rbx
mov rbx, r8
jmp 0x415e6e
add rbx, 0x30
cmp qword [r15 + 8], rbx
je 0x4160a0
lea rdx, str.stopped_word
mov rcx, rbx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
jne 0x415e60
mov r15d, dword [rsp + 0x58]
mov byte [rsp + 0x88], bpl
mov rbx, qword [rsp + 0x68]
jmp 0x414cfb
mov rdx, qword [rsp + 0x78]
mov rcx, rbx
call fcn.00480680
mov rcx, qword [rsp + 0x90]
lea rdx, [0x0051a807]
call fcn.00482990
mov rdx, rbx
mov rcx, rax
call fcn.004822f0
mov rcx, rbx
call fcn.00482210
jmp 0x415971
mov rcx, qword [rsp + 0x98]
lea rdx, str.stop
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::assign_char_const_
jmp 0x414e9c
mov rax, qword [rsp + 0x108]
mov rdx, qword [rax + 8]
mov rbp, qword [rax]
mov qword [rsp + 0x40], rdx
cmp rdx, rbp
je 0x41597f
mov qword [rsp + 0x48], rbx
mov rbx, rax
mov rax, rsi
mov rsi, rbp
mov rbp, rax
jmp 0x415f3a
add rsi, 0x30
cmp qword [rbx + 8], rsi
je 0x415f4d
lea rdx, str.completion_probabilities
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
jne 0x415f30
mov rax, rbp
mov rbp, rsi
cmp qword [rsp + 0x40], rbp
mov rbx, qword [rsp + 0x48]
mov rsi, rax
je 0x41597f
mov rdx, qword [rsp + 0x60]
mov r8d, 2
mov rcx, rax
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], 0
call fcn.00406240
lea rdx, str.completion_probabilities
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, qword [rsp + 0x78]
mov r9, rsi
mov r8, rbx
mov rcx, rdi
call sym._Z10json_valueIN8nlohmann16json_abi_v3_11_310basic_jsonINS1_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsI
mov rcx, qword [rsp + 0x90]
lea rdx, str.completion_probabilities
call fcn.00482990
mov rdx, rdi
mov rcx, rax
call fcn.004822f0
mov rcx, rdi
call fcn.00482210
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x415fec
call sym.operator_delete_void_
mov rcx, rsi
call fcn.00482210
jmp 0x41597f
mov rdx, qword [rsp + 0x60]
lea r14, [rsp + 0x380]
mov r8d, 1
mov qword [rsp + 0xd8], 0
lea rax, [rsp + 0x2a0]
mov rcx, r14
mov qword [rsp + 0xd0], rax
call fcn.00406240
lea rdx, str.schema
mov rcx, rbx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1253_
mov rdx, qword [rsp + 0x58]
mov r9, r14
mov r8, rbx
mov rcx, rsi
call sym._Z10json_valueIN8nlohmann16json_abi_v3_11_310basic_jsonINS1_11ordered_mapESt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsI
mov rcx, qword [rsp + 0x38]
lea rdx, str.json_schema
call fcn.00482990
mov rdx, rsi
mov rcx, rax
call fcn.004822f0
mov rcx, rsi
call fcn.00482210
mov rcx, qword [rsp + 0xf70]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x416093
call sym.operator_delete_void_
mov rcx, r14
call fcn.00482210
jmp 0x415cac
mov r15d, dword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x414cf3
lea rdx, [0x00517bf2]
mov rcx, rdi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::compare_char_const__const
test eax, eax
je 0x415cac
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov r8, rdi
mov rcx, rbx
lea rdx, str.response_format_type_must_be_one_of__text__or__json_object___but_got:
mov rsi, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rdx, rbx
mov rcx, rsi
call sym.std::runtime_error::runtime_error_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0xf70]
add rbx, 0x10
cmp rcx, rbx
je 0x416106
call sym.operator_delete_void_
lea r8, [sym.std::runtime_error::runtime_error__]
mov rcx, rsi
lea rdx, sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_stringbuf_char__std::char_traits_char___std::allocator_char___
call sym.__cxa_throw
nop dword [rax]
lea r9, [0x00515eec]
mov edx, 0x33c0
lea r8, [0x0051500b]
lea rcx, [0x00515028]
call sym.ggml_abort
lea r9, [0x00515f97]
mov edx, 0x1491
lea r8, [0x0051500b]
lea rcx, [0x00515028]
call sym.ggml_abort
lea r9, [0x00515f97]
mov edx, 0x1491
lea r8, [0x0051500b]
lea rcx, [0x00515028]
call sym.ggml_abort
mov ecx, 0x10
call sym.__cxa_allocate_exception
lea rdx, str.Only_one_completion_choice_is_allowed
mov rcx, rax
mov rsi, rax
call sym.std::runtime_error::runtime_error_char_const_
lea r8, [sym.std::runtime_error::runtime_error__]
mov rcx, rsi
lea rdx, sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_stringbuf_char__std::char_traits_char___std::allocator_char___
call sym.__cxa_throw
mov rsi, rax
mov rcx, rbx
call fcn.00482210
mov rbx, rsi
mov rcx, qword [rsp + 0x50]
add rcx, 8
call fcn.00482210
mov rcx, qword [rsp + 0x130]
lea rdx, [r12 + 0x10]
cmp rcx, rdx
jne 0x4163d5
mov rcx, qword [rsp + 0x38]
call fcn.00482210
mov rcx, rbx
call sym._Unwind_Resume
mov rbx, rax
mov rcx, rsi
call sym.__cxa_free_exception
jmp 0x4162f2
mov rcx, qword [rsp + 0x38]
call fcn.00482210
mov rcx, qword [rsp + 0x40]
call fcn.00482210
mov rax, qword [rsp + 0x340]
test rax, rax
je 0x4161eb
mov rcx, qword [rsp + 0x48]
mov r8d, 3
mov rdx, rcx
call rax
jmp 0x4161eb
call sym.operator_delete_void_
jmp 0x4161e1