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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov dword [ebp - 4], 0
jmp 0x42346b
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x10
jae 0x4234d0
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + edx]
shl ecx, 0x18
mov edx, 1
shl edx, 0
mov eax, dword [ebp + 0xc]
movzx edx, byte [eax + edx]
shl edx, 0x10
or ecx, edx
mov eax, 1
shl eax, 1
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
shl eax, 8
or ecx, eax
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
or ecx, eax
mov edx, dword [ebp - 4]
mov dword [ebp + edx*4 - 0x144], ecx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x423462
mov dword [ebp - 4], 0x10
jmp 0x4234e2
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], 0x40
jae 0x4235ad
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x180]
shr eax, 7
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x180]
shl edx, 0x19
or eax, edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x180]
shr edx, 0x12
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x180]
shl ecx, 0xe
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + edx*4 - 0x180]
shr ecx, 3
xor eax, ecx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x14c]
shr eax, 0x11
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x14c]
shl edx, 0xf
or eax, edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + ecx*4 - 0x14c]
shr edx, 0x13
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp + ecx*4 - 0x14c]
shl ecx, 0xd
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + edx*4 - 0x14c]
shr ecx, 0xa
xor eax, ecx
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + edx*4 - 0x184]
add eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 4]
add eax, dword [ebp + ecx*4 - 0x160]
add eax, dword [ebp - 0x30]
mov edx, dword [ebp - 4]
mov dword [ebp + edx*4 - 0x144], eax
jmp 0x4234d9
mov dword [ebp - 4], 0
jmp 0x4235bf
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 8
jae 0x4235d8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + edx*4 + 8]
mov dword [ebp + ecx*4 - 0x24], edx
jmp 0x4235b6
mov dword [ebp - 4], 0
jmp 0x4235ea
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x40
jae 0x423838
mov ecx, 4
shl ecx, 2
mov edx, dword [ebp + ecx - 0x24]
shr edx, 6
mov eax, 4
shl eax, 2
mov ecx, dword [ebp + eax - 0x24]
shl ecx, 0x1a
or edx, ecx
mov eax, 4
shl eax, 2
mov ecx, dword [ebp + eax - 0x24]
shr ecx, 0xb
mov eax, 4
shl eax, 2
mov eax, dword [ebp + eax - 0x24]
shl eax, 0x15
or ecx, eax
xor edx, ecx
mov ecx, 4
shl ecx, 2
mov eax, dword [ebp + ecx - 0x24]
shr eax, 0x19
mov ecx, 4
shl ecx, 2
mov ecx, dword [ebp + ecx - 0x24]
shl ecx, 7
or eax, ecx
xor edx, eax
mov dword [ebp - 0x34], edx
mov edx, 4
shl edx, 2
mov eax, 4
imul ecx, eax, 5
mov edx, dword [ebp + edx - 0x24]
and edx, dword [ebp + ecx - 0x24]
mov eax, 4
shl eax, 2
mov ecx, dword [ebp + eax - 0x24]
not ecx
mov eax, 4
imul eax, eax, 6
and ecx, dword [ebp + eax - 0x24]
xor edx, ecx
mov dword [ebp - 0x38], edx
mov ecx, 4
imul edx, ecx, 7
mov eax, dword [ebp + edx - 0x24]
add eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 4]
add eax, dword [ecx*4 + 0x53fd98]
mov edx, dword [ebp - 4]
add eax, dword [ebp + edx*4 - 0x144]
mov dword [ebp - 0x28], eax
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + ecx - 0x24]
shr edx, 2
mov eax, 4
imul ecx, eax, 0
mov eax, dword [ebp + ecx - 0x24]
shl eax, 0x1e
or edx, eax
mov ecx, 4
imul eax, ecx, 0
mov ecx, dword [ebp + eax - 0x24]
shr ecx, 0xd
mov eax, 4
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x24]
shl eax, 0x13
or ecx, eax
xor edx, ecx
mov ecx, 4
imul eax, ecx, 0
mov ecx, dword [ebp + eax - 0x24]
shr ecx, 0x16
mov eax, 4
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x24]
shl eax, 0xa
or ecx, eax
xor edx, ecx
mov dword [ebp - 0x3c], edx
mov ecx, 4
imul edx, ecx, 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + edx - 0x24]
and ecx, dword [ebp + eax - 0x24]
mov edx, 4
imul eax, edx, 0
mov edx, 4
shl edx, 1
mov eax, dword [ebp + eax - 0x24]
and eax, dword [ebp + edx - 0x24]
xor ecx, eax
mov edx, 4
shl edx, 0
mov eax, 4
shl eax, 1
mov edx, dword [ebp + edx - 0x24]
and edx, dword [ebp + eax - 0x24]
xor ecx, edx
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov ecx, 4
imul edx, ecx, 6
mov eax, 4
imul ecx, eax, 7
mov edx, dword [ebp + edx - 0x24]
mov dword [ebp + ecx - 0x24], edx
mov eax, 4
imul ecx, eax, 5
mov edx, 4
imul eax, edx, 6
mov ecx, dword [ebp + ecx - 0x24]
mov dword [ebp + eax - 0x24], ecx
mov edx, 4
shl edx, 2
mov eax, 4
imul ecx, eax, 5
mov edx, dword [ebp + edx - 0x24]
mov dword [ebp + ecx - 0x24], edx
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp + ecx - 0x24]
add edx, dword [ebp - 0x28]
mov eax, 4
shl eax, 2
mov dword [ebp + eax - 0x24], edx
mov ecx, 4
shl ecx, 1
mov edx, 4
imul eax, edx, 3
mov ecx, dword [ebp + ecx - 0x24]
mov dword [ebp + eax - 0x24], ecx
mov edx, 4
shl edx, 0
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + edx - 0x24]
mov dword [ebp + eax - 0x24], ecx
mov edx, 4
imul eax, edx, 0
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + eax - 0x24]
mov dword [ebp + ecx - 0x24], edx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x44]
mov ecx, 4
imul edx, ecx, 0
mov dword [ebp + edx - 0x24], eax
jmp 0x4235e1
mov dword [ebp - 4], 0
jmp 0x42384a
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 8
jae 0x42386d
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx*4 + 8]
mov ecx, dword [ebp - 4]
add eax, dword [ebp + ecx*4 - 0x24]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 8], eax
jmp 0x423841
mov esp, ebp
pop ebp
ret