Function at 0x100152b0
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
push ecx
movzx ecx, byte [edx + 1]
push ebx
movzx ebx, byte [edx + 5]
push ebp
push esi
mov esi, eax
movzx eax, byte [edx]
shl eax, 8
or eax, ecx
movzx ecx, byte [edx + 2]
shl eax, 8
or eax, ecx
movzx ecx, byte [edx + 3]
shl eax, 8
or eax, ecx
movzx ecx, byte [edx + 4]
shl ecx, 8
or ecx, ebx
movzx ebx, byte [edx + 6]
movzx edx, byte [edx + 7]
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edx
mov edx, eax
shr edx, 4
xor edx, ecx
and edx, 0xf0f0f0f
xor ecx, edx
shl edx, 4
xor eax, edx
mov edx, eax
shr edx, 0x10
xor edx, ecx
and edx, 0xffff
xor ecx, edx
shl edx, 0x10
xor eax, edx
mov edx, ecx
shr edx, 2
xor edx, eax
and edx, 0x33333333
xor eax, edx
add edx, edx
add edx, edx
xor ecx, edx
mov edx, ecx
shr edx, 8
xor edx, eax
and edx, 0xff00ff
xor eax, edx
shl edx, 8
xor edx, ecx
rol edx, 1
mov ecx, edx
xor ecx, eax
and ecx, 0xaaaaaaaa
xor edx, ecx
xor ecx, eax
rol ecx, 1
mov dword [esp + 0xc], 8
mov edi, edi
mov eax, edx
ror eax, 4
xor eax, dword [esi]
add esi, 4
mov ebx, eax
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x100d07a0]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d09a0]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d0ba0]
and eax, 0x3f
xor ebx, dword [eax*4 + 0x100d0da0]
mov eax, dword [esi]
xor ecx, ebx
xor eax, edx
mov ebx, eax
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x100d08a0]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d0aa0]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d0ca0]
and eax, 0x3f
xor ebx, dword [eax*4 + 0x100d0ea0]
add esi, 4
xor ecx, ebx
mov eax, ecx
ror eax, 4
xor eax, dword [esi]
add esi, 4
mov ebx, eax
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x100d07a0]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d09a0]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d0ba0]
and eax, 0x3f
xor ebx, dword [eax*4 + 0x100d0da0]
mov eax, dword [esi]
xor edx, ebx
xor eax, ecx
mov ebx, eax
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x100d08a0]
mov ebp, eax
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d0aa0]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x100d0ca0]
and eax, 0x3f
xor ebx, dword [eax*4 + 0x100d0ea0]
add esi, 4
xor edx, ebx
sub dword [esp + 0xc], 1
jne 0x10015360
ror edx, 1
mov eax, edx
xor edx, ecx
and edx, 0xaaaaaaaa
xor eax, edx
xor edx, ecx
ror edx, 1
mov ecx, edx
shr edx, 8
xor edx, eax
and edx, 0xff00ff
xor eax, edx
shl edx, 8
xor ecx, edx
mov edx, ecx
shr edx, 2
xor edx, eax
and edx, 0x33333333
xor eax, edx
add edx, edx
add edx, edx
xor ecx, edx
mov edx, eax
shr edx, 0x10
xor edx, ecx
and edx, 0xffff
xor ecx, edx
shl edx, 0x10
xor eax, edx
mov edx, eax
shr edx, 4
xor edx, ecx
and edx, 0xf0f0f0f
xor ecx, edx
shl edx, 4
xor eax, edx
mov edx, eax
shr edx, 0x18
mov byte [edi], dl
mov edx, eax
shr edx, 0x10
mov byte [edi + 1], dl
mov edx, eax
mov byte [edi + 3], al
shr edx, 8
mov eax, ecx
shr eax, 0x18
mov byte [edi + 2], dl
mov byte [edi + 4], al
mov edx, ecx
pop esi
shr edx, 0x10
mov eax, ecx
shr eax, 8
pop ebp
mov byte [edi + 5], dl
mov byte [edi + 6], al
mov byte [edi + 7], cl
pop ebx
pop ecx
ret