Function at 0x180011110
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0xd0
mov rax, qword [0x180066008]
xor rax, rsp
mov qword [rsp + 0xc0], rax
movzx eax, byte [r8]
mov rbx, rdx
mov rdx, qword [rdx + 8]
mov rdi, rcx
mov r11, r8
test byte [rbx + 0x2c], 4
movzx ecx, byte [rdx]
je 0x18001114f
and al, 0x1f
jmp 0x180011151
and al, 0xf
xor al, cl
mov r9b, 0
mov byte [rdx], al
mov rax, qword [rbx + 8]
movzx r10d, byte [rax]
and r10b, 3
add r10b, 1
je 0x1800111d1
nop word [rax + rax]
movzx edx, word [rbx + 0x22]
mov rax, qword [rbx + 8]
movzx r8d, r9b
inc r9b
add edx, r8d
movzx ecx, byte [r8 + r11 + 1]
xor byte [rdx + rax], cl
cmp r9b, r10b
jb 0x180011170
movzx esi, word [rbx + 0x22]
xor r8d, r8d
mov r9d, esi
mov qword [rsp + 0x30], r8
add r9, qword [rbx + 8]
xor dl, dl
movzx r11d, r10b
nop dword [rax]
movzx ecx, dl
mov rax, r9
sub rax, rcx
inc dl
movzx eax, byte [rax + r11 - 1]
mov byte [rsp + rcx + 0x30], al
cmp dl, r10b
jb 0x1800111b0
mov rbp, qword [rsp + 0x30]
jmp 0x1800111db
movzx esi, word [rbx + 0x22]
xor r8d, r8d
mov ebp, r8d
movzx ecx, r10b
lea eax, [rsi + rcx]
mov word [rbx + 0x22], ax
movzx eax, word [rbx + 0x24]
sub ax, cx
mov ecx, dword [rbx + 0x28]
mov word [rbx + 0x24], ax
movzx esi, ax
test ecx, ecx
je 0x180011211
sub ecx, 1
je 0x18001120b
mov r8d, 1
cmp ecx, 1
je 0x180011211
mov r8d, 2
mov eax, r8d
mov rdx, 0xffffffffffffffff
mov rcx, qword [rdi + rax*8 + 0x7a0]
mov r11, qword [rcx + 8]
movzx ecx, r10b
shl ecx, 3
shl rdx, cl
mov r9, rdx
and rdx, r11
or rdx, rbp
neg r9
cmp rdx, r11
jae 0x18001125b
sub r11, rdx
lea rax, [rdx + r9]
mov rcx, r9
sub rcx, r11
cmp rcx, r11
cmovae rax, rdx
mov rdx, rax
jmp 0x180011274
mov rcx, rdx
mov rax, r9
sub rcx, r11
sub rax, rcx
cmp rax, rcx
ja 0x180011274
cmp rdx, r9
jb 0x180011274
sub rdx, r9
movzx ecx, byte [rbx + 0x2c]
movzx eax, cl
mov qword [rbx], rdx
or al, 0x20
mov byte [rbx + 0x2c], al
movabs rax, 0x3fffffffffffffff
cmp rdx, rax
jbe 0x1800112ab
lea r8, str.Packet_number_too_big
mov rdx, rbx
mov rcx, rdi
call fcn.18001d760
xor al, al
jmp 0x1800113b8
test cl, 0x40
je 0x1800112cf
cmp si, 0x10
jae 0x1800112cf
lea r8, str.Payload_length_less_than_encryption_tag
mov rdx, rbx
mov rcx, rdi
call fcn.18001d760
xor al, al
jmp 0x1800113b8
test cl, 4
je 0x1800113b6
cmp r8d, 2
jne 0x1800113b6
mov rax, qword [rbx + 8]
mov r9, qword [rdi + 0x7b0]
movzx ecx, byte [rax]
shr cl, 2
xor cl, byte [r9 + 0x198]
test cl, 1
je 0x1800113b6
cmp rdx, qword [r9 + 0x188]
jae 0x18001134e
test byte [0x180067c73], 8
je 0x180011345
lea edx, [r8 + 0x7e]
mov r8, 0xffffffffffffffff
lea r9, str.Using_old_key_to_decrypt
lea rcx, [rsp + 0x40]
call fcn.180042088
lea r9, [rsp + 0x40]
mov r8, rdi
lea rdx, [0x180056c18]
call fcn.180041678
mov dword [rbx + 0x28], 4
jmp 0x1800113b6
test byte [0x180067c73], 8
je 0x18001138d
mov qword [rsp + 0x20], rdx
lea r9, str.Possible_peer_initiated_key_update__packet__llu_
mov edx, 0x80
lea rcx, [rsp + 0x40]
mov r8, 0xffffffffffffffff
call fcn.180042088
lea r9, [rsp + 0x40]
mov r8, rdi
lea rdx, [0x180056c18]
call fcn.180041678
mov rcx, rdi
call fcn.180047b18
test eax, eax
jns 0x1800113af
lea r8, str.Generate_new_packet_keys
mov rdx, rbx
mov rcx, rdi
call fcn.18001d760
xor al, al
jmp 0x1800113b8
mov dword [rbx + 0x28], 5
mov al, 1
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.180028c10
mov rbx, qword [rsp + 0x100]
add rsp, 0xd0
pop rdi
pop rsi
pop rbp
ret