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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x479130]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x114], 0
jmp 0x42d5b8
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x114]
add ecx, 4
mov dword [ebp - 0x114], ecx
cmp dword [ebp - 0x108], 0x10
jae 0x42d612
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0x114]
movzx eax, byte [edx]
shl eax, 0x18
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x114]
movzx edx, byte [ecx + 1]
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x114]
movzx edx, byte [ecx + 2]
shl edx, 8
or eax, edx
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x114]
movzx edx, byte [ecx + 3]
or eax, edx
mov ecx, dword [ebp - 0x108]
mov dword [ebp + ecx*4 - 0x104], eax
jmp 0x42d59a
jmp 0x42d623
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0x40
jae 0x42d70e
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp + eax*4 - 0x10c]
shr ecx, 0x11
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp + edx*4 - 0x10c]
shl eax, 0xf
or ecx, eax
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp + edx*4 - 0x10c]
shr eax, 0x13
mov edx, dword [ebp - 0x108]
mov edx, dword [ebp + edx*4 - 0x10c]
shl edx, 0xd
or eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp + eax*4 - 0x10c]
shr edx, 0xa
xor ecx, edx
mov eax, dword [ebp - 0x108]
add ecx, dword [ebp + eax*4 - 0x120]
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp + edx*4 - 0x140]
shr eax, 7
mov edx, dword [ebp - 0x108]
mov edx, dword [ebp + edx*4 - 0x140]
shl edx, 0x19
or eax, edx
mov edx, dword [ebp - 0x108]
mov edx, dword [ebp + edx*4 - 0x140]
shr edx, 0x12
mov esi, dword [ebp - 0x108]
mov esi, dword [ebp + esi*4 - 0x140]
shl esi, 0xe
or edx, esi
xor eax, edx
mov edx, dword [ebp - 0x108]
mov edx, dword [ebp + edx*4 - 0x140]
shr edx, 3
xor eax, edx
add ecx, eax
mov eax, dword [ebp - 0x108]
add ecx, dword [ebp + eax*4 - 0x144]
mov edx, dword [ebp - 0x108]
mov dword [ebp + edx*4 - 0x104], ecx
jmp 0x42d614
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
mov dword [ebp - 0x10c], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
mov dword [ebp - 0x118], eax
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
mov dword [ebp - 0x11c], eax
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x4c]
mov dword [ebp - 0x128], ecx
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x4c]
mov dword [ebp - 0x110], ecx
mov edx, 4
imul eax, edx, 5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax + 0x4c]
mov dword [ebp - 0x120], edx
mov eax, 4
imul ecx, eax, 6
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
mov dword [ebp - 0x124], eax
mov ecx, 4
imul edx, ecx, 7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x4c]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x108], 0
jmp 0x42d7d0
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0x40
jae 0x42d942
mov eax, dword [ebp - 0x110]
shr eax, 6
mov ecx, dword [ebp - 0x110]
shl ecx, 0x1a
or eax, ecx
mov edx, dword [ebp - 0x110]
shr edx, 0xb
mov ecx, dword [ebp - 0x110]
shl ecx, 0x15
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x110]
shr edx, 0x19
mov ecx, dword [ebp - 0x110]
shl ecx, 7
or edx, ecx
xor eax, edx
add eax, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x110]
and edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x110]
not ecx
and ecx, dword [ebp - 0x124]
xor edx, ecx
add eax, edx
mov edx, dword [ebp - 0x108]
add eax, dword [edx*4 + 0x465a80]
mov ecx, dword [ebp - 0x108]
add eax, dword [ebp + ecx*4 - 0x104]
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x10c]
shr edx, 2
mov eax, dword [ebp - 0x10c]
shl eax, 0x1e
or edx, eax
mov ecx, dword [ebp - 0x10c]
shr ecx, 0xd
mov eax, dword [ebp - 0x10c]
shl eax, 0x13
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x10c]
shr ecx, 0x16
mov eax, dword [ebp - 0x10c]
shl eax, 0xa
or ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x10c]
and ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x10c]
and eax, dword [ebp - 0x11c]
xor ecx, eax
mov eax, dword [ebp - 0x118]
and eax, dword [ebp - 0x11c]
xor ecx, eax
add edx, ecx
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x128]
add ecx, dword [ebp - 0x130]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x130]
add edx, dword [ebp - 0x134]
mov dword [ebp - 0x10c], edx
jmp 0x42d7c1
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
add eax, dword [ebp - 0x10c]
mov ecx, 4
imul edx, ecx, 0
mov ecx, dword [ebp + 8]
mov dword [ecx + edx + 0x4c], eax
mov edx, 4
shl edx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x4c]
add ecx, dword [ebp - 0x118]
mov edx, 4
shl edx, 0
mov eax, dword [ebp + 8]
mov dword [eax + edx + 0x4c], ecx
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
add eax, dword [ebp - 0x11c]
mov ecx, 4
shl ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + ecx + 0x4c], eax
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
add eax, dword [ebp - 0x128]
mov ecx, 4
imul edx, ecx, 3
mov ecx, dword [ebp + 8]
mov dword [ecx + edx + 0x4c], eax
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x4c]
add ecx, dword [ebp - 0x110]
mov edx, 4
shl edx, 2
mov eax, dword [ebp + 8]
mov dword [eax + edx + 0x4c], ecx
mov ecx, 4
imul edx, ecx, 5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + edx + 0x4c]
add ecx, dword [ebp - 0x120]
mov edx, 4
imul eax, edx, 5
mov edx, dword [ebp + 8]
mov dword [edx + eax + 0x4c], ecx
mov eax, 4
imul ecx, eax, 6
mov edx, dword [ebp + 8]
mov eax, dword [edx + ecx + 0x4c]
add eax, dword [ebp - 0x124]
mov ecx, 4
imul edx, ecx, 6
mov ecx, dword [ebp + 8]
mov dword [ecx + edx + 0x4c], eax
mov edx, 4
imul eax, edx, 7
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + eax + 0x4c]
add edx, dword [ebp - 0x12c]
mov eax, 4
imul ecx, eax, 7
mov eax, dword [ebp + 8]
mov dword [eax + ecx + 0x4c], edx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043d999
mov esp, ebp
pop ebp
ret