Function at 0x4134cd
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 0xc]
xor edx, edx
push ebx
push esi
mov dh, byte [eax]
xor ebx, ebx
mov dl, byte [eax + 1]
mov bh, byte [eax + 4]
movzx esi, byte [eax + 2]
shl edx, 8
or edx, esi
mov bl, byte [eax + 5]
movzx esi, byte [eax + 3]
shl edx, 8
or edx, esi
push edi
mov edi, edx
movzx edx, byte [eax + 6]
movzx eax, byte [eax + 7]
shl ebx, 8
or ebx, edx
mov edx, 0xf0f0f0f
shl ebx, 8
or ebx, eax
mov eax, edi
shr eax, 4
mov esi, ebx
and eax, edx
and esi, edx
xor eax, esi
mov esi, eax
shl eax, 4
xor esi, ebx
xor eax, edi
mov edx, eax
mov edi, esi
shr edx, 0x10
and edi, 0xffff
xor edx, edi
mov edi, 0x33333333
xor esi, edx
shl edx, 0x10
xor eax, edx
mov edx, esi
shr edx, 2
mov ebx, eax
and edx, edi
and ebx, edi
mov edi, 0xff00ff
xor edx, ebx
xor eax, edx
shl edx, 2
xor esi, edx
mov ebx, eax
mov edx, esi
and ebx, edi
shr edx, 8
and edx, edi
xor edx, ebx
xor eax, edx
shl edx, 8
xor esi, edx
mov edx, esi
add esi, esi
shr edx, 0x1f
or edx, esi
mov esi, edx
xor esi, eax
and esi, 0xaaaaaaaa
xor eax, esi
xor edx, esi
mov esi, eax
add eax, eax
shr esi, 0x1f
or esi, eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 4], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
add eax, 8
mov dword [ebp + 0xc], eax
mov ecx, edx
mov eax, edx
shl ecx, 0x1c
shr eax, 4
or ecx, eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp - 4]
xor ecx, dword [eax - 8]
mov eax, ecx
mov edi, ecx
shr eax, 0x18
and eax, 0x3f
shr edi, 0x10
mov eax, dword [ebx + eax*4]
mov ebx, dword [ebp - 8]
and edi, 0x3f
or eax, dword [ebx + edi*4]
mov ebx, dword [ebp - 0xc]
mov edi, ecx
and ecx, 0x3f
shr edi, 8
and edi, 0x3f
or eax, dword [ebx + edi*4]
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
or eax, dword [edi + ecx*4]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx - 4]
xor ecx, edx
mov edi, ecx
mov dword [ebp + 8], ecx
shr edi, 0x18
and edi, 0x3f
shr ecx, 0x10
mov edi, dword [ebx + edi*4]
mov ebx, dword [ebp - 0x18]
and ecx, 0x3f
or edi, dword [ebx + ecx*4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x1c]
shr ecx, 8
and ecx, 0x3f
or edi, dword [ebx + ecx*4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x20]
and ecx, 0x3f
or edi, dword [ebx + ecx*4]
mov ebx, dword [ebp - 4]
or edi, eax
xor esi, edi
mov ecx, esi
mov eax, esi
shl ecx, 0x1c
shr eax, 4
or ecx, eax
mov eax, dword [ebp + 0xc]
xor ecx, dword [eax]
mov eax, ecx
mov edi, ecx
shr eax, 0x18
and eax, 0x3f
shr edi, 0x10
mov eax, dword [ebx + eax*4]
mov ebx, dword [ebp - 8]
and edi, 0x3f
or eax, dword [ebx + edi*4]
mov ebx, dword [ebp - 0xc]
mov edi, ecx
and ecx, 0x3f
shr edi, 8
and edi, 0x3f
or eax, dword [ebx + edi*4]
mov edi, dword [ebp - 0x10]
or eax, dword [edi + ecx*4]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 4]
xor ecx, esi
mov edi, ecx
mov dword [ebp + 8], ecx
shr edi, 0x18
and edi, 0x3f
mov ebx, dword [ebp - 0x14]
add dword [ebp + 0xc], 0x10
shr ecx, 0x10
mov edi, dword [ebx + edi*4]
mov ebx, dword [ebp - 0x18]
and ecx, 0x3f
or edi, dword [ebx + ecx*4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x1c]
shr ecx, 8
and ecx, 0x3f
or edi, dword [ebx + ecx*4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x20]
and ecx, 0x3f
or edi, dword [ebx + ecx*4]
or edi, eax
xor edx, edi
dec dword [ebp - 0x24]
jne 0x4135d1
mov eax, edx
shl eax, 0x1f
shr edx, 1
or eax, edx
mov edx, 0xff00ff
mov ecx, eax
xor ecx, esi
and ecx, 0xaaaaaaaa
xor esi, ecx
xor eax, ecx
mov edi, esi
shl edi, 0x1f
shr esi, 1
or edi, esi
mov esi, eax
mov ecx, edi
and esi, edx
shr ecx, 8
and ecx, edx
mov edx, 0x33333333
xor ecx, esi
xor eax, ecx
shl ecx, 8
xor edi, ecx
mov esi, eax
mov ecx, edi
and esi, edx
shr ecx, 2
and ecx, edx
xor ecx, esi
xor eax, ecx
shl ecx, 2
xor edi, ecx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff
xor ecx, edx
mov edx, 0xf0f0f0f
xor edi, ecx
shl ecx, 0x10
xor eax, ecx
mov esi, edi
mov ecx, eax
and esi, edx
shr ecx, 4
and ecx, edx
xor ecx, esi
mov edx, ecx
xor ecx, edi
shl edx, 4
xor edx, eax
mov eax, dword [ebp + 0x10]
mov ebx, edx
pop edi
shr ebx, 0x18
mov byte [eax], bl
mov ebx, edx
shr ebx, 0x10
mov byte [eax + 1], bl
mov ebx, edx
mov byte [eax + 3], dl
mov edx, ecx
shr edx, 0x18
mov byte [eax + 4], dl
mov edx, ecx
shr edx, 0x10
mov byte [eax + 5], dl
mov edx, ecx
shr ebx, 8
shr edx, 8
mov byte [eax + 2], bl
pop esi
mov byte [eax + 6], dl
mov byte [eax + 7], cl
pop ebx
leave
ret 0xc