Function at 0x4130b6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc8
push ebx
push esi
push edi
mov ecx, dword [ebp + 8]
xor edx, edx
cmp edx, dword [ebp + 0x10]
jge 0x4133ab
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*4]
and eax, 0xff
inc eax
shr eax, 1
mov byte [ebp - 3], al
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*4]
and eax, 0xff00
add eax, 0x100
shr eax, 9
mov byte [ebp - 2], al
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*4]
and eax, 0xff0000
add eax, 0x10000
shr eax, 0x11
mov byte [ebp - 1], al
cmp byte [ebp - 3], 0x40
ja 0x413191
cmp byte [ebp - 2], 0x40
ja 0x413191
cmp byte [ebp - 1], 0x40
ja 0x413191
xor eax, eax
mov al, byte [ebp - 3]
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 8], eax
xor eax, eax
mov al, byte [ebp - 2]
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0xc], eax
xor eax, eax
mov al, byte [ebp - 1]
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0x10], eax
xor eax, eax
mov ebx, dword [ebp - 8]
movzx ebx, byte [ebx + eax]
mov ebx, dword [ebx*4 + 0x42a00c]
mov esi, dword [ebp - 0xc]
movzx esi, byte [esi + eax]
or ebx, dword [esi*4 + 0x42a40c]
mov esi, dword [ebp - 0x10]
movzx esi, byte [esi + eax]
or ebx, dword [esi*4 + 0x42a80c]
mov esi, eax
shl esi, 8
add esi, edx
mov dword [ecx + esi*4], ebx
inc eax
cmp eax, 8
jl 0x413152
jmp 0x4133a1
mov al, byte [ebp - 3]
cmp al, byte [ebp - 2]
jbe 0x41319e
mov al, byte [ebp - 3]
jmp 0x4131a1
mov al, byte [ebp - 2]
cmp al, byte [ebp - 1]
jae 0x4131a9
mov al, byte [ebp - 1]
cmp al, 0x80
jne 0x41322e
xor eax, eax
mov al, byte [ebp - 3]
sar eax, 1
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0x14], eax
xor eax, eax
mov al, byte [ebp - 2]
sar eax, 1
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0x18], eax
xor eax, eax
mov al, byte [ebp - 1]
sar eax, 1
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0x1c], eax
xor eax, eax
mov ebx, dword [ebp - 0x14]
movzx ebx, byte [ebx + eax]
mov ebx, dword [ebx*4 + 0x42a00c]
or ebx, 0x88888888
mov esi, dword [ebp - 0x18]
movzx esi, byte [esi + eax]
or ebx, dword [esi*4 + 0x42a40c]
mov esi, dword [ebp - 0x1c]
movzx esi, byte [esi + eax]
or ebx, dword [esi*4 + 0x42a80c]
mov esi, eax
shl esi, 8
add esi, edx
mov dword [ecx + esi*4], ebx
inc eax
cmp eax, 8
jl 0x4131e9
jmp 0x4133a1
mov bl, 0x80
sub bl, al
mov byte [ebp - 4], bl
and eax, 0xff
shl eax, 3
add eax, 0x42bcc8
mov dword [ebp - 0x20], eax
mov al, byte [ebp - 1]
cmp al, byte [ebp - 4]
jbe 0x41325e
xor eax, eax
mov al, byte [ebp - 1]
xor ebx, ebx
mov bl, byte [ebp - 4]
sub eax, ebx
inc eax
sar eax, 1
jmp 0x413260
xor eax, eax
xor ebx, ebx
mov bl, byte [ebp - 1]
mov esi, 0x40
sub esi, ebx
xor ebx, ebx
mov bl, al
add ebx, ebx
add esi, ebx
shl esi, 3
add esi, 0x42bec8
mov dword [ebp - 0x24], esi
and eax, 0xff
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0x28], eax
mov al, byte [ebp - 2]
cmp al, byte [ebp - 4]
jbe 0x4132a9
xor eax, eax
mov al, byte [ebp - 2]
xor ebx, ebx
mov bl, byte [ebp - 4]
sub eax, ebx
inc eax
sar eax, 1
jmp 0x4132ab
xor eax, eax
xor ebx, ebx
mov bl, byte [ebp - 2]
mov esi, 0x40
sub esi, ebx
xor ebx, ebx
mov bl, al
add ebx, ebx
add esi, ebx
shl esi, 3
add esi, 0x42bec8
mov dword [ebp - 0x2c], esi
and eax, 0xff
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0x30], eax
mov al, byte [ebp - 3]
cmp al, byte [ebp - 4]
jbe 0x4132f4
xor eax, eax
mov al, byte [ebp - 3]
xor ebx, ebx
mov bl, byte [ebp - 4]
sub eax, ebx
inc eax
sar eax, 1
jmp 0x4132f6
xor eax, eax
xor ebx, ebx
mov bl, byte [ebp - 3]
mov esi, 0x40
sub esi, ebx
xor ebx, ebx
mov bl, al
add ebx, ebx
add esi, ebx
shl esi, 3
add esi, 0x42bec8
mov dword [ebp - 0x34], esi
and eax, 0xff
shl eax, 3
add eax, 0x42bec8
mov dword [ebp - 0x38], eax
xor eax, eax
mov ebx, dword [ebp - 0x38]
movzx ebx, byte [ebx + eax]
mov esi, dword [ebp - 0x34]
movzx esi, byte [esi + eax]
xor esi, 0xff
or ebx, esi
mov ebx, dword [ebx*4 + 0x42a00c]
mov esi, dword [ebp - 0x20]
movzx esi, byte [esi + eax]
mov esi, dword [esi*4 + 0x42a80c]
add esi, esi
or ebx, esi
mov esi, dword [ebp - 0x30]
movzx esi, byte [esi + eax]
mov edi, dword [ebp - 0x2c]
movzx edi, byte [edi + eax]
xor edi, 0xff
or esi, edi
or ebx, dword [esi*4 + 0x42a40c]
mov esi, dword [ebp - 0x28]
movzx esi, byte [esi + eax]
mov edi, dword [ebp - 0x24]
movzx edi, byte [edi + eax]
xor edi, 0xff
or esi, edi
or ebx, dword [esi*4 + 0x42a80c]
mov esi, eax
shl esi, 8
add esi, edx
mov dword [ecx + esi*4], ebx
inc eax
cmp eax, 8
jl 0x413328
inc edx
cmp edx, dword [ebp + 0x10]
jl 0x4130cd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc