Function at 0x55f9a0
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x55fcc6
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.0055fd20
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.0055fd20
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
xor ecx, ecx
jmp 0x55fa20
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
nop dword [rax]
cmp rcx, 4
jge 0x55fa3c
cmp rbx, rcx
jbe 0x55fcba
mov edi, dword [rax + rcx*4]
cmp rdx, rcx
ja 0x55fa13
jmp 0x55fcaf
xor ecx, ecx
nop
jmp 0x55fa8d
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 0x55fadc
test rbx, rbx
jbe 0x55fca5
mov edi, dword [rax]
nop
cmp rbx, 1
jbe 0x55fc96
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 0x55fc89
mov edi, dword [rax + 8]
cmp rbx, 3
ja 0x55fa42
jmp 0x55fc7c
xor ecx, ecx
nop
jmp 0x55faeb
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
cmp rcx, 4
jge 0x55fb0a
cmp rbx, rcx
jbe 0x55fc71
mov edi, dword [rax + rcx*4]
nop dword [rax]
cmp rdx, rcx
ja 0x55fae2
jmp 0x55fc66
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, [0x0080cce8]
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 [0x0080ce80], 0
jne 0x55fb7f
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x10], rcx
jmp 0x55fb8d
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x68]
call fcn.00463780
lea rcx, [0x006663e0]
mov qword [rax + 0x30], rcx
cmp dword [0x0080ce80], 0
nop
jne 0x55fbad
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x38], rcx
jmp 0x55fbbb
lea rdi, [rax + 0x38]
mov rcx, qword [rsp + 0x48]
call fcn.00463780
mov qword [rsp + 0x50], rax
xor edx, edx
jmp 0x55fc11
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, [0x00667a98]
lea rdi, [0x0080cce8]
lea rsi, [0x005c0800]
mov r8, rax
lea rax, [0x006663a0]
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 0x55fbc4
nop dword [rax + rax]
call fcn.004ca4a0
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 0x55fc5e
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.0055f9a0