Function at 0x3ceb334
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov ebx, 0x3e5da5c
sub eax, 0x80
je 0x3ceb357
sub eax, 0x40
je 0x3ceb3d7
jmp 0x3ceb474
mov ecx, 0xa
mov dword [ebp - 4], 0x3e215a4
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 0x3ceb363
jmp 0x3ceb557
xor ecx, ecx
mov dword [ebp - 8], 0x3e215a4
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 0x3ceb557
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 0x3ceb3e0
jmp 0x3ceb557
xor ecx, ecx
mov dword [ebp - 0xc], 0x3e215a4
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 0x3ceb557
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 0x3ceb47d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret