Function at 0x5b7fa0
Capabilities:
Encrypt data using twofish

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 8], 0
jmp 0x5b7fb8
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 4
jge 0x5b7fcf
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 0x5b7faf
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 2
je 0x5b80fc
cmp dword [ebp - 0xc], 3
je 0x5b8078
cmp dword [ebp - 0xc], 4
je 0x5b7ff4
jmp 0x5b8213
movzx edx, byte [ebp - 4]
and edx, 0xff
movzx eax, byte [edx + 0x687db8]
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 + 0x687cb8]
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 + 0x687cb8]
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 + 0x687db8]
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 + 0x687db8]
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 + 0x687db8]
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 + 0x687cb8]
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 + 0x687cb8]
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 + 0x687cb8]
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 + 0x687cb8]
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 + 0x687db8]
mov byte [ebp - 4], cl
movzx edx, byte [ebp - 3]
and edx, 0xff
movzx eax, byte [edx + 0x687db8]
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 + 0x687cb8]
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 + 0x687cb8]
mov byte [ebp - 3], cl
movzx edx, byte [ebp - 2]
and edx, 0xff
movzx eax, byte [edx + 0x687cb8]
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 + 0x687db8]
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 + 0x687db8]
mov byte [ebp - 2], cl
movzx edx, byte [ebp - 1]
and edx, 0xff
movzx eax, byte [edx + 0x687db8]
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 + 0x687db8]
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 + 0x687cb8]
mov byte [ebp - 1], cl
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 4]
push eax
call fcn.005b8230
add esp, 8
mov esp, ebp
pop ebp
ret