Function at 0x53d580
Capabilities:
Encrypt data using chaskey

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x53d89c
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xa0], rdi
call fcn.0053d900
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
call fcn.0053d900
mov rdx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x68]
xor ecx, ecx
jmp 0x53d5f5
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
cmp rcx, 4
jge 0x53d616
nop dword [rax + rax]
cmp rbx, rcx
jbe 0x53d890
mov edi, dword [rax + rcx*4]
cmp rdx, rcx
ja 0x53d5ec
jmp 0x53d885
xor ecx, ecx
jmp 0x53d66c
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
mov dword [rax + 8], r8d
cmp rcx, 0x10
jge 0x53d6b9
test rbx, rbx
jbe 0x53d877
nop dword [rax + rax]
cmp rbx, 1
jbe 0x53d86a
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 0x53d85d
cmp rbx, 3
ja 0x53d61a
jmp 0x53d850
xor ecx, ecx
jmp 0x53d6c6
xor edi, dword [rsi + rcx*4]
mov dword [rax + rcx*4], edi
inc rcx
cmp rcx, 4
jge 0x53d6e5
cmp rbx, rcx
jbe 0x53d845
mov edi, dword [rax + rcx*4]
cmp rdx, rcx
ja 0x53d6bd
nop dword [rax]
jmp 0x53d836
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x60], rax
nop
lea rax, [0x005ac160]
call fcn.0040d440
mov qword [rsp + 0x50], rax
lea rcx, [0x007d4fc0]
mov qword [rax], rcx
nop
nop
mov ebx, 0x1000
mov rcx, rbx
lea rax, [0x00590a60]
nop dword [rax]
call fcn.0044b260
mov qword [rsp + 0x70], rax
lea rax, [0x005b4b60]
call fcn.0040d440
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x007d5370], 0
jne 0x53d756
mov rdx, qword [rsp + 0x70]
jmp 0x53d763
call fcn.00465740
mov rdx, qword [rsp + 0x70]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
lea rdx, [0x006298a0]
mov qword [rax + 0x30], rdx
cmp dword [0x007d5370], 0
jne 0x53d782
mov rdx, qword [rsp + 0x50]
jmp 0x53d78f
call fcn.00465740
mov rdx, qword [rsp + 0x50]
mov qword [r11], rdx
mov qword [rsp + 0x58], rax
mov qword [rax + 0x38], rdx
xor ecx, ecx
jmp 0x53d7ea
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x60]
mov r9d, dword [rdx + rcx*4]
mov dword [rsp + 0x34], r9d
mov rbx, rax
lea rdi, [0x007d4fc0]
lea rsi, [0x00590a20]
lea r8, [rsp + 0x34]
lea rax, [0x00629920]
lea rcx, [0x0062b100]
call fcn.004829e0
mov rcx, qword [rsp + 0x48]
inc rcx
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r9, qword [rsp + 0x38]
cmp r9, rcx
jg 0x53d79c
call fcn.004c4500
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x18]
cmp rax, rbx
ja 0x53d82e
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.00465bc0
mov rax, rcx
mov rcx, rdx
nop dword [rax]
call fcn.00465b00
mov rax, rcx
mov rcx, rbx
call fcn.00465b00
mov eax, 3
mov rcx, rax
call fcn.00465b00
mov eax, 2
mov rcx, rax
call fcn.00465b00
mov eax, 1
mov rcx, rax
call fcn.00465b00
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00465b00
mov rax, rcx
mov rcx, rdx
call fcn.00465b00
mov rax, rcx
mov rcx, rbx
call fcn.00465b00
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.00463840
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]
nop dword [rax]
jmp fcn.0053d580