Function at 0x101330b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
sub esp, 0x18
xor ecx, ecx
mov eax, 0x11c29420
push ebx
push esi
push edi
cmp dword [eax], edx
je 0x101330dd
add eax, 0x28
inc ecx
cmp eax, 0x11c29a88
jl 0x101330c3
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
lea edx, [ecx + ecx*4]
mov ecx, dword [edx*8 + 0x11c29440]
inc dword [edx*8 + 0x11c29434]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx*8 + 0x11c29430]
mov edx, dword [edx*8 + 0x11c29444]
mov dword [ebp - 4], edx
mov dword [eax], ecx
mov eax, 0xffff
mov word [ebp + 0xe], ax
mov eax, dword [edx]
add eax, 0xc4
lea ecx, [edx + eax*2]
mov dword [ebp + 0x10], ecx
mov ecx, dword [ecx]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x101331e9
lea ebx, [eax*2 - 4]
mov eax, ecx
lea edi, [edx + 4]
and eax, 0x400
xor edx, edx
mov esi, edi
add eax, 0xfffffc00
mov eax, dword [ebp + 8]
adc edx, edx
shr ecx, 5
and ecx, 0x1f
call fcn.10451660
mov dword [ebp - 0x14], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x10133173
shr edx, 1
or dl, al
xor byte [edi], dl
lea edi, [edi + 1]
mov dl, byte [edi - 1]
sub ecx, 1
jne 0x10133166
mov eax, dword [ebp + 8]
xor edx, edx
and eax, 0x800
add eax, 0xfffff800
mov eax, dword [ebp + 8]
movzx ecx, al
adc edx, edx
and ecx, 0x1f
call fcn.10451660
mov edi, edx
mov dword [ebp - 0x18], eax
mov edx, ebx
mov dword [ebp - 0x14], edi
shr edx, 1
mov ecx, esi
je 0x101331bf
shr edi, 1
or di, ax
movzx eax, di
nop word [eax + eax]
xor word [ecx], ax
lea ecx, [ecx + 2]
movzx eax, word [ecx - 2]
sub edx, 1
jne 0x101331b0
shr ebx, 2
test ebx, ebx
je 0x101331dd
mov eax, dword [ebp + 8]
nop dword [eax]
xor dword [esi], eax
lea esi, [esi + 4]
mov eax, dword [esi - 4]
sub ebx, 1
jne 0x101331d0
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 4]
mov dword [eax], 0
mov eax, edx
mov eax, dword [eax + 4]
mov ecx, dword [edx + eax]
lea eax, [edx + 8]
mov edx, eax
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], edx
xor eax, eax
mov word [ebp + 8], ax
mov ax, word [ebp + 8]
movzx esi, word [edx]
mov word [ebp + 0xc], ax
mov eax, dword [ebp + 0xc]
add eax, 0x8000
mov dword [ebp + 0xc], eax
shr eax, 0x10
cmp si, ax
je 0x10133343
mov eax, 0xfffe
nop dword [eax]
cmp si, ax
jne 0x10133242
add ecx, dword [edx + 2]
mov eax, 6
jmp 0x10133327
movzx eax, si
cmp eax, 5
jbe 0x1013330b
mov edx, dword [ecx]
lea ebx, [eax - 4]
mov eax, edx
mov dword [ebp + 8], edx
and eax, 0x400
lea edi, [ecx + 4]
xor edx, edx
mov esi, edi
add eax, 0xfffffc00
mov eax, dword [ebp + 8]
mov ecx, eax
adc edx, edx
shr ecx, 5
and ecx, 0x1f
call fcn.10451660
mov dword [ebp - 0x14], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x1013329d
shr edx, 1
or dl, al
nop dword [eax + eax]
xor byte [edi], dl
lea edi, [edi + 1]
mov dl, byte [edi - 1]
sub ecx, 1
jne 0x10133290
mov eax, dword [ebp + 8]
xor edx, edx
and eax, 0x800
add eax, 0xfffff800
mov eax, dword [ebp + 8]
movzx ecx, al
adc edx, edx
and ecx, 0x1f
call fcn.10451660
mov edi, edx
mov dword [ebp - 0x18], eax
mov edx, ebx
mov dword [ebp - 0x14], edi
shr edx, 1
mov ecx, esi
je 0x101332e3
shr edi, 1
or di, ax
movzx eax, di
xor word [ecx], ax
lea ecx, [ecx + 2]
movzx eax, word [ecx - 2]
sub edx, 1
jne 0x101332d4
shr ebx, 2
test ebx, ebx
je 0x101332fd
mov eax, dword [ebp + 8]
nop dword [eax]
xor dword [esi], eax
lea esi, [esi + 4]
mov eax, dword [esi - 4]
sub ebx, 1
jne 0x101332f0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 4]
xor dword [ecx], 0x4e555244
jmp 0x1013331a
test eax, eax
je 0x1013331a
nop
xor byte [eax + ecx - 1], 0xaa
dec eax
test eax, eax
jne 0x10133310
movzx eax, word [edx]
add eax, 4
add ecx, eax
mov eax, 2
add edx, eax
mov dword [ebp + 0x10], ecx
mov dword [ebp - 4], edx
movzx eax, word [edx]
cmp ax, word [ebp + 0xe]
mov esi, eax
mov eax, 0xfffe
jne 0x10133230
mov eax, dword [ebp - 0xc]
mov ecx, 0xffff
pop edi
pop esi
pop ebx
mov word [eax], cx
mov al, 1
mov esp, ebp
pop ebp
ret 0xc