Function at 0x10135220
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x24
mov eax, dword [0x1032e6c0]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push ebp
mov ebp, dword [esp + 0x30]
xor ebx, ebx
push esi
push edi
xorps xmm0, xmm0
mov dword [esp + 0x1c], ebp
mov eax, dword [ebp + 8]
and eax, 1
movq qword [esp + 0x24], xmm0
mov dword [esp + 0x2c], 0
lea edi, [eax*8 + 0x203]
mov dword [esp + 0x20], edi
jne 0x101352d4
cmp dword [ebp + 0x1c], ebx
jle 0x101352d4
push ebx
push ebp
call fcn.1014a390
add esp, 8
test eax, eax
je 0x101352d4
mov ecx, dword [ebp + 0x1c]
lea edi, [ebx + 1]
xor eax, eax
mov dword [esp + 0x10], ecx
cmp ecx, edi
jle 0x101352c6
mov ebx, dword [ebp + 0x20]
xor ebp, ebp
mov eax, edi
mov ecx, ebp
add eax, eax
add ecx, ecx
movsx eax, word [ebx + eax*8]
sub eax, 0x10
cdq
mov esi, eax
movsx eax, word [ebx + ecx*8]
xor esi, edx
sub eax, 0x10
sub esi, edx
mov ecx, edi
cdq
xor eax, edx
sub eax, edx
cmp esi, eax
cmovge ecx, ebp
inc edi
mov ebp, ecx
cmp edi, dword [esp + 0x10]
jl 0x10135288
mov dword [esp + 0x10], ebp
xor ebx, ebx
mov ebp, dword [esp + 0x1c]
mov eax, ecx
push eax
push ebp
call fcn.1014d9e0
mov edi, dword [esp + 0x28]
add esp, 8
mov esi, str.cinubmysthin
nop dword [eax]
push dword [esi]
push ebp
call fcn.1014d8d0
add esp, 8
test eax, eax
je 0x10135312
add esi, 4
cmp esi, 0x102b26a4
jl 0x101352e0
pop edi
pop esi
pop ebp
mov eax, 0x64
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.1026465b
add esp, 0x24
ret
lea eax, [esp + 0x18]
push eax
push ebp
call fcn.10149dd0
mov ecx, dword [esp + 0x20]
add esp, 8
mov esi, eax
mov dword [esp + 0x10], esi
test ecx, ecx
je 0x101352fa
nop
cmp ebx, 3
jae 0x101353d7
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push edi
push ecx
push ebp
call fcn.10149b10
add esp, 0x10
test eax, eax
jne 0x101353b6
mov eax, dword [esp + 0x14]
test eax, eax
je 0x101353b6
xor ecx, ecx
test ebx, ebx
je 0x101353ad
cdq
mov ebp, eax
xor ebp, edx
sub ebp, edx
nop word [eax + eax]
mov esi, dword [esp + ecx*4 + 0x24]
mov eax, esi
cdq
mov edi, eax
mov eax, dword [esp + 0x14]
xor edi, edx
sub eax, esi
sub edi, edx
cdq
xor eax, edx
sub eax, edx
mov edx, eax
shl edx, 5
add edx, eax
cmp ebp, edi
cmovge edi, ebp
cmp edx, edi
jle 0x1013539d
inc ecx
cmp ecx, ebx
jb 0x10135370
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
cmp ecx, ebx
jne 0x101353b6
mov dword [esp + ebx*4 + 0x24], eax
inc ebx
lea eax, [esp + 0x18]
push eax
push esi
push ebp
call fcn.1014a130
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x10], eax
mov esi, eax
test ecx, ecx
jne 0x10135330
cmp ebx, 1
jbe 0x101352fa
cmp ebx, 2
jne 0x1013543f
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
cmp eax, ebx
mov ecx, ebx
cmovge ecx, eax
cmovle ebx, eax
mov eax, ecx
add ebx, ebx
cdq
mov edi, eax
mov eax, ebx
xor edi, edx
sub ebx, ecx
sub edi, edx
cdq
mov esi, eax
mov eax, ebx
xor esi, edx
sub esi, edx
cdq
xor eax, edx
sub eax, edx
mov edx, 0x5a
mov ecx, eax
shl ecx, 5
add ecx, eax
cmp esi, edi
cmovge edi, esi
xor eax, eax
cmp ecx, edi
pop edi
pop esi
pop ebp
cmovle eax, edx
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.1026465b
add esp, 0x24
ret
mov ecx, dword [esp + 0x30]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1026465b
add esp, 0x24
ret