Function at 0x476d60
Capabilities:
Encode data using xor

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
lea r8, [0x0051658c]
lea rbx, [rsp + 0x20]
mov rsi, rdx
mov rdi, rcx
lea rdx, [r8 - 0xc]
mov rcx, rbx
lea rax, [rbx + 0x10]
mov qword [rsp + 0x20], rax
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_
lea rcx, [rsi + 0x48]
mov rdx, rbx
call sym._ZN7httplib6detail16get_header_valueERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS0_2ciESaISt4pairIK
lea rsi, [rsp + 0x40]
mov r8, 0xffffffffffffffff
mov rbp, rax
lea rax, [rsi + 0x10]
test rbp, rbp
mov qword [rsp + 0x40], rax
je 0x476dc7
mov rcx, rbp
call sym.strlen
lea r8, [rbp + rax]
mov rdx, rbp
mov rcx, rsi
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 + 0x48]
mov rcx, qword [rsp + 0x40]
test rax, rax
je 0x476f41
lea r8, [rcx + rax]
mov rdx, rcx
xor eax, eax
nop
mov r9d, eax
add rdx, 1
shl r9d, 5
add eax, r9d
movzx r9d, byte [rdx - 1]
and eax, 0x3ffffff
xor eax, r9d
cmp rdx, r8
jne 0x476df0
cmp eax, 0xa74526
mov ebp, 1
je 0x476e70
jbe 0x476ea3
cmp eax, 0x2bb6a6c
je 0x476e70
cmp eax, 0x2c726b2
je 0x476e70
cmp eax, 0x2348aed
je 0x476e70
cmp eax, 0xb66a0f
setne r12b
xor r8d, r8d
mov rcx, rsi
mov r9d, 5
lea rdx, str.text_
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 rcx, qword [rsp + 0x40]
test rax, rax
sete bpl
and ebp, r12d
nop word [rax + rax]
lea rax, [rsi + 0x10]
cmp rcx, rax
je 0x476e7e
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x20]
lea rax, [rbx + 0x10]
cmp rcx, rax
je 0x476e91
call sym.operator_delete_void_
test bpl, bpl
jne 0x476eb3
xor eax, eax
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp eax, 0xcb462
je 0x476e70
cmp eax, 0x1accd8
je 0x476e70
jmp 0x476e37
lea r8, [0x005165a2]
mov rcx, rbx
lea rdx, [r8 - 0xf]
lea rax, [rbx + 0x10]
mov qword [rsp + 0x20], rax
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_
lea rcx, [rdi + 0x40]
mov rdx, rbx
call sym._ZN7httplib6detail16get_header_valueERKSt8multimapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_NS0_2ciESaISt4pairIK
mov r8, 0xffffffffffffffff
mov rdi, rax
lea rax, [rsi + 0x10]
test rdi, rdi
mov qword [rsp + 0x40], rax
je 0x476eff
mov rcx, rdi
call sym.strlen
lea r8, [rdi + rax]
mov rdx, rdi
mov rcx, rsi
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, qword [rsp + 0x20]
add rbx, 0x10
cmp rcx, rbx
je 0x476f1d
call sym.operator_delete_void_
mov rcx, qword [rsp + 0x40]
add rsi, 0x10
cmp rcx, rsi
je 0x476e96
call sym.operator_delete_void_
xor eax, eax
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r12d, 1
jmp 0x476e40