Function at 0x440eb0
Capabilities:
Encode data using xor
Encrypt data using twofish

Disassembly:
push ebx
push ebp
push esi
push edi
xor esi, esi
lea eax, [ecx + 0x8b8]
lea esp, [esp]
movzx ecx, byte [esi + 0x461b20]
mov ebx, ecx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov edx, ecx
shr edx, 2
xor edi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, ebx
xor edx, ecx
xor edi, ecx
mov ebx, edx
imul edx, edx, 0x1000100
imul ebx, ebx, 0x10100
add ebx, edi
shl ebx, 8
add ebx, ecx
add edx, edi
mov dword [eax - 0x800], ebx
shl ecx, 0x10
add ecx, edx
mov dword [eax], ecx
movzx edx, byte [esi + 0x461a20]
mov ebx, edx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov ecx, edx
shr ecx, 2
xor edi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
xor edi, edx
shr ecx, 1
xor ecx, ebx
xor ecx, edx
mov ebx, edx
shl ebx, 8
add ebx, edi
imul edi, edi, 0x1000001
mov ebp, ecx
imul ebp, ebp, 0x101
shl ebx, 0x10
shl ecx, 8
add ecx, edx
add ebx, ebp
mov dword [eax - 0x400], ebx
shl ecx, 8
add ecx, edi
mov dword [eax + 0x400], ecx
movzx ecx, byte [esi + 0x461b21]
mov ebx, ecx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov edx, ecx
shr edx, 2
xor edi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, ebx
xor edx, ecx
mov ebx, edx
imul edx, edx, 0x1000100
imul ebx, ebx, 0x10100
xor edi, ecx
add ebx, edi
shl ebx, 8
add ebx, ecx
shl ecx, 0x10
add edx, edi
add ecx, edx
mov dword [eax - 0x7fc], ebx
mov dword [eax + 4], ecx
movzx edx, byte [esi + 0x461a21]
mov ebx, edx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov ecx, edx
shr ecx, 2
xor edi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
shr ecx, 1
xor ecx, ebx
xor ecx, edx
xor edi, edx
mov ebp, ecx
mov ebx, edx
imul ebp, ebp, 0x101
shl ebx, 8
add ebx, edi
imul edi, edi, 0x1000001
shl ecx, 8
add ecx, edx
shl ebx, 0x10
add ebx, ebp
mov dword [eax - 0x3fc], ebx
shl ecx, 8
add ecx, edi
mov dword [eax + 0x404], ecx
movzx ecx, byte [esi + 0x461b22]
mov ebx, ecx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov edx, ecx
shr edx, 2
xor edi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, ebx
xor edx, ecx
xor edi, ecx
mov ebx, edx
imul edx, edx, 0x1000100
imul ebx, ebx, 0x10100
add ebx, edi
shl ebx, 8
add ebx, ecx
shl ecx, 0x10
mov dword [eax - 0x7f8], ebx
add edx, edi
add ecx, edx
mov dword [eax + 8], ecx
movzx edx, byte [esi + 0x461a22]
mov ebx, edx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov ecx, edx
shr ecx, 2
xor edi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
shr ecx, 1
xor ecx, ebx
xor ecx, edx
mov ebp, ecx
imul ebp, ebp, 0x101
mov ebx, edx
shl ebx, 8
xor edi, edx
add ebx, edi
shl ebx, 0x10
shl ecx, 8
add ebx, ebp
add ecx, edx
mov dword [eax - 0x3f8], ebx
shl ecx, 8
imul edi, edi, 0x1000001
add ecx, edi
mov dword [eax + 0x408], ecx
movzx ecx, byte [esi + 0x461b23]
mov ebx, ecx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov edx, ecx
shr edx, 2
xor edi, edx
mov edx, ecx
shr edx, 1
xor edx, ecx
shr edx, 1
xor edx, ebx
xor edx, ecx
xor edi, ecx
mov ebx, edx
imul edx, edx, 0x1000100
imul ebx, ebx, 0x10100
add ebx, edi
shl ebx, 8
add ebx, ecx
shl ecx, 0x10
mov dword [eax - 0x7f4], ebx
add edx, edi
add ecx, edx
mov dword [eax + 0xc], ecx
movzx edx, byte [esi + 0x461a23]
mov ebx, edx
and ebx, 3
movzx edi, byte [ebx + 0x461a18]
movzx ebx, byte [ebx + 0x461a1c]
mov ecx, edx
shr ecx, 2
xor edi, ecx
mov ecx, edx
shr ecx, 1
xor ecx, edx
shr ecx, 1
xor ecx, ebx
xor ecx, edx
mov ebp, ecx
xor edi, edx
imul ebp, ebp, 0x101
mov ebx, edx
shl ebx, 8
add ebx, edi
imul edi, edi, 0x1000001
shl ecx, 8
add ecx, edx
shl ebx, 0x10
shl ecx, 8
add ebx, ebp
add ecx, edi
mov dword [eax - 0x3f4], ebx
mov dword [eax + 0x40c], ecx
add esi, 4
add eax, 0x10
cmp esi, 0x100
jb 0x440ec0
pop edi
pop esi
pop ebp
pop ebx
ret