Function at 0x140030c50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
lea r8, [0x140060db7]
lea rsi, [rsp + 0x30]
mov rdi, rdx
lea rbp, [rsp + 0x40]
mov rbx, rcx
lea rdx, [r8 - 0xc]
mov rcx, rsi
lea r13, [rsp + 0x20]
mov qword [rsp + 0x30], rbp
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_.isra.0_
lea rdx, [rdi + 0x48]
mov r8, rsi
mov rcx, r13
call sym._ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_EN7httplib6detail2ciESaI
mov rax, qword [rsp + 0x20]
cmp rax, qword [rsp + 0x28]
je 0x140030e98
mov r14, qword [rax + 0x40]
lea rdi, [rsp + 0x60]
mov qword [rsp + 0x50], rdi
test r14, r14
je 0x140030edb
mov rcx, r14
call sym.strlen
lea r8, [r14 + rax]
lea r12, [rsp + 0x50]
mov rdx, r14
mov rcx, r12
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_.isra.0_
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
test r8, r8
je 0x140030ed0
add r8, r9
mov rdx, r9
xor eax, eax
nop word [rax + rax]
mov ecx, eax
add rdx, 1
shl ecx, 5
add eax, ecx
movzx ecx, byte [rdx - 1]
and eax, 0x3ffffff
xor eax, ecx
cmp rdx, r8
jne 0x140030d00
cmp eax, 0x2348aed
je 0x140030d40
ja 0x140030d90
cmp eax, 0x1accd8
je 0x140030d40
cmp eax, 0xa74526
je 0x140030d40
cmp eax, 0xcb462
jne 0x140030d9e
nop dword [rax]
mov r14d, 1
cmp r9, rdi
je 0x140030de0
mov rax, qword [rsp + 0x60]
mov rcx, r9
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x30]
cmp rcx, rbp
je 0x140030d78
mov rax, qword [rsp + 0x40]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
test r14b, r14b
jne 0x140030df8
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp eax, 0x2bb6a6c
je 0x140030d40
cmp eax, 0x2c726b2
je 0x140030d40
cmp eax, 0xb66a0f
setne r15b
mov r9d, 5
xor r8d, r8d
lea rdx, str.text_
mov rcx, r12
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::rfind_char_const__unsigned_long_long__unsigned_long_long__const
mov r9, qword [rsp + 0x50]
test rax, rax
sete r14b
and r14d, r15d
cmp r9, rdi
jne 0x140030d4f
jmp 0x140030d60
mov rcx, qword [rsp + 0x30]
cmp rcx, rbp
je 0x140030df8
mov rax, qword [rsp + 0x40]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
lea r8, [0x140060dcd]
mov rcx, rsi
mov qword [rsp + 0x30], rbp
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_.isra.0_
lea rdx, [rbx + 0x40]
mov r8, rsi
mov rcx, r13
call sym._ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_EN7httplib6detail2ciESaI
mov rax, qword [rsp + 0x20]
cmp rax, qword [rsp + 0x28]
je 0x140030eb8
mov rbx, qword [rax + 0x40]
mov qword [rsp + 0x50], rdi
test rbx, rbx
je 0x140030ee7
mov rcx, rbx
call sym.strlen
lea r8, [rbx + rax]
mov rdx, rbx
mov rcx, r12
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_.isra.0_
mov rcx, qword [rsp + 0x30]
cmp rcx, rbp
je 0x140030e70
mov rax, qword [rsp + 0x40]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x50]
cmp rcx, rdi
je 0x140030d7d
mov rax, qword [rsp + 0x60]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
jmp 0x140030d7d
lea rdi, [rsp + 0x60]
lea r8, [0x140060daa]
mov qword [rsp + 0x50], rdi
mov r14, r8
jmp 0x140030ccf
lea r8, [0x140060daa]
mov qword [rsp + 0x50], rdi
mov rbx, r8
jmp 0x140030e4d
mov r15d, 1
jmp 0x140030da7
lea rcx, str.basic_string:_construction_from_null_is_not_valid
call sym.std::__throw_logic_error_char_const_
lea rcx, str.basic_string:_construction_from_null_is_not_valid
call sym.std::__throw_logic_error_char_const_
mov rbx, rax
jmp 0x140030efa
mov rcx, rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, rbx
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop