Function at 0x1401aa740
Capabilities:
Encrypt data using hc-128 via wolfssl

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r8, qword [rcx + 0x1000]
test r8b, 0xf
jne 0x1401ab2a3
mov eax, r8d
and eax, 0x1ff
lea r9d, [r8 + 0x10]
and r9d, 0x1ff
mov qword [rsp + 0x40], r9
lea r9d, [r8 + 0x1f0]
and r9d, 0x1ff
test r8d, 0x200
mov qword [rsp + 0x20], rdx
jne 0x1401aacd3
mov esi, dword [rcx + rax*4 + 4]
mov r8d, esi
rol r8d, 9
mov r10d, dword [rcx + r9*4 + 0x34]
rol r10d, 0x16
mov r11d, dword [rcx + r9*4 + 0x18]
xor r10d, r8d
rol r11d, 0x18
add r11d, dword [rcx + rax*4]
add r11d, r10d
mov dword [rcx + rax*4], r11d
mov edi, r11d
mov r8d, dword [rcx + r9*4 + 0x10]
movzx r10d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r11d, dword [rcx + r8 + 0xc00]
add r11d, dword [rcx + r10*4 + 0x800]
xor r11d, edi
mov ebp, edi
mov dword [rsp + 0x34], edi
mov r8d, dword [rcx + rax*4 + 8]
mov r10d, r8d
rol r10d, 9
mov dword [rdx], r11d
mov r11d, dword [rcx + r9*4 + 0x38]
rol r11d, 0x16
mov edi, dword [rcx + r9*4 + 0x1c]
xor r11d, r10d
rol edi, 0x18
add edi, esi
add edi, r11d
mov dword [rcx + rax*4 + 4], edi
mov r10d, dword [rcx + r9*4 + 0x14]
movzx r11d, r10b
shr r10, 0xe
and r10d, 0x3fc
mov r10d, dword [rcx + r10 + 0xc00]
add r10d, dword [rcx + r11*4 + 0x800]
xor r10d, edi
mov r14d, edi
mov dword [rsp + 0x30], edi
mov esi, dword [rcx + rax*4 + 0xc]
mov r11d, esi
rol r11d, 9
mov ebx, dword [rcx + r9*4 + 0x20]
mov edi, dword [rcx + r9*4 + 0x3c]
rol edi, 0x16
xor edi, r11d
rol ebx, 0x18
add ebx, r8d
add ebx, edi
mov dword [rcx + rax*4 + 8], ebx
mov r8d, dword [rcx + r9*4 + 0x18]
movzx r11d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r8d, dword [rcx + r8 + 0xc00]
add r8d, dword [rcx + r11*4 + 0x800]
mov dword [rdx + 4], r10d
xor r8d, ebx
mov r15d, ebx
mov dword [rsp + 0x2c], ebx
mov dword [rdx + 8], r8d
mov r8d, dword [rcx + rax*4 + 0x10]
mov r10d, r8d
rol r10d, 9
mov r11d, ebp
rol r11d, 0x16
xor r11d, r10d
mov r10d, dword [rcx + r9*4 + 0x24]
rol r10d, 0x18
add r10d, esi
add r10d, r11d
mov dword [rcx + rax*4 + 0xc], r10d
mov esi, r10d
mov r11d, dword [rcx + r9*4 + 0x1c]
movzx r10d, r11b
shr r11, 0xe
and r11d, 0x3fc
mov r11d, dword [rcx + r11 + 0xc00]
add r11d, dword [rcx + r10*4 + 0x800]
mov ebx, dword [rcx + rax*4 + 0x14]
mov r10d, ebx
rol r10d, 9
xor r11d, esi
mov r12d, esi
mov dword [rsp + 0x38], esi
mov edi, r14d
rol edi, 0x16
mov dword [rdx + 0xc], r11d
mov esi, dword [rcx + r9*4 + 0x28]
rol esi, 0x18
xor edi, r10d
add esi, r8d
add esi, edi
mov dword [rcx + rax*4 + 0x10], esi
mov r8d, dword [rcx + r9*4 + 0x20]
movzx r10d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r11d, dword [rcx + r8 + 0xc00]
add r11d, dword [rcx + r10*4 + 0x800]
mov r8d, dword [rcx + rax*4 + 0x18]
mov r10d, r8d
rol r10d, 9
mov edi, r15d
rol edi, 0x16
xor edi, r10d
mov ebp, dword [rcx + r9*4 + 0x2c]
rol ebp, 0x18
add ebp, ebx
add ebp, edi
mov dword [rcx + rax*4 + 0x14], ebp
mov edx, dword [rcx + r9*4 + 0x24]
movzx ebx, dl
shr rdx, 0xe
and edx, 0x3fc
mov edi, dword [rcx + rdx + 0xc00]
add edi, dword [rcx + rbx*4 + 0x800]
mov edx, dword [rcx + rax*4 + 0x1c]
mov ebx, edx
rol ebx, 9
xor r11d, esi
mov r15d, r12d
rol r15d, 0x16
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x10], r11d
mov r14d, dword [rcx + r9*4 + 0x30]
rol r14d, 0x18
xor r15d, ebx
add r14d, r8d
add r14d, r15d
mov dword [rcx + rax*4 + 0x18], r14d
mov r8d, dword [rcx + r9*4 + 0x28]
movzx r11d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r8d, dword [rcx + r8 + 0xc00]
add r8d, dword [rcx + r11*4 + 0x800]
mov r11d, dword [rcx + rax*4 + 0x20]
mov ebx, r11d
rol ebx, 9
mov r12d, esi
rol r12d, 0x16
xor r12d, ebx
mov r15d, dword [rcx + r9*4 + 0x34]
rol r15d, 0x18
add r15d, edx
add r15d, r12d
mov dword [rcx + rax*4 + 0x1c], r15d
mov edx, dword [rcx + r9*4 + 0x2c]
movzx ebx, dl
shr rdx, 0xe
and edx, 0x3fc
mov edx, dword [rcx + rdx + 0xc00]
add edx, dword [rcx + rbx*4 + 0x800]
mov ebx, dword [rcx + rax*4 + 0x24]
mov dword [rsp + 0x3c], ebx
rol ebx, 9
xor edi, ebp
mov r13d, ebp
rol r13d, 0x16
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x14], edi
mov r12d, dword [rcx + r9*4 + 0x38]
rol r12d, 0x18
xor r13d, ebx
add r12d, r11d
add r12d, r13d
mov dword [rcx + rax*4 + 0x20], r12d
mov r11d, dword [rcx + r9*4 + 0x30]
movzx edi, r11b
shr r11, 0xe
and r11d, 0x3fc
mov ebx, dword [rcx + r11 + 0xc00]
add ebx, dword [rcx + rdi*4 + 0x800]
xor r8d, r14d
mov r13d, dword [rsp + 0x34]
rol r13d, 0x18
mov r11d, dword [rcx + rax*4 + 0x28]
add r13d, r11d
rol r11d, 9
rol r14d, 0x16
xor r14d, r11d
mov edi, dword [rcx + r9*4 + 0x3c]
rol edi, 0x18
add edi, dword [rsp + 0x3c]
add edi, r14d
mov dword [rcx + rax*4 + 0x24], edi
mov r11d, dword [rcx + r9*4 + 0x34]
movzx r14d, r11b
shr r11, 0xe
and r11d, 0x3fc
mov r11d, dword [rcx + r11 + 0xc00]
add r11d, dword [rcx + r14*4 + 0x800]
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x18], r8d
mov r14d, dword [rsp + 0x30]
rol r14d, 0x18
xor edx, r15d
mov r8d, dword [rcx + rax*4 + 0x2c]
add r14d, r8d
rol r8d, 9
rol r15d, 0x16
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x1c], edx
xor r15d, r8d
add r13d, r15d
mov dword [rcx + rax*4 + 0x28], r13d
mov edx, dword [rcx + r9*4 + 0x38]
movzx r15d, dl
shr rdx, 0xe
and edx, 0x3fc
mov r8d, dword [rcx + rdx + 0xc00]
add r8d, dword [rcx + r15*4 + 0x800]
mov r15d, dword [rsp + 0x38]
xor ebx, r12d
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x20], ebx
mov edx, dword [rsp + 0x2c]
rol edx, 0x18
xor r11d, edi
mov ebx, dword [rcx + rax*4 + 0x30]
add edx, ebx
rol ebx, 9
rol r12d, 0x16
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x24], r11d
xor r12d, ebx
xor r8d, r13d
add r14d, r12d
mov dword [rcx + rax*4 + 0x2c], r14d
mov r9d, dword [rcx + r9*4 + 0x3c]
movzx r11d, r9b
shr r9, 0xe
and r9d, 0x3fc
mov r9d, dword [rcx + r9 + 0xc00]
add r9d, dword [rcx + r11*4 + 0x800]
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x28], r8d
xor r9d, r14d
mov r11d, dword [rcx + rax*4 + 0x34]
mov r8d, r15d
rol r8d, 0x18
add r8d, r11d
rol r11d, 9
rol edi, 0x16
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x2c], r9d
xor edi, r11d
add edx, edi
mov dword [rcx + rax*4 + 0x30], edx
mov r10d, dword [rsp + 0x34]
movzx r9d, r10b
shr r10d, 0x10
movzx r11d, r10b
or r11d, 0x100
mov r11d, dword [rcx + r11*4 + 0x800]
add r11d, dword [rcx + r9*4 + 0x800]
xor r11d, edx
mov r9, qword [rsp + 0x20]
mov dword [r9 + 0x30], r11d
mov r9d, dword [rcx + rax*4 + 0x38]
rol esi, 0x18
add esi, r9d
rol r9d, 9
rol r13d, 0x16
xor r13d, r9d
add r8d, r13d
mov dword [rcx + rax*4 + 0x34], r8d
mov r9d, dword [rsp + 0x30]
movzx r11d, r9b
shr r9d, 0x10
movzx r9d, r9b
or r9d, 0x100
mov r9d, dword [rcx + r9*4 + 0x800]
add r9d, dword [rcx + r11*4 + 0x800]
xor r9d, r8d
mov r8d, dword [rcx + rax*4 + 0x3c]
rol ebp, 0x18
add ebp, r8d
rol r8d, 9
rol r14d, 0x16
xor r14d, r8d
add esi, r14d
mov dword [rcx + rax*4 + 0x38], esi
mov r10d, dword [rsp + 0x2c]
movzx r8d, r10b
shr r10d, 0x10
movzx r11d, r10b
or r11d, 0x100
mov r11d, dword [rcx + r11*4 + 0x800]
add r11d, dword [rcx + r8*4 + 0x800]
mov r8, qword [rsp + 0x20]
mov dword [r8 + 0x34], r9d
xor r11d, esi
mov rsi, qword [rsp + 0x20]
mov dword [rsi + 0x38], r11d
mov r8, qword [rsp + 0x40]
mov r8d, dword [rcx + r8*4]
rol r8d, 9
rol edx, 0x16
xor edx, r8d
add ebp, edx
mov dword [rcx + rax*4 + 0x3c], ebp
lea rax, [rcx + 0x800]
jmp 0x1401ab268
mov r8d, dword [rcx + rax*4 + 0x804]
mov r11d, r8d
rol r11d, 0x17
mov r10d, dword [rcx + r9*4 + 0x834]
rol r10d, 0xa
mov esi, dword [rcx + r9*4 + 0x818]
xor r10d, r11d
rol esi, 8
add esi, dword [rcx + rax*4 + 0x800]
add esi, r10d
mov dword [rcx + rax*4 + 0x800], esi
mov r11d, dword [rcx + r9*4 + 0x810]
movzx r10d, r11b
shr r11, 0xe
and r11d, 0x3fc
mov r11d, dword [rcx + r11 + 0x400]
add r11d, dword [rcx + r10*4]
xor r11d, esi
mov ebp, esi
mov dword [rsp + 0x34], esi
mov edi, dword [rcx + rax*4 + 0x808]
mov r10d, edi
rol r10d, 0x17
mov dword [rdx], r11d
mov r11d, dword [rcx + r9*4 + 0x838]
rol r11d, 0xa
mov esi, dword [rcx + r9*4 + 0x81c]
xor r11d, r10d
rol esi, 8
add esi, r8d
add esi, r11d
mov dword [rcx + rax*4 + 0x804], esi
mov r8d, dword [rcx + r9*4 + 0x814]
movzx r11d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r10d, dword [rcx + r8 + 0x400]
add r10d, dword [rcx + r11*4]
xor r10d, esi
mov r14d, esi
mov dword [rsp + 0x30], esi
mov r8d, dword [rcx + rax*4 + 0x80c]
mov r11d, r8d
rol r11d, 0x17
mov ebx, dword [rcx + r9*4 + 0x820]
mov esi, dword [rcx + r9*4 + 0x83c]
rol esi, 0xa
xor esi, r11d
rol ebx, 8
add ebx, edi
add ebx, esi
mov dword [rcx + rax*4 + 0x808], ebx
mov edx, dword [rcx + r9*4 + 0x818]
movzx r11d, dl
shr rdx, 0xe
and edx, 0x3fc
mov edx, dword [rcx + rdx + 0x400]
add edx, dword [rcx + r11*4]
mov r11, qword [rsp + 0x20]
mov dword [r11 + 4], r10d
xor edx, ebx
mov r15d, ebx
mov dword [rsp + 0x2c], ebx
mov r10, qword [rsp + 0x20]
mov dword [r10 + 8], edx
mov edx, dword [rcx + rax*4 + 0x810]
mov r10d, edx
rol r10d, 0x17
mov r11d, ebp
rol r11d, 0xa
xor r11d, r10d
mov r10d, dword [rcx + r9*4 + 0x824]
rol r10d, 8
add r10d, r8d
add r10d, r11d
mov dword [rcx + rax*4 + 0x80c], r10d
mov esi, r10d
mov r8d, dword [rcx + r9*4 + 0x81c]
movzx r10d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r11d, dword [rcx + r8 + 0x400]
add r11d, dword [rcx + r10*4]
mov r8d, dword [rcx + rax*4 + 0x814]
mov r10d, r8d
rol r10d, 0x17
xor r11d, esi
mov r12d, esi
mov dword [rsp + 0x38], esi
mov esi, r14d
rol esi, 0xa
mov rdi, qword [rsp + 0x20]
mov dword [rdi + 0xc], r11d
mov edi, dword [rcx + r9*4 + 0x828]
rol edi, 8
xor esi, r10d
add edi, edx
add edi, esi
mov dword [rcx + rax*4 + 0x810], edi
mov edx, dword [rcx + r9*4 + 0x820]
movzx r10d, dl
shr rdx, 0xe
and edx, 0x3fc
mov ebx, dword [rcx + rdx + 0x400]
add ebx, dword [rcx + r10*4]
mov r11d, dword [rcx + rax*4 + 0x818]
mov edx, r11d
rol edx, 0x17
mov esi, r15d
rol esi, 0xa
xor esi, edx
mov ebp, dword [rcx + r9*4 + 0x82c]
rol ebp, 8
add ebp, r8d
add ebp, esi
mov dword [rcx + rax*4 + 0x814], ebp
mov edx, dword [rcx + r9*4 + 0x824]
movzx r8d, dl
shr rdx, 0xe
and edx, 0x3fc
mov edx, dword [rcx + rdx + 0x400]
add edx, dword [rcx + r8*4]
mov esi, dword [rcx + rax*4 + 0x81c]
mov r8d, esi
rol r8d, 0x17
xor ebx, edi
mov r15d, r12d
rol r15d, 0xa
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x10], ebx
mov r14d, dword [rcx + r9*4 + 0x830]
rol r14d, 8
xor r15d, r8d
add r14d, r11d
add r14d, r15d
mov dword [rcx + rax*4 + 0x818], r14d
mov r8d, dword [rcx + r9*4 + 0x828]
movzx r11d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r8d, dword [rcx + r8 + 0x400]
add r8d, dword [rcx + r11*4]
mov r13d, dword [rcx + rax*4 + 0x820]
mov r11d, r13d
rol r11d, 0x17
mov ebx, edi
rol ebx, 0xa
xor ebx, r11d
mov r15d, dword [rcx + r9*4 + 0x834]
rol r15d, 8
add r15d, esi
add r15d, ebx
mov dword [rcx + rax*4 + 0x81c], r15d
mov r11d, dword [rcx + r9*4 + 0x82c]
movzx esi, r11b
shr r11, 0xe
and r11d, 0x3fc
mov r11d, dword [rcx + r11 + 0x400]
add r11d, dword [rcx + rsi*4]
mov ebx, dword [rcx + rax*4 + 0x824]
mov esi, ebx
rol esi, 0x17
xor edx, ebp
mov r10d, ebp
rol r10d, 0xa
mov r12, qword [rsp + 0x20]
mov dword [r12 + 0x14], edx
mov r12d, dword [rcx + r9*4 + 0x838]
rol r12d, 8
xor r10d, esi
add r12d, r13d
add r12d, r10d
mov dword [rcx + rax*4 + 0x820], r12d
mov edx, dword [rcx + r9*4 + 0x830]
movzx r10d, dl
shr rdx, 0xe
and edx, 0x3fc
mov edx, dword [rcx + rdx + 0x400]
add edx, dword [rcx + r10*4]
xor r8d, r14d
mov r13d, dword [rsp + 0x34]
rol r13d, 8
mov r10d, dword [rcx + rax*4 + 0x828]
add r13d, r10d
rol r10d, 0x17
rol r14d, 0xa
xor r14d, r10d
mov esi, dword [rcx + r9*4 + 0x83c]
rol esi, 8
add esi, ebx
add esi, r14d
mov dword [rcx + rax*4 + 0x824], esi
mov r10d, dword [rcx + r9*4 + 0x834]
movzx r14d, r10b
shr r10, 0xe
and r10d, 0x3fc
mov ebx, dword [rcx + r10 + 0x400]
add ebx, dword [rcx + r14*4]
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x18], r8d
mov r14d, dword [rsp + 0x30]
rol r14d, 8
xor r11d, r15d
mov r8d, dword [rcx + rax*4 + 0x82c]
add r14d, r8d
rol r8d, 0x17
rol r15d, 0xa
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x1c], r11d
xor r15d, r8d
add r13d, r15d
mov r15d, dword [rsp + 0x38]
mov dword [rcx + rax*4 + 0x828], r13d
mov r8d, dword [rcx + r9*4 + 0x838]
movzx r10d, r8b
shr r8, 0xe
and r8d, 0x3fc
mov r11d, dword [rcx + r8 + 0x400]
add r11d, dword [rcx + r10*4]
xor edx, r12d
mov r8, qword [rsp + 0x20]
mov dword [r8 + 0x20], edx
mov r8d, dword [rsp + 0x2c]
rol r8d, 8
xor ebx, esi
mov edx, dword [rcx + rax*4 + 0x830]
add r8d, edx
rol edx, 0x17
rol r12d, 0xa
mov r10, qword [rsp + 0x20]
mov dword [r10 + 0x24], ebx
xor r12d, edx
xor r11d, r13d
add r14d, r12d
mov dword [rcx + rax*4 + 0x82c], r14d
mov edx, dword [rcx + r9*4 + 0x83c]
movzx r9d, dl
shr rdx, 0xe
and edx, 0x3fc
mov r10d, dword [rcx + rdx + 0x400]
add r10d, dword [rcx + r9*4]
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x28], r11d
xor r10d, r14d
mov r9d, dword [rcx + rax*4 + 0x834]
mov edx, r15d
rol edx, 8
add edx, r9d
rol r9d, 0x17
rol esi, 0xa
mov r11, qword [rsp + 0x20]
mov dword [r11 + 0x2c], r10d
xor esi, r9d
add r8d, esi
mov rsi, qword [rsp + 0x20]
mov dword [rcx + rax*4 + 0x830], r8d
mov r10d, dword [rsp + 0x34]
movzx r9d, r10b
shr r10d, 0x10
movzx r10d, r10b
or r10d, 0x100
mov r10d, dword [rcx + r10*4]
add r10d, dword [rcx + r9*4]
xor r10d, r8d
mov dword [rsi + 0x30], r10d
mov r9d, dword [rcx + rax*4 + 0x838]
rol edi, 8
add edi, r9d
rol r9d, 0x17
rol r13d, 0xa
xor r13d, r9d
add edx, r13d
mov dword [rcx + rax*4 + 0x834], edx
mov r9d, dword [rsp + 0x30]
movzx r10d, r9b
shr r9d, 0x10
movzx r9d, r9b
or r9d, 0x100
mov r9d, dword [rcx + r9*4]
add r9d, dword [rcx + r10*4]
xor r9d, edx
mov edx, dword [rcx + rax*4 + 0x83c]
rol ebp, 8
add ebp, edx
rol edx, 0x17
rol r14d, 0xa
xor r14d, edx
add edi, r14d
mov dword [rcx + rax*4 + 0x838], edi
mov r10d, dword [rsp + 0x2c]
movzx edx, r10b
shr r10d, 0x10
movzx r10d, r10b
or r10d, 0x100
mov r10d, dword [rcx + r10*4]
add r10d, dword [rcx + rdx*4]
mov dword [rsi + 0x34], r9d
xor r10d, edi
mov dword [rsi + 0x38], r10d
mov rdx, qword [rsp + 0x40]
mov edx, dword [rcx + rdx*4 + 0x800]
rol edx, 0x17
rol r8d, 0xa
xor r8d, edx
add ebp, r8d
mov dword [rcx + rax*4 + 0x83c], ebp
mov rax, rcx
movzx edx, r15b
shr r15d, 0x10
movzx r8d, r15b
or r8d, 0x100
mov r8d, dword [rax + r8*4]
add r8d, dword [rax + rdx*4]
xor r8d, ebp
mov dword [rsi + 0x3c], r8d
add qword [rcx + 0x1000], 0x10
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.assertion_failed:_self.counter1024___16__0C:Usershp.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rand_hc_0.1.0_srchc128.rs
lea r8, [0x140271e18]
mov edx, 0x2c
call fcn.1401fc0d0
ud2