Function at 0x100010e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
movq xmm0, qword [0x1000c144]
lea ecx, [ebp - 0x13]
mov eax, dword [ebp + 0xc]
push ebx
push esi
movq qword [ebp - 0x14], xmm0
mov esi, 7
mov bl, byte [ebp - 0x14]
mov dword [ebp - 0x1c], 0
mov bh, bl
mov dx, word [ebp - 0x1c]
push edi
mov dword [ebp - 0x30], eax
mov edi, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
xor bh, al
movzx eax, al
add dx, ax
dec esi
jne 0x10001120
xor ecx, ecx
movzx eax, bl
test dx, dx
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp + 8]
mov si, cx
cmove eax, ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x14], al
and bh, 0x7f
lea eax, [ebp - 0x14]
mov dword [ebp - 0x1c], 1
sub eax, edx
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x28], eax
xor bl, bl
lea eax, [ebp - 0xc]
mov di, cx
sub eax, edx
mov dword [ebp - 0x20], eax
mov cl, byte [edx]
lea edx, [edx + 1]
movzx eax, cl
xor bl, cl
add di, ax
mov eax, dword [ebp - 0x28]
mov al, byte [eax + edx - 1]
xor al, cl
mov ecx, dword [ebp - 0x20]
mov byte [ecx + edx - 1], al
movzx eax, al
add si, ax
dec dword [ebp - 0x18]
jne 0x10001170
test di, di
lea ecx, [ebp - 0xc]
mov eax, 0x1000c130
cmovne eax, ecx
mov dword [ebp - 0x38], eax
test si, si
jne 0x100011b8
movq xmm0, qword [ebp - 0x14]
movq qword [ebp - 0xc], xmm0
movzx ecx, bh
movzx eax, bl
add eax, ecx
cmp eax, 0x20
jge 0x100011c8
add bl, 0x20
movzx eax, bl
mov bl, byte [ebp - 0xa]
dec eax
add eax, ecx
mov dword [ebp - 0x18], 0x17e
mov dword [ebp - 0x34], eax
xor edi, edi
lea ecx, [ecx]
movzx edx, byte [ebp - 0xb]
movzx eax, byte [ebp - 0xc]
add eax, edx
and eax, 0x800000ff
jns 0x100011f8
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov ecx, eax
add eax, eax
shr ecx, 7
or ecx, eax
and ecx, 0x800000ff
jns 0x10001214
dec ecx
or ecx, 0xffffff00
inc ecx
xor cl, bl
mov dword [ebp - 0x20], ecx
movzx ecx, cl
lea eax, [ecx + edx]
and eax, 0x800000ff
jns 0x1000122d
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov edx, eax
shl eax, 2
shr edx, 6
or edx, eax
and edx, 0x800000ff
jns 0x1000124a
dec edx
or edx, 0xffffff00
inc edx
xor dl, byte [ebp - 9]
movzx esi, dl
mov dword [ebp - 0x28], edx
lea eax, [esi + ecx]
and eax, 0x800000ff
jns 0x10001264
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov ecx, eax
shl eax, 5
shr ecx, 3
or ecx, eax
and ecx, 0x800000ff
jns 0x10001281
dec ecx
or ecx, 0xffffff00
inc ecx
xor cl, byte [ebp - 8]
movzx edx, cl
mov dword [ebp - 0x2c], ecx
lea eax, [edx + esi]
and eax, 0x800000ff
jns 0x1000129b
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov ecx, eax
shl eax, 7
shr ecx, 1
or ecx, eax
and ecx, 0x800000ff
jns 0x100012b7
dec ecx
or ecx, 0xffffff00
inc ecx
xor cl, byte [ebp - 7]
mov dword [ebp - 0x24], ecx
movzx ecx, cl
lea eax, [ecx + edx]
and eax, 0x800000ff
jns 0x100012d1
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov edx, eax
shl eax, 3
shr edx, 5
or edx, eax
and edx, 0x800000ff
jns 0x100012ee
dec edx
or edx, 0xffffff00
inc edx
xor dl, byte [ebp - 6]
mov dword [ebp - 0x3c], edx
movzx edx, dl
lea eax, [edx + ecx]
and eax, 0x800000ff
jns 0x10001308
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov ebx, eax
shl eax, 6
shr ebx, 2
or ebx, eax
and ebx, 0x800000ff
jns 0x10001325
dec ebx
or ebx, 0xffffff00
inc ebx
xor bl, byte [ebp - 5]
movzx eax, bl
add eax, edx
and eax, 0x800000ff
jns 0x1000133b
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov ecx, eax
shl eax, 4
shr ecx, 4
or ecx, eax
and ecx, 0x800000ff
jns 0x10001358
dec ecx
or ecx, 0xffffff00
inc ecx
xor cl, byte [ebp - 0xc]
movzx eax, cl
add eax, esi
and eax, 0x800000ff
jns 0x1000136e
dec eax
or eax, 0xffffff00
inc eax
movzx eax, al
mov edx, eax
shl eax, 3
shr edx, 5
or edx, eax
and edx, 0x800000ff
jns 0x1000138b
dec edx
or edx, 0xffffff00
inc edx
mov al, byte [ebp - 0x20]
xor dl, byte [ebp - 0xb]
mov byte [ebp - 9], al
mov al, byte [ebp - 0x28]
mov byte [ebp - 8], al
mov al, byte [ebp - 0x2c]
mov byte [ebp - 7], al
mov al, byte [ebp - 0x24]
mov byte [ebp - 6], al
mov al, byte [ebp - 0x3c]
mov dword [ebp - 0x10], edx
mov byte [ebp - 0xc], bl
mov byte [ebp - 0xb], cl
mov byte [ebp - 0xa], dl
mov byte [ebp - 5], al
cmp edi, dword [ebp - 0x34]
jne 0x100013e3
mov esi, dword [ebp - 0x38]
mov edx, 8
mov eax, dword [ebp - 0x30]
sub esi, eax
lea ebx, [ebx]
mov cl, byte [esi + eax]
lea eax, [eax + 1]
mov byte [eax - 1], cl
dec edx
jne 0x100013d0
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x100013e6
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x10]
inc edi
dec dword [ebp - 0x18]
jne 0x100011e0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000151c
mov esp, ebp
pop ebp
ret