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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdf4
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0xc]
mov edx, 0x4e3024
lea eax, [ebp - 0x20c]
call fcn.004aac5c
pop ecx
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x20c]
mov al, byte [eax + 0x4e3024]
mov edx, dword [ebp - 0xc]
mov byte [ebp + edx - 0x10c], al
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab055
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
lea edx, [ebp - 0x10c]
lea eax, [ebp - 0x10c]
call fcn.004aac5c
pop ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x14]
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x10c]
movzx eax, byte [eax + 0x4e2f24]
xor eax, dword [ebp - 8]
movzx eax, byte [eax + 0x4e2f24]
xor eax, dword [ebp - 4]
mov eax, dword [eax*4 + 0x4e3124]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword [edx + ecx*4], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab0b1
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0xc]
shr ecx, 8
mov edx, 0x4e2f24
lea eax, [ebp - 0x20c]
call fcn.004aac5c
pop ecx
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x20c]
mov al, byte [eax + 0x4e3024]
mov edx, dword [ebp - 0xc]
mov byte [ebp + edx - 0x10c], al
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab112
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
shr ecx, 8
lea edx, [ebp - 0x10c]
lea eax, [ebp - 0x10c]
call fcn.004aac5c
pop ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x17]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x13]
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x10c]
movzx eax, byte [eax + 0x4e3024]
xor eax, dword [ebp - 8]
movzx eax, byte [eax + 0x4e2f24]
xor eax, dword [ebp - 4]
mov eax, dword [eax*4 + 0x4e3524]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword [edx + ecx*4 + 0x400], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab171
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0xc]
shr ecx, 0x10
mov edx, 0x4e2f24
lea eax, [ebp - 0x20c]
call fcn.004aac5c
pop ecx
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x20c]
mov al, byte [eax + 0x4e2f24]
mov edx, dword [ebp - 0xc]
mov byte [ebp + edx - 0x10c], al
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab1d6
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
shr ecx, 0x10
lea edx, [ebp - 0x10c]
lea eax, [ebp - 0x10c]
call fcn.004aac5c
pop ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x16]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x12]
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x10c]
movzx eax, byte [eax + 0x4e2f24]
xor eax, dword [ebp - 8]
movzx eax, byte [eax + 0x4e3024]
xor eax, dword [ebp - 4]
mov eax, dword [eax*4 + 0x4e3924]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword [edx + ecx*4 + 0x800], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab235
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0xc]
shr ecx, 0x18
mov edx, 0x4e3024
lea eax, [ebp - 0x20c]
call fcn.004aac5c
pop ecx
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x20c]
mov al, byte [eax + 0x4e2f24]
mov edx, dword [ebp - 0xc]
mov byte [ebp + edx - 0x10c], al
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab29a
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
shr ecx, 0x18
lea edx, [ebp - 0x10c]
lea eax, [ebp - 0x10c]
call fcn.004aac5c
pop ecx
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x15]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
movzx eax, byte [eax - 0x11]
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [ebp + eax - 0x10c]
movzx eax, byte [eax + 0x4e3024]
xor eax, dword [ebp - 8]
movzx eax, byte [eax + 0x4e3024]
xor eax, dword [ebp - 4]
mov eax, dword [eax*4 + 0x4e3d24]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword [edx + ecx*4 + 0xc00], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x100
jne 0x4ab2f9
mov esp, ebp
pop ebp
ret