Function at 0x40bc80
Capabilities:
Encrypt data using twofish

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x10], 0
jmp 0x40bc98
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x100
jge 0x40beb7
mov ecx, dword [ebp - 0x10]
mov dl, byte [ecx + 0x419dd0]
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
sar ecx, 2
mov edx, dword [ebp - 0x14]
and edx, 0xff
and edx, 2
neg edx
sbb edx, edx
and edx, 0xb4
xor ecx, edx
mov edx, dword [ebp - 0x14]
and edx, 0xff
and edx, 1
neg edx
sbb edx, edx
and edx, 0x5a
xor ecx, edx
xor eax, ecx
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
sar ecx, 1
mov edx, dword [ebp - 0x14]
and edx, 0xff
and edx, 1
neg edx
sbb edx, edx
and edx, 0xb4
xor ecx, edx
xor eax, ecx
mov ecx, dword [ebp - 0x14]
and ecx, 0xff
sar ecx, 2
mov edx, dword [ebp - 0x14]
and edx, 0xff
and edx, 2
neg edx
sbb edx, edx
and edx, 0xb4
xor ecx, edx
mov edx, dword [ebp - 0x14]
and edx, 0xff
and edx, 1
neg edx
sbb edx, edx
and edx, 0x5a
xor ecx, edx
xor eax, ecx
mov byte [ebp - 8], al
mov eax, dword [ebp - 0x10]
mov cl, byte [eax + 0x419ed0]
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0x13]
and edx, 0xff
mov eax, dword [ebp - 0x13]
and eax, 0xff
sar eax, 2
mov ecx, dword [ebp - 0x13]
and ecx, 0xff
and ecx, 2
neg ecx
sbb ecx, ecx
and ecx, 0xb4
xor eax, ecx
mov ecx, dword [ebp - 0x13]
and ecx, 0xff
and ecx, 1
neg ecx
sbb ecx, ecx
and ecx, 0x5a
xor eax, ecx
xor edx, eax
mov byte [ebp - 3], dl
mov edx, dword [ebp - 0x13]
and edx, 0xff
mov eax, dword [ebp - 0x13]
and eax, 0xff
sar eax, 1
mov ecx, dword [ebp - 0x13]
and ecx, 0xff
and ecx, 1
neg ecx
sbb ecx, ecx
and ecx, 0xb4
xor eax, ecx
xor edx, eax
mov eax, dword [ebp - 0x13]
and eax, 0xff
sar eax, 2
mov ecx, dword [ebp - 0x13]
and ecx, 0xff
and ecx, 2
neg ecx
sbb ecx, ecx
and ecx, 0xb4
xor eax, ecx
mov ecx, dword [ebp - 0x13]
and ecx, 0xff
and ecx, 1
neg ecx
sbb ecx, ecx
and ecx, 0x5a
xor eax, ecx
xor edx, eax
mov byte [ebp - 7], dl
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0xc], dl
mov al, byte [ebp - 3]
mov byte [ebp - 0xb], al
mov cl, byte [ebp - 7]
mov byte [ebp - 0xa], cl
mov dl, byte [ebp - 7]
mov byte [ebp - 9], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [eax*4 + 0x419fd4], ecx
mov dl, byte [ebp - 8]
mov byte [ebp - 0xc], dl
mov al, byte [ebp - 8]
mov byte [ebp - 0xb], al
mov cl, byte [ebp - 4]
mov byte [ebp - 0xa], cl
mov dl, byte [ebp - 0x14]
mov byte [ebp - 9], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [eax*4 + 0x41a3d4], ecx
mov dl, byte [ebp - 3]
mov byte [ebp - 0xc], dl
mov al, byte [ebp - 7]
mov byte [ebp - 0xb], al
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0xa], cl
mov dl, byte [ebp - 7]
mov byte [ebp - 9], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [eax*4 + 0x41a7d4], ecx
mov dl, byte [ebp - 4]
mov byte [ebp - 0xc], dl
mov al, byte [ebp - 0x14]
mov byte [ebp - 0xb], al
mov cl, byte [ebp - 8]
mov byte [ebp - 0xa], cl
mov dl, byte [ebp - 4]
mov byte [ebp - 9], dl
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [eax*4 + str.9g], ecx
jmp 0x40bc8f
mov dword [0x419fd0], 0
mov esp, ebp
pop ebp
ret