Function at 0x10026e80
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x20
push esi
push edi
mov edi, dword [esp + 0x2c]
mov esi, eax
test ecx, ecx
jne 0x10026e97
pop edi
xor eax, eax
pop esi
add esp, 0x20
ret
push ebx
not esi
cmp edi, 0x17
jb 0x1002722e
test edi, edi
je 0x10026ec6
test cl, 3
je 0x10026ec6
movzx eax, byte [ecx]
xor eax, esi
and eax, 0xff
shr esi, 8
xor esi, dword [eax*4 + 0x213ec98]
dec edi
inc ecx
test edi, edi
jne 0x10026ea7
mov eax, 0xcccccccd
mul edi
mov eax, edx
shr eax, 4
mov edx, eax
neg edx
add edx, edx
add edx, edx
sub edx, eax
xor ebx, ebx
push ebp
lea edi, [edi + edx*4]
xor ebp, ebp
sub eax, 1
mov dword [esp + 0x34], edi
mov edx, esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], eax
je 0x10027094
nop
mov eax, dword [ecx]
xor eax, edx
mov esi, dword [ecx + 4]
xor esi, ebp
mov edi, dword [ecx + 8]
mov ebp, eax
mov edx, dword [ecx + 0x10]
xor edx, dword [esp + 0x14]
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x213f498]
mov dword [esp + 0x20], ebp
mov ebp, esi
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x213f498]
mov dword [esp + 0x28], ebp
xor edi, ebx
mov ebx, dword [ecx + 0xc]
xor ebx, dword [esp + 0x10]
mov dword [esp + 0x2c], edx
and edx, 0xff
mov edx, dword [edx*4 + 0x213f498]
mov ebp, edi
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x213f498]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], edx
mov edx, eax
mov ebp, ebx
and ebp, 0xff
mov ebp, dword [ebp*4 + 0x213f498]
mov dword [esp + 0x10], ebp
mov ebp, eax
shr eax, 0x18
shr edx, 0x10
shr ebp, 8
and edx, 0xff
mov edx, dword [edx*4 + 0x213fc98]
and ebp, 0xff
xor edx, dword [ebp*4 + 0x213f898]
add ecx, 0x14
xor edx, dword [eax*4 + 0x2140098]
mov eax, esi
shr eax, 0x10
and eax, 0xff
mov eax, dword [eax*4 + 0x213fc98]
mov ebp, edx
mov edx, dword [esp + 0x20]
xor edx, ebp
mov ebp, esi
shr ebp, 8
shr esi, 0x18
and ebp, 0xff
xor eax, dword [ebp*4 + 0x213f898]
mov ebp, dword [esp + 0x28]
xor eax, dword [esi*4 + 0x2140098]
mov esi, edi
xor ebp, eax
mov eax, edi
shr eax, 0x10
and eax, 0xff
mov eax, dword [eax*4 + 0x213fc98]
shr esi, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x213f898]
shr edi, 0x18
xor eax, dword [edi*4 + 0x2140098]
mov esi, ebx
xor dword [esp + 0x18], eax
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov eax, dword [eax*4 + 0x213fc98]
shr esi, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x213f898]
shr ebx, 0x18
xor eax, dword [ebx*4 + 0x2140098]
xor dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov esi, eax
mov ebx, dword [esp + 0x18]
shr esi, 0x10
and esi, 0xff
mov esi, dword [esi*4 + 0x213fc98]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [edi*4 + 0x213f898]
shr eax, 0x18
xor esi, dword [eax*4 + 0x2140098]
xor dword [esp + 0x14], esi
sub dword [esp + 0x1c], 1
jne 0x10026f00
mov edi, dword [esp + 0x34]
mov eax, dword [ecx]
xor eax, edx
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
mov eax, dword [ecx + 4]
xor eax, edx
xor eax, ebp
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
mov eax, dword [ecx + 8]
xor eax, edx
xor eax, ebx
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
shr eax, 8
and edx, 0xff
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
mov eax, dword [ecx + 0xc]
xor eax, edx
xor eax, dword [esp + 0x10]
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
mov eax, dword [ecx + 0x10]
xor eax, edx
xor eax, dword [esp + 0x14]
pop ebp
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
mov edx, eax
and edx, 0xff
shr eax, 8
xor eax, dword [edx*4 + 0x213ec98]
add ecx, 0x14
mov esi, eax
cmp edi, 8
jb 0x10027306
mov edx, edi
shr edx, 3
lea esp, [esp]
movzx ebx, byte [ecx]
xor ebx, esi
mov eax, esi
movzx esi, byte [ecx + 1]
shr eax, 8
inc ecx
and ebx, 0xff
xor eax, dword [ebx*4 + 0x213ec98]
inc ecx
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x213ec98]
movzx esi, byte [ecx]
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x213ec98]
movzx esi, byte [ecx + 1]
xor esi, eax
inc ecx
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x213ec98]
movzx esi, byte [ecx + 1]
xor esi, eax
inc ecx
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x213ec98]
movzx esi, byte [ecx + 1]
xor esi, eax
inc ecx
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x213ec98]
movzx esi, byte [ecx + 1]
inc ecx
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x213ec98]
movzx esi, byte [ecx + 1]
inc ecx
xor esi, eax
and esi, 0xff
shr eax, 8
xor eax, dword [esi*4 + 0x213ec98]
sub edi, 8
inc ecx
sub edx, 1
mov esi, eax
jne 0x10027240
pop ebx
test edi, edi
je 0x1002732a
jmp 0x10027310
movzx eax, byte [ecx]
xor eax, esi
and eax, 0xff
shr esi, 8
xor esi, dword [eax*4 + 0x213ec98]
dec edi
inc ecx
test edi, edi
jne 0x10027310
mov eax, esi
pop edi
not eax
pop esi
add esp, 0x20
ret