Function at 0x52b8a0
Capabilities:
Encrypt data using twofish

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 8], 0
jmp 0x52b8b8
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x52b8cf
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
mov al, byte [ecx]
mov byte [ebp + edx - 4], al
jmp 0x52b8af
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 2
je 0x52b9fc
cmp dword [ebp - 0xc], 3
je 0x52b978
cmp dword [ebp - 0xc], 4
je 0x52b8f4
jmp 0x52bb13
movzx edx, byte [ebp - 4]
and edx, 0xff
movzx eax, byte [edx + 0x5c99c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x18]
xor eax, ecx
mov byte [ebp - 4], al
movzx edx, byte [ebp - 3]
and edx, 0xff
movzx eax, byte [edx + 0x5c98c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x19]
xor eax, ecx
mov byte [ebp - 3], al
movzx edx, byte [ebp - 2]
and edx, 0xff
movzx eax, byte [edx + 0x5c98c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x1a]
xor eax, ecx
mov byte [ebp - 2], al
movzx edx, byte [ebp - 1]
and edx, 0xff
movzx eax, byte [edx + 0x5c99c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x1b]
xor eax, ecx
mov byte [ebp - 1], al
movzx edx, byte [ebp - 4]
and edx, 0xff
movzx eax, byte [edx + 0x5c99c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x10]
xor eax, ecx
mov byte [ebp - 4], al
movzx edx, byte [ebp - 3]
and edx, 0xff
movzx eax, byte [edx + 0x5c99c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x11]
xor eax, ecx
mov byte [ebp - 3], al
movzx edx, byte [ebp - 2]
and edx, 0xff
movzx eax, byte [edx + 0x5c98c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x12]
xor eax, ecx
mov byte [ebp - 2], al
movzx edx, byte [ebp - 1]
and edx, 0xff
movzx eax, byte [edx + 0x5c98c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0x13]
xor eax, ecx
mov byte [ebp - 1], al
movzx edx, byte [ebp - 4]
and edx, 0xff
movzx eax, byte [edx + 0x5c98c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 8]
xor eax, ecx
and eax, 0xff
movzx edx, byte [eax + 0x5c98c0]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ecx + eax*4]
xor edx, eax
and edx, 0xff
mov cl, byte [edx + 0x5c99c0]
mov byte [ebp - 4], cl
movzx edx, byte [ebp - 3]
and edx, 0xff
movzx eax, byte [edx + 0x5c99c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 9]
xor eax, ecx
and eax, 0xff
movzx edx, byte [eax + 0x5c98c0]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ecx + eax*4 + 1]
xor edx, eax
and edx, 0xff
mov cl, byte [edx + 0x5c98c0]
mov byte [ebp - 3], cl
movzx edx, byte [ebp - 2]
and edx, 0xff
movzx eax, byte [edx + 0x5c98c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0xa]
xor eax, ecx
and eax, 0xff
movzx edx, byte [eax + 0x5c99c0]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ecx + eax*4 + 2]
xor edx, eax
and edx, 0xff
mov cl, byte [edx + 0x5c99c0]
mov byte [ebp - 2], cl
movzx edx, byte [ebp - 1]
and edx, 0xff
movzx eax, byte [edx + 0x5c99c0]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx*4 + 0xb]
xor eax, ecx
and eax, 0xff
movzx edx, byte [eax + 0x5c99c0]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ecx + eax*4 + 3]
xor edx, eax
and edx, 0xff
mov cl, byte [edx + 0x5c98c0]
mov byte [ebp - 1], cl
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 4]
push eax
call fcn.0052bb30
add esp, 8
mov esp, ebp
pop ebp
ret