Function at 0x140035800
Capabilities:
Encrypt data using hc-128

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x170
mov rax, qword [0x140068080]
xor rax, rsp
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x40]
mov rdi, rax
xor eax, eax
mov ecx, 0x20
rep stosb byte [rdi], al
lea rax, [rsp + 0x60]
mov rdi, rax
xor eax, eax
mov ecx, 0x100
rep stosb byte [rdi], al
mov rax, qword [rsp + 0x180]
add rax, 8
mov r8d, 0x20
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14004aa60
nop
mov dword [rsp + 0x24], 0
jmp 0x140035875
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0x10
jge 0x140035943
mov eax, dword [rsp + 0x24]
shl eax, 2
cdqe
mov rcx, qword [rsp + 0x180]
lea rax, [rcx + rax + 0x28]
mov ecx, 1
imul rcx, rcx, 0
movzx eax, byte [rax + rcx]
and eax, 0xff
shl eax, 0x18
mov ecx, dword [rsp + 0x24]
shl ecx, 2
movsxd rcx, ecx
mov rdx, qword [rsp + 0x180]
lea rcx, [rdx + rcx + 0x28]
mov edx, 1
imul rdx, rdx, 1
movzx ecx, byte [rcx + rdx]
and ecx, 0xff
shl ecx, 0x10
or eax, ecx
mov ecx, dword [rsp + 0x24]
shl ecx, 2
movsxd rcx, ecx
mov rdx, qword [rsp + 0x180]
lea rcx, [rdx + rcx + 0x28]
mov edx, 1
imul rdx, rdx, 2
movzx ecx, byte [rcx + rdx]
and ecx, 0xff
shl ecx, 8
or eax, ecx
mov ecx, dword [rsp + 0x24]
shl ecx, 2
movsxd rcx, ecx
mov rdx, qword [rsp + 0x180]
lea rcx, [rdx + rcx + 0x28]
mov edx, 1
imul rdx, rdx, 3
movzx ecx, byte [rcx + rdx]
and ecx, 0xff
or eax, ecx
movsxd rcx, dword [rsp + 0x24]
mov dword [rsp + rcx*4 + 0x60], eax
jmp 0x14003586b
mov dword [rsp + 0x20], 0x10
jmp 0x140035957
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0x40
jge 0x140035a47
mov eax, dword [rsp + 0x20]
sub eax, 2
cdqe
mov eax, dword [rsp + rax*4 + 0x60]
shr eax, 0x11
mov ecx, dword [rsp + 0x20]
sub ecx, 2
movsxd rcx, ecx
mov ecx, dword [rsp + rcx*4 + 0x60]
shl ecx, 0xf
or eax, ecx
mov ecx, dword [rsp + 0x20]
sub ecx, 2
movsxd rcx, ecx
mov ecx, dword [rsp + rcx*4 + 0x60]
shr ecx, 0x13
mov edx, dword [rsp + 0x20]
sub edx, 2
movsxd rdx, edx
mov edx, dword [rsp + rdx*4 + 0x60]
shl edx, 0xd
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 0x20]
sub ecx, 2
movsxd rcx, ecx
mov ecx, dword [rsp + rcx*4 + 0x60]
shr ecx, 0xa
xor eax, ecx
mov ecx, dword [rsp + 0x20]
sub ecx, 7
movsxd rcx, ecx
add eax, dword [rsp + rcx*4 + 0x60]
mov ecx, dword [rsp + 0x20]
sub ecx, 0xf
movsxd rcx, ecx
mov ecx, dword [rsp + rcx*4 + 0x60]
shr ecx, 7
mov edx, dword [rsp + 0x20]
sub edx, 0xf
movsxd rdx, edx
mov edx, dword [rsp + rdx*4 + 0x60]
shl edx, 0x19
or ecx, edx
mov edx, dword [rsp + 0x20]
sub edx, 0xf
movsxd rdx, edx
mov edx, dword [rsp + rdx*4 + 0x60]
shr edx, 0x12
mov edi, dword [rsp + 0x20]
sub edi, 0xf
movsxd rdi, edi
mov edi, dword [rsp + rdi*4 + 0x60]
shl edi, 0xe
or edx, edi
xor ecx, edx
mov edx, dword [rsp + 0x20]
sub edx, 0xf
movsxd rdx, edx
mov edx, dword [rsp + rdx*4 + 0x60]
shr edx, 3
xor ecx, edx
add eax, ecx
mov ecx, dword [rsp + 0x20]
sub ecx, 0x10
movsxd rcx, ecx
add eax, dword [rsp + rcx*4 + 0x60]
movsxd rcx, dword [rsp + 0x20]
mov dword [rsp + rcx*4 + 0x60], eax
jmp 0x14003594d
mov dword [rsp + 0x2c], 0
jmp 0x140035a5b
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0x40
jge 0x140035d05
mov eax, 4
imul rax, rax, 7
mov ecx, 4
imul rcx, rcx, 4
mov ecx, dword [rsp + rcx + 0x40]
shr ecx, 6
mov edx, 4
imul rdx, rdx, 4
mov edx, dword [rsp + rdx + 0x40]
shl edx, 0x1a
or ecx, edx
mov edx, 4
imul rdx, rdx, 4
mov edx, dword [rsp + rdx + 0x40]
shr edx, 0xb
mov edi, 4
imul rdi, rdi, 4
mov edi, dword [rsp + rdi + 0x40]
shl edi, 0x15
or edx, edi
xor ecx, edx
mov edx, 4
imul rdx, rdx, 4
mov edx, dword [rsp + rdx + 0x40]
shr edx, 0x19
mov edi, 4
imul rdi, rdi, 4
mov edi, dword [rsp + rdi + 0x40]
shl edi, 7
or edx, edi
xor ecx, edx
mov eax, dword [rsp + rax + 0x40]
add eax, ecx
mov ecx, 4
imul rcx, rcx, 6
mov edx, 4
imul rdx, rdx, 4
mov edi, 4
imul rdi, rdi, 5
mov r8d, 4
imul r8, r8, 6
mov r8d, dword [rsp + r8 + 0x40]
mov edi, dword [rsp + rdi + 0x40]
xor edi, r8d
mov edx, dword [rsp + rdx + 0x40]
and edx, edi
mov ecx, dword [rsp + rcx + 0x40]
xor ecx, edx
add eax, ecx
movsxd rcx, dword [rsp + 0x2c]
lea rdx, [0x14005ca20]
add eax, dword [rdx + rcx*4]
movsxd rcx, dword [rsp + 0x2c]
add eax, dword [rsp + rcx*4 + 0x60]
mov dword [rsp + 0x30], eax
mov eax, 4
imul rax, rax, 0
mov eax, dword [rsp + rax + 0x40]
shr eax, 2
mov ecx, 4
imul rcx, rcx, 0
mov ecx, dword [rsp + rcx + 0x40]
shl ecx, 0x1e
or eax, ecx
mov ecx, 4
imul rcx, rcx, 0
mov ecx, dword [rsp + rcx + 0x40]
shr ecx, 0xd
mov edx, 4
imul rdx, rdx, 0
mov edx, dword [rsp + rdx + 0x40]
shl edx, 0x13
or ecx, edx
xor eax, ecx
mov ecx, 4
imul rcx, rcx, 0
mov ecx, dword [rsp + rcx + 0x40]
shr ecx, 0x16
mov edx, 4
imul rdx, rdx, 0
mov edx, dword [rsp + rdx + 0x40]
shl edx, 0xa
or ecx, edx
xor eax, ecx
mov ecx, 4
imul rcx, rcx, 0
mov edx, 4
imul rdx, rdx, 1
mov edx, dword [rsp + rdx + 0x40]
mov ecx, dword [rsp + rcx + 0x40]
or ecx, edx
mov edx, 4
imul rdx, rdx, 2
and ecx, dword [rsp + rdx + 0x40]
mov edx, 4
imul rdx, rdx, 0
mov edi, 4
imul rdi, rdi, 1
mov edi, dword [rsp + rdi + 0x40]
mov edx, dword [rsp + rdx + 0x40]
and edx, edi
or ecx, edx
add eax, ecx
mov dword [rsp + 0x34], eax
mov eax, 4
imul rax, rax, 3
mov eax, dword [rsp + rax + 0x40]
add eax, dword [rsp + 0x30]
mov ecx, 4
imul rcx, rcx, 3
mov dword [rsp + rcx + 0x40], eax
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 7
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 7
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + 0x38], eax
mov eax, 4
imul rax, rax, 6
mov ecx, 4
imul rcx, rcx, 7
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 5
mov ecx, 4
imul rcx, rcx, 6
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 4
mov ecx, 4
imul rcx, rcx, 5
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 3
mov ecx, 4
imul rcx, rcx, 4
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 2
mov ecx, 4
imul rcx, rcx, 3
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 1
mov ecx, 4
imul rcx, rcx, 2
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 0
mov ecx, 4
imul rcx, rcx, 1
mov eax, dword [rsp + rax + 0x40]
mov dword [rsp + rcx + 0x40], eax
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0x38]
mov dword [rsp + rax + 0x40], ecx
jmp 0x140035a51
mov dword [rsp + 0x28], 0
jmp 0x140035d19
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 8
jge 0x140035d4d
movsxd rax, dword [rsp + 0x28]
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x180]
mov eax, dword [rdx + rax*4 + 8]
add eax, dword [rsp + rcx*4 + 0x40]
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x180]
mov dword [rdx + rcx*4 + 8], eax
jmp 0x140035d0f
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.14000de10
add rsp, 0x170
pop rdi
ret