Function at 0x46cd78
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
mov dword [ebp - 4], eax
mov dword [ebp - 8], 1
mov eax, dword [ebp - 8]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x1c]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x10]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x14]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
xor dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x1c]
shl eax, 0x18
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x1c]
shr edx, 8
or eax, edx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x18]
xor eax, edx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x1c]
shl edx, 0x10
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x1c]
shr ecx, 0x10
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x1c]
shl edx, 8
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 8]
shl edx, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 8]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x1c]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x10]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x14]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
xor dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x1c]
shl eax, 0x18
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x1c]
shr edx, 8
or eax, edx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x18]
xor eax, edx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x1c]
shl edx, 0x10
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x1c]
shr ecx, 0x10
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x1c]
shl edx, 8
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 8]
shl edx, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [ebp - 8]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x1c]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x10]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x14]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
xor dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x1c]
shl eax, 0x18
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x1c]
shr edx, 8
or eax, edx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x18]
xor eax, edx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x1c]
shl edx, 0x10
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x1c]
shr ecx, 0x10
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x1c]
shl edx, 8
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 8]
shl edx, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4 + 8], eax
mov eax, dword [ebp - 8]
shl eax, 2
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*4 + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x1c]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x10]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
and eax, 0x80808080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shr eax, 7
mov edx, dword [ebp - 0xc]
sub edx, eax
and edx, 0x1b1b1b1b
mov eax, dword [ebp - 0x14]
and eax, 0x7f7f7f7f
add eax, eax
xor edx, eax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x18]
xor dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x1c]
shl eax, 0x18
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x1c]
shr edx, 8
or eax, edx
mov edx, dword [ebp - 0x10]
xor edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x18]
xor eax, edx
mov edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x1c]
shl edx, 0x10
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x1c]
shr ecx, 0x10
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 0x1c]
shl edx, 8
mov ecx, dword [ebp - 0x1c]
shr ecx, 0x18
or edx, ecx
xor eax, edx
mov edx, dword [ebp - 8]
shl edx, 2
mov ecx, dword [ebp - 4]
mov dword [ecx + edx*4 + 0xc], eax
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xa
jne 0x46cd88
mov esp, ebp
pop ebp
ret