Function at 0x571740
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x571a66
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0x98], rdi
call fcn.00571ac0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
nop
call fcn.00571ac0
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
xor ecx, ecx
jmp 0x5717c0
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
nop dword [rax]
cmp rcx, 4
jge 0x5717dc
cmp rbx, rcx
jbe 0x571a5a
mov edi, dword [rax + rcx*4]
cmp rdx, rcx
ja 0x5717b3
jmp 0x571a4f
xor ecx, ecx
nop
jmp 0x57182d
add edi, dword [rax + 0xc]
mov dword [rax + 8], edi
mov r9d, dword [rax + 0xc]
rol r9d, 8
xor r9d, edi
mov dword [rax + 0xc], r9d
add edi, r8d
mov dword [rax + 8], edi
mov r8d, dword [rax]
rol r8d, 0x10
add r8d, r9d
mov dword [rax], r8d
rol r9d, 0xd
xor r9d, r8d
mov dword [rax + 0xc], r9d
mov r8d, dword [rax + 4]
rol r8d, 7
xor r8d, edi
mov dword [rax + 4], r8d
rol edi, 0x10
mov dword [rax + 8], edi
inc rcx
cmp rcx, 0x10
jge 0x57187c
test rbx, rbx
jbe 0x571a45
mov edi, dword [rax]
nop
cmp rbx, 1
jbe 0x571a36
add edi, dword [rax + 4]
mov dword [rax], edi
mov r8d, dword [rax + 4]
rol r8d, 5
xor r8d, edi
mov dword [rax + 4], r8d
nop
cmp rbx, 2
jbe 0x571a29
mov edi, dword [rax + 8]
cmp rbx, 3
ja 0x5717e2
jmp 0x571a1c
xor ecx, ecx
nop
jmp 0x57188b
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
cmp rcx, 4
jge 0x5718aa
cmp rbx, rcx
jbe 0x571a11
mov edi, dword [rax + rcx*4]
nop dword [rax]
cmp rdx, rcx
ja 0x571882
jmp 0x571a06
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x58], rax
nop
lea rax, [0x005da060]
nop dword [rax]
call fcn.0040d320
mov qword [rsp + 0x48], rax
lea rcx, [0x0080ce68]
mov qword [rax], rcx
nop
nop
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x005c0880]
call fcn.0044a9c0
mov qword [rsp + 0x68], rax
lea rax, [0x005e0c60]
call fcn.0040d320
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x0080d000], 0
jne 0x57191f
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rcx
jmp 0x57192d
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x68]
call fcn.00463780
lea rcx, [0x00666500]
mov qword [rax + 0x30], rcx
cmp dword [0x0080d000], 0
nop
jne 0x57194d
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x38], rcx
jmp 0x57195b
lea rdi, [rax + 0x38]
mov rcx, qword [rsp + 0x48]
call fcn.00463780
mov qword [rsp + 0x50], rax
xor edx, edx
jmp 0x5719b1
mov qword [rsp + 0x40], rdx
mov rcx, qword [rsp + 0x58]
mov eax, dword [rcx + rdx*4]
call fcn.0040a960
mov rbx, qword [rsp + 0x50]
lea rcx, [0x00667bb8]
lea rdi, [0x0080ce68]
lea rsi, [0x005c0800]
mov r8, rax
lea rax, [0x006664c0]
call fcn.00484ee0
mov rdx, qword [rsp + 0x40]
inc rdx
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
cmp rbx, rdx
jg 0x571964
nop dword [rax + rax]
call fcn.00506620
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rcx + 8]
mov rdx, qword [rcx]
mov rsi, qword [rcx + 0x10]
mov rax, qword [rcx + 0x18]
cmp rax, rbx
ja 0x5719fe
sub rsi, rax
sub rbx, rax
mov rcx, rsi
neg rsi
sar rsi, 0x3f
and rax, rsi
add rax, rdx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rcx, rbx
call fcn.00463be0
mov rax, rcx
mov rcx, rdx
call fcn.00463b20
mov rax, rcx
mov rcx, rbx
call fcn.00463b20
mov eax, 3
mov rcx, rax
call fcn.00463b20
mov eax, 2
mov rcx, rax
call fcn.00463b20
mov eax, 1
mov rcx, rax
nop
call fcn.00463b20
xor eax, eax
mov rcx, rax
call fcn.00463b20
mov rax, rcx
mov rcx, rdx
call fcn.00463b20
mov rax, rcx
mov rcx, rbx
call fcn.00463b20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00461440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.00571740