Function at 0x4011db
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x34
push ebx
push ebp
push esi
push edi
mov eax, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], 4
mov ebp, 0x1010101
mov ebx, dword [eax]
mov ecx, ebx
shr ecx, 7
mov eax, ecx
and eax, ebp
imul edx, eax, 0x1b
mov dword [esp + 0x3c], eax
mov eax, edx
mov dword [esp + 0x14], edx
shr eax, 1
xor eax, ebx
shr eax, 6
and eax, ebp
mov dword [esp + 0x40], eax
imul eax, eax, 0x1b
mov dword [esp + 0x1c], eax
shr eax, 1
mov dword [esp + 0x38], eax
xor eax, edx
shr eax, 1
mov edx, ecx
xor eax, ebx
and edx, 0x101
shr eax, 5
and eax, ebp
imul esi, edx, 0x1b
imul eax, eax, 0x1b
mov ebp, 0x10101
mov edi, esi
mov dword [esp + 0x24], eax
mov eax, ecx
and eax, ebp
shr edi, 1
mov dword [esp + 0x2c], eax
and ecx, 1
imul eax, eax, 0x1b
xor edi, ebx
mov dword [esp + 0x28], ecx
shr edi, 6
and edi, 0x101
mov dword [esp + 0x34], eax
shr eax, 1
xor eax, ebx
shr eax, 6
and eax, ebp
imul ebp, ecx, 0x1b
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [ecx]
mov ebx, ebp
mov ecx, eax
shr ebx, 1
xor ebx, eax
and ecx, 0xffffff1f
add ecx, ecx
shr ebx, 6
and eax, 0xffffff3f
and ebx, 1
xor ecx, eax
mov eax, dword [esp + 0x10]
shl ecx, 2
xor ecx, dword [eax]
shl ecx, 0x10
mov dword [esp + 0x18], ecx
imul ecx, edx, 0x6c0000
imul eax, edi, 0x360000
and ecx, 0xfdfdffff
xor ecx, eax
imul eax, edx, 0x360000
xor ecx, eax
imul eax, edi, 0x1b
and ecx, 0xfefe0000
xor dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
shr eax, 1
xor eax, esi
mov edx, dword [ecx]
shr eax, 1
xor eax, edx
shr eax, 5
and eax, 0x101
imul eax, eax, 0x1b0000
mov esi, dword [esp + 0x18]
xor esi, eax
imul eax, edi, 0x1b0000
mov edi, dword [esp + 0x24]
mov ecx, edi
xor esi, eax
mov eax, dword [esp + 0x1c]
xor ecx, eax
xor eax, dword [esp + 0x14]
and eax, 0x7f7f0000
xor ecx, edx
shr ecx, 1
xor ecx, eax
mov eax, dword [esp + 0x14]
xor eax, edx
shr ecx, 1
and eax, 0x3f3f0000
xor ecx, eax
mov eax, edx
imul edx, dword [esp + 0x28], 0x6c000000
and eax, 0x1f1f0000
shr ecx, 1
xor ecx, eax
imul eax, ebx, 0x36000000
shr ecx, 0xd
or esi, ecx
mov ecx, edi
and edx, 0xfdffffff
xor ecx, dword [esp + 0x14]
xor edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
shl eax, 0x19
xor edx, eax
imul eax, ebx, 0x1b
mov ebx, dword [esp + 0x10]
and edx, 0xfe000000
shr eax, 1
xor eax, ebp
mov ebp, dword [ebx]
shr eax, 1
xor ecx, ebp
xor eax, ebp
shr ecx, 1
shr eax, 5
and eax, 1
imul eax, eax, 0x1b000000
xor edx, eax
mov eax, ebp
shl eax, 3
xor eax, ebp
shl eax, 0x18
xor edx, eax
imul eax, dword [esp + 0x28], 0x1b000000
xor edx, eax
mov eax, dword [esp + 0x1c]
xor eax, ebp
and eax, 0x7f7f7f00
xor ecx, eax
mov eax, dword [esp + 0x14]
and eax, 0x3f3f3f00
shr ecx, 1
xor ecx, eax
mov eax, ebp
and eax, 0x1f1f1f00
shr ecx, 1
xor ecx, eax
imul eax, dword [esp + 0x30], 0x3600
shr ecx, 5
or edx, ecx
xor esi, edx
imul edx, dword [esp + 0x2c], 0x6c00
and edx, 0xfdfdfdff
xor edx, eax
imul eax, dword [esp + 0x30], 0x1b
and edx, 0xfefefe00
shr eax, 1
xor eax, dword [esp + 0x34]
shr eax, 1
xor eax, ebp
shr eax, 5
and eax, 0x10101
mov ecx, dword [esp + 0x14]
imul eax, eax, 0x1b00
and ecx, 0xff7fffff
xor ecx, dword [esp + 0x38]
and ecx, 0x3f800000
xor edx, eax
mov eax, ebp
and eax, 0xffff1f1f
shl eax, 3
xor eax, ebp
shl eax, 8
xor edx, eax
mov eax, edi
xor eax, ebp
shr eax, 2
xor ecx, eax
mov eax, ebp
and eax, 0x1f000000
shr ecx, 1
xor ecx, eax
imul eax, dword [esp + 0x40], 0x36
shr ecx, 0x15
or edx, ecx
imul ecx, dword [esp + 0x3c], 0x6c
xor esi, edx
and ecx, 0xfdfdfdfd
xor ecx, eax
imul eax, dword [esp + 0x3c], 0x36
xor ecx, eax
lea eax, [ebp*2]
xor ecx, eax
mov eax, ebp
and eax, 0xff1f1f1f
and ebp, 0xff3f3f3f
add eax, eax
and ecx, 0xfefefefe
xor eax, ebp
xor esi, ecx
shl eax, 2
mov ebp, 0x1010101
xor esi, eax
mov eax, ebx
xor esi, edi
xor esi, dword [esp + 0x1c]
xor esi, dword [esp + 0x14]
mov dword [eax], esi
add eax, 4
dec dword [esp + 0x20]
mov dword [esp + 0x10], eax
jne 0x4011f5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret