Function at 0x140052f00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rsp + 0x170], xmm6
mov rax, qword [0x1400df040]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rbx, r8
mov rdi, rdx
mov qword [rbp - 0x60], rdx
mov r13, rcx
mov qword [rbp - 0x68], rcx
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
sub rax, rcx
cmp rax, r8
jb 0x140053598
mov r8, qword [r13 + 0x38]
mov r9, qword [r13 + 0x40]
sub r9, r8
lea rdx, [rcx + rbx]
mov rcx, rdi
call fcn.14001b8b0
mov rax, qword [rdi]
mov r12, qword [rdi + 8]
sub r12, rax
sub r12, rbx
lea r15, [rax + rbx]
movzx eax, byte [r13 + 0x58]
sub al, byte [r13 + 0x50]
test al, 0xf
jne 0x14005357d
mov r14, qword [r13 + 0x18]
mov qword [rsp + 0x30], r14
mov edx, 1
mov ecx, 0x10
call fcn.14000ddc0
mov qword [rsp + 0x58], rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x68], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rsp + 0x60], rcx
mov r8, r12
lea rdx, [rbp - 0x80]
mov rcx, r13
call fcn.1400535c0
nop
mov rsi, qword [rax]
mov rbx, qword [rax + 8]
sub rbx, rsi
mov r8, qword [r14]
mov rdi, qword [r8 + 0x48]
mov rcx, r14
call qword [r8 + 0x30]
mov rcx, rax
xor edx, edx
mov rax, rbx
div rcx
mov r9, rax
mov r8, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, r14
call rdi
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140053020
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
mov r8d, 1
call fcn.14000de60
nop
xor edi, edi
mov rcx, qword [r13 + 0x50]
cmp qword [r13 + 0x58], rcx
je 0x1400530cf
mov qword [rsp + 0x78], 0x10
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], 0x10
movaps xmm6, xmmword [rsp + 0x20]
lea r8, [rcx + rdi]
mov qword [rsp + 0x70], r8
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rdx, xmm0
test rdx, rdx
je 0x140053093
movq rax, xmm6
sub r8, rax
nop
movzx ecx, byte [rax]
xor cl, byte [r8 + rax]
mov byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x140053080
mov rax, qword [r14]
mov rbx, qword [rax + 0x48]
mov rcx, r14
call qword [rax + 0x30]
mov rcx, rax
xor edx, edx
mov eax, 0x10
div rcx
mov r9, rax
mov r8, rsi
mov rdx, rsi
mov rcx, r14
call rbx
add rdi, 0x10
mov rcx, qword [r13 + 0x50]
mov rax, qword [r13 + 0x58]
sub rax, rcx
cmp rdi, rax
jne 0x140053051
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.140053810
nop
mov edx, 1
mov ecx, 0x10
call fcn.14000ddc0
mov r14, rax
mov qword [rbp - 0x80], rax
lea rcx, [rax + 0x10]
mov qword [rbp - 0x70], rcx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rbp - 0x78], rcx
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
sub rbx, rsi
mov rax, qword [rsp + 0x30]
mov r8, qword [rax]
mov rdi, qword [r8 + 0x48]
mov rcx, rax
call qword [r8 + 0x30]
mov rcx, rax
xor edx, edx
mov rax, rbx
div rcx
mov r9, rax
mov r8, r14
mov rdx, rsi
mov rcx, qword [rsp + 0x30]
call rdi
xor edx, edx
mov rcx, qword [rsp + 0x48]
cmp rcx, qword [rsp + 0x40]
je 0x14005316e
nop
sub rcx, rdx
add byte [rcx - 1], 1
jne 0x14005316e
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, qword [rsp + 0x40]
cmp rdx, rax
jne 0x140053150
mov edx, 1
mov ecx, 0x10
call fcn.14000ddc0
mov rdi, rax
mov qword [rbp - 0x40], rax
lea rsi, [rax + 0x10]
mov qword [rbp - 0x30], rsi
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rbp - 0x38], rsi
lea rcx, [r15 + r12]
cmp r15, rcx
je 0x14005347c
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x70], rdi
mov r12, qword [rsp + 0x30]
mov r13, rcx
nop word [rax + rax]
mov rax, r13
sub rax, r15
mov r14d, 0x10
cmp rax, r14
cmovb r14, rax
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r14
mov qword [rsp + 0x78], r14
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x20], xmm1
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rsp + 0x30], xmm0
mov r9, r14
mov r8, r15
mov rdx, r14
cmp r14, 0x20
jb 0x1400532ab
nop word [rax + rax]
mov rdx, qword [rsp + 0x20]
movups xmm1, xmmword [rdx]
movups xmmword [rbp + 0x40], xmm1
movups xmm3, xmmword [rdx + 0x10]
movups xmmword [rbp + 0x50], xmm3
mov r8, qword [rsp + 0x30]
movq rcx, xmm1
xor rcx, qword [r8]
mov qword [rbp + 0x40], rcx
mov rax, qword [r8 + 8]
xor qword [rbp + 0x48], rax
movq rcx, xmm3
xor rcx, qword [r8 + 0x10]
mov qword [rbp + 0x50], rcx
mov rax, qword [r8 + 0x18]
xor qword [rbp + 0x58], rax
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rdx + 0x10], xmm1
lea rcx, [rdx + 0x20]
mov r9, qword [rsp + 0x28]
add r9, 0xffffffffffffffe0
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], r9
movaps xmm1, xmmword [rbp - 0x10]
movaps xmmword [rsp + 0x20], xmm1
add r8, 0x20
mov rax, qword [rsp + 0x38]
add rax, 0xffffffffffffffe0
mov qword [rbp], r8
mov qword [rbp + 8], rax
movaps xmm0, xmmword [rbp]
movdqa xmmword [rsp + 0x30], xmm0
cmp r9, 0x20
jae 0x140053210
mov rdx, r9
test r9, r9
je 0x1400532d3
movq rcx, xmm1
sub r8, rcx
nop dword [rax + rax]
movzx eax, byte [rcx]
xor al, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400532c0
mov rax, qword [r12]
mov rbx, qword [rax + 0x48]
mov rcx, r12
call qword [rax + 0x30]
mov rcx, rax
xor edx, edx
mov eax, 0x10
div rcx
mov r9, rax
mov r8, rdi
mov rdx, rdi
mov rcx, r12
call rbx
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
sub rbx, rsi
mov r8, qword [r12]
mov rdi, qword [r8 + 0x48]
mov rcx, r12
call qword [r8 + 0x30]
mov rcx, rax
xor edx, edx
mov rax, rbx
div rcx
mov r9, rax
mov rbx, qword [rbp - 0x40]
mov r8, rbx
mov rdx, rsi
mov rcx, r12
call rdi
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r14
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x20]
movdqa xmmword [rsp + 0x30], xmm1
mov r9, r14
mov rdx, r15
mov r8, rbx
mov rcx, r14
cmp r14, 0x20
jb 0x14005340c
nop
mov rdx, qword [rsp + 0x20]
movups xmm1, xmmword [rdx]
movups xmmword [rbp + 0x40], xmm1
movups xmm3, xmmword [rdx + 0x10]
movups xmmword [rbp + 0x50], xmm3
mov r8, qword [rsp + 0x30]
movq rcx, xmm1
xor rcx, qword [r8]
mov qword [rbp + 0x40], rcx
mov rax, qword [r8 + 8]
xor qword [rbp + 0x48], rax
movq rcx, xmm3
xor rcx, qword [r8 + 0x10]
mov qword [rbp + 0x50], rcx
mov rax, qword [r8 + 0x18]
xor qword [rbp + 0x58], rax
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rdx + 0x10], xmm1
add rdx, 0x20
mov r9, qword [rsp + 0x28]
add r9, 0xffffffffffffffe0
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], r9
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rsp + 0x20], xmm0
add r8, 0x20
mov rax, qword [rsp + 0x38]
add rax, 0xffffffffffffffe0
mov qword [rbp - 0x50], r8
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x30], xmm0
cmp r9, 0x20
jae 0x140053370
mov rcx, r9
test r9, r9
je 0x140053433
sub r8, rdx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
xor al, byte [r8 + rdx]
mov byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x140053420
xor edx, edx
mov rcx, qword [rsp + 0x48]
cmp rcx, qword [rsp + 0x40]
je 0x14005345f
sub rcx, rdx
add byte [rcx - 1], 1
jne 0x14005345f
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
sub rax, qword [rsp + 0x40]
cmp rdx, rax
jne 0x140053441
add r15, r14
cmp r15, r13
mov rdi, qword [rsp + 0x58]
jne 0x1400531c0
mov r13, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x30]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x58]
call fcn.140051f10
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rcx + 8]
mov r9, qword [r13 + 8]
mov rbx, qword [rsp + 0x58]
mov r8, rbx
call fcn.14001b8b0
mov rax, qword [r13 + 0x20]
cmp rax, qword [r13 + 0x28]
je 0x1400534b1
mov qword [r13 + 0x28], rax
mov rax, qword [r13 + 0x38]
cmp rax, qword [r13 + 0x40]
je 0x1400534bf
mov qword [r13 + 0x40], rax
mov rax, qword [r13 + 0x50]
cmp rax, qword [r13 + 0x58]
je 0x1400534cd
mov qword [r13 + 0x58], rax
test rdi, rdi
je 0x1400534e7
sub rsi, rdi
mov r8d, 1
mov rdx, rsi
mov rcx, rdi
call fcn.14000de60
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140053503
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
mov r8d, 1
call fcn.14000de60
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140053532
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
mov r8d, 1
call fcn.14000de60
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
test rbx, rbx
je 0x14005354e
mov rdx, qword [rsp + 0x68]
sub rdx, rbx
mov r8d, 1
mov rcx, rbx
call fcn.14000de60
nop
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.140092a00
mov rbx, qword [rsp + 0x1d0]
movaps xmm6, xmmword [rsp + 0x170]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, str.src_lib_modes_aead_ccm_ccm.cpp
lea rdx, str.finish_msg
lea rcx, str.AD_is_block_size_multiple
call fcn.14000e380
int3
lea r8, str.src_lib_modes_aead_ccm_ccm.cpp
lea rdx, str.finish_msg
lea rcx, str.Offset_is_out_of_range
call fcn.14000e380
int3