Function at 0x547f40
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x548253
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0xb0], r8
call fcn.005482a0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
call fcn.005482a0
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
xor ecx, ecx
jmp 0x547fb5
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
cmp rcx, 4
jge 0x547fd6
nop dword [rax + rax]
cmp rbx, rcx
jbe 0x548247
mov edi, dword [rax + rcx*4]
cmp rdx, rcx
ja 0x547fac
jmp 0x54823c
xor ecx, ecx
jmp 0x54802d
mov edi, dword [rax + 8]
add edi, dword [rax + 0xc]
mov dword [rax + 8], edi
mov r9d, dword [rax + 0xc]
add r8d, edi
rol r9d, 8
xor r9d, edi
mov edi, r9d
rol r9d, 0xd
mov r10d, r8d
rol r8d, 0x10
inc rcx
mov dword [rax + 0xc], edi
mov dword [rax + 8], r10d
mov r11d, dword [rax]
rol r11d, 0x10
add edi, r11d
xor r9d, edi
mov dword [rax], edi
mov dword [rax + 0xc], r9d
mov edi, dword [rax + 4]
rol edi, 7
xor edi, r10d
mov dword [rax + 4], edi
nop
mov dword [rax + 8], r8d
cmp rcx, 0x10
jge 0x548079
test rbx, rbx
jbe 0x548232
nop dword [rax]
cmp rbx, 1
jbe 0x548225
mov edi, dword [rax]
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
cmp rbx, 2
jbe 0x548213
cmp rbx, 3
ja 0x547fda
jmp 0x548206
xor ecx, ecx
jmp 0x548086
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
cmp rcx, 4
jge 0x5480a5
cmp rbx, rcx
jbe 0x5481fb
mov edi, dword [rax + rcx*4]
cmp rdx, rcx
ja 0x54807d
nop dword [rax]
jmp 0x5481f0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x68], rax
nop
lea rax, [0x005b93e0]
call fcn.0040e820
mov qword [rsp + 0x58], rax
lea rcx, [0x0088ccc0]
mov qword [rax], rcx
nop
nop
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x0059ce60]
nop dword [rax]
call fcn.0044eee0
mov qword [rsp + 0x70], rax
lea rax, [0x005c21a0]
call fcn.0040e820
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x0088d050], 0
jne 0x548120
mov rdx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x58]
jmp 0x548136
call fcn.0046ab40
mov rdx, qword [rsp + 0x70]
mov qword [r11], rdx
mov r9, qword [rsp + 0x58]
mov qword [r11 + 8], r9
mov qword [rsp + 0x50], rax
mov qword [rax + 0x10], rdx
lea rdx, [0x0063ad60]
mov qword [rax + 0x30], rdx
mov qword [rax + 0x38], r9
xor ecx, ecx
jmp 0x5481a0
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x68]
mov r9d, dword [rdx + rcx*4]
mov dword [rsp + 0x34], r9d
mov rbx, rax
lea rdi, [0x0088ccc0]
lea rsi, [0x0059cf60]
lea r8, [rsp + 0x34]
lea rax, [0x0063adc0]
lea rcx, [0x0063c8e0]
call fcn.004881e0
mov rcx, qword [rsp + 0x48]
inc rcx
mov rax, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
cmp rdx, rcx
jg 0x548152
call fcn.004cd280
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x18]
nop
nop dword [rax]
cmp rax, rbx
ja 0x5481e8
mov rdx, qword [rcx]
mov rcx, qword [rcx + 0x10]
sub rcx, rax
sub rbx, rax
mov rsi, rcx
neg rsi
sar rsi, 0x3f
and rax, rsi
add rax, rdx
add rsp, 0x78
pop rbp
ret
mov rcx, rbx
call fcn.0046afa0
mov rax, rcx
mov rcx, rdx
call fcn.0046aee0
mov rax, rcx
mov rcx, rbx
call fcn.0046aee0
mov eax, 3
mov rcx, rax
call fcn.0046aee0
mov eax, 2
mov rcx, rax
nop dword [rax + rax]
call fcn.0046aee0
mov eax, 1
mov rcx, rax
call fcn.0046aee0
xor eax, eax
mov rcx, rax
call fcn.0046aee0
mov rax, rcx
mov rcx, rdx
call fcn.0046aee0
mov rax, rcx
mov rcx, rbx
call fcn.0046aee0
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.00468c00
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.00547f40