Function at 0x5f6880
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov ebx, str.cw
sub eax, 0x80
je 0x5f68a3
sub eax, 0x40
je 0x5f6923
jmp 0x5f69c0
mov ecx, 0xa
mov dword [ebp - 4], 0x618fc4
mov eax, dword [edx + 0xc]
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x18
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
and eax, 0xff
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx]
mov eax, dword [ebp - 4]
xor esi, dword [eax]
mov dword [edx + 0x10], esi
mov eax, dword [edx + 4]
xor eax, dword [edx + 0x10]
mov dword [edx + 0x14], eax
mov esi, dword [edx + 8]
xor esi, eax
mov dword [edx + 0x18], esi
mov eax, dword [edx + 0xc]
xor eax, esi
mov dword [edx + 0x1c], eax
add edx, 0x10
add dword [ebp - 4], 4
dec ecx
jne 0x5f68af
jmp 0x5f6aa3
xor ecx, ecx
mov dword [ebp - 8], 0x618fc4
mov eax, dword [edx + 0x14]
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x18
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
and eax, 0xff
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx]
mov eax, dword [ebp - 8]
xor esi, dword [eax]
mov dword [edx + 0x18], esi
mov eax, dword [edx + 4]
xor eax, dword [edx + 0x18]
mov dword [edx + 0x1c], eax
mov esi, dword [edx + 8]
xor esi, eax
mov dword [edx + 0x20], esi
mov eax, dword [edx + 0xc]
xor eax, esi
mov dword [edx + 0x24], eax
cmp ecx, 7
je 0x5f6aa3
mov esi, dword [edx + 0x10]
xor esi, eax
mov dword [edx + 0x28], esi
mov eax, dword [edx + 0x14]
xor eax, esi
mov dword [edx + 0x2c], eax
add edx, 0x18
inc ecx
add dword [ebp - 8], 4
cmp ecx, 8
jne 0x5f692c
jmp 0x5f6aa3
xor ecx, ecx
mov dword [ebp - 0xc], 0x618fc4
mov eax, dword [edx + 0x1c]
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x18
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
and eax, 0xff
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx]
mov eax, dword [ebp - 0xc]
xor esi, dword [eax]
mov dword [edx + 0x20], esi
mov eax, dword [edx + 4]
xor eax, dword [edx + 0x20]
mov dword [edx + 0x24], eax
mov esi, dword [edx + 8]
xor esi, eax
mov dword [edx + 0x28], esi
mov eax, dword [edx + 0xc]
xor eax, esi
mov dword [edx + 0x2c], eax
cmp ecx, 6
je 0x5f6aa3
mov esi, eax
and esi, 0xff
movzx esi, byte [ebx + esi]
mov edi, eax
shr edi, 8
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 8
xor esi, edi
mov edi, eax
shr edi, 0x10
and edi, 0xff
movzx edi, byte [ebx + edi]
shl edi, 0x10
xor esi, edi
shr eax, 0x18
movzx eax, byte [ebx + eax]
shl eax, 0x18
xor esi, eax
xor esi, dword [edx + 0x10]
mov dword [edx + 0x30], esi
mov eax, dword [edx + 0x14]
xor eax, dword [edx + 0x30]
mov dword [edx + 0x34], eax
mov esi, dword [edx + 0x18]
xor esi, eax
mov dword [edx + 0x38], esi
mov eax, dword [edx + 0x1c]
xor eax, esi
mov dword [edx + 0x3c], eax
add edx, 0x20
inc ecx
add dword [ebp - 0xc], 4
cmp ecx, 7
jne 0x5f69c9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret