Function at 0x5624e0
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x562806
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.00562860
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.00562860
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
xor ecx, ecx
jmp 0x562560
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
nop dword [rax]
cmp rcx, 4
jge 0x56257c
cmp rbx, rcx
jbe 0x5627fa
mov edi, dword [rax + rcx*4]
cmp rdx, rcx
ja 0x562553
jmp 0x5627ef
xor ecx, ecx
nop
jmp 0x5625cd
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 0x56261c
test rbx, rbx
jbe 0x5627e5
mov edi, dword [rax]
nop
cmp rbx, 1
jbe 0x5627d6
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 0x5627c9
mov edi, dword [rax + 8]
cmp rbx, 3
ja 0x562582
jmp 0x5627bc
xor ecx, ecx
nop
jmp 0x56262b
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
cmp rcx, 4
jge 0x56264a
cmp rbx, rcx
jbe 0x5627b1
mov edi, dword [rax + rcx*4]
nop dword [rax]
cmp rdx, rcx
ja 0x562622
jmp 0x5627a6
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x58], rax
nop
lea rax, [0x0060ba60]
nop dword [rax]
call fcn.0040d320
mov qword [rsp + 0x48], rax
lea rcx, [0x0086dec0]
mov qword [rax], rcx
nop
nop
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x005ef8c0]
call fcn.0044ae40
mov qword [rsp + 0x68], rax
lea rax, [0x00613560]
call fcn.0040d320
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x0086e060], 0
jne 0x5626bf
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rcx
jmp 0x5626cd
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x68]
call fcn.00463da0
lea rcx, [0x006a4e20]
mov qword [rax + 0x30], rcx
cmp dword [0x0086e060], 0
nop
jne 0x5626ed
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x38], rcx
jmp 0x5626fb
lea rdi, [rax + 0x38]
mov rcx, qword [rsp + 0x48]
call fcn.00463da0
mov qword [rsp + 0x50], rax
xor edx, edx
jmp 0x562751
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, [0x006a69f8]
lea rdi, [0x0086dec0]
lea rsi, [0x005ef840]
mov r8, rax
lea rax, [0x006a4de0]
call fcn.00485500
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 0x562704
nop dword [rax + rax]
call fcn.004cb080
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 0x56279e
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.00464200
mov rax, rcx
mov rcx, rdx
call fcn.00464140
mov rax, rcx
mov rcx, rbx
call fcn.00464140
mov eax, 3
mov rcx, rax
call fcn.00464140
mov eax, 2
mov rcx, rax
call fcn.00464140
mov eax, 1
mov rcx, rax
nop
call fcn.00464140
xor eax, eax
mov rcx, rax
call fcn.00464140
mov rax, rcx
mov rcx, rdx
call fcn.00464140
mov rax, rcx
mov rcx, rbx
call fcn.00464140
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.00461a60
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.005624e0