Function at 0x64261286
Capabilities:
Encode data using xor

Disassembly:
push ecx
cmp dword [0x648b00ac], 0
push ebx
push esi
mov dword [esp + 8], edx
mov esi, ecx
jne 0x642612ab
call fcn.64261070
mov edx, dword [esp + 8]
mov dword [0x648b00ac], 1
mov ebx, dword [esp + 0x10]
mov eax, ebx
sub eax, 0x80
je 0x642612d5
sub eax, 0x40
je 0x642612ce
sub eax, 0x40
je 0x642612ca
push 0xffffffffffffffe0
pop eax
jmp 0x642614fd
push 0xe
jmp 0x642612d0
push 0xc
pop eax
mov dword [esi], eax
jmp 0x642612de
push 0xa
mov dword [esi], 0xa
pop eax
push ebp
push edi
shr ebx, 5
lea edi, [esi + 8]
xor ebp, ebp
mov dword [esi + 4], edi
test ebx, ebx
je 0x6426131f
add edx, 2
movzx ecx, byte [edx + 1]
movzx eax, byte [edx]
lea edx, [edx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx - 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx - 6]
shl ecx, 8
or ecx, eax
mov dword [edi + ebp*4], ecx
inc ebp
cmp ebp, ebx
jb 0x642612f2
mov eax, dword [esi]
xor ebp, ebp
sub eax, 0xa
je 0x6426148b
dec eax
sub eax, 1
je 0x6426140b
dec eax
sub eax, 1
jne 0x642614f9
mov ecx, dword [edi]
add edi, 0x1f
mov ebx, dword [edi - 3]
movzx eax, bl
mov edx, dword [edi - 0x13]
movzx esi, byte [eax + 0x648b0340]
movzx eax, byte [edi]
lea edi, [edi + 0x20]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
movzx eax, byte [edi - 0x21]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
movzx eax, byte [edi - 0x22]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
mov eax, dword [edi - 0x3b]
xor esi, dword [ebp + 0x648b0940]
add ebp, 4
xor esi, ecx
mov ecx, dword [edi - 0x37]
xor eax, esi
mov dword [edi - 0x1f], esi
xor ecx, eax
mov dword [edi - 0x1b], eax
xor edx, ecx
mov dword [edi - 0x17], ecx
mov dword [edi - 0x13], edx
movzx eax, byte [edi - 0x10]
movzx ecx, byte [eax + 0x648b0340]
movzx eax, byte [edi - 0x11]
shl ecx, 8
movzx eax, byte [eax + 0x648b0340]
xor ecx, eax
movzx eax, byte [edi - 0x12]
shl ecx, 8
movzx eax, byte [eax + 0x648b0340]
xor ecx, eax
movzx eax, dl
shl ecx, 8
movzx eax, byte [eax + 0x648b0340]
xor ecx, eax
mov eax, dword [edi - 0x2b]
xor ecx, dword [edi - 0x2f]
xor eax, ecx
mov dword [edi - 0xf], ecx
mov ecx, dword [edi - 0x27]
xor ecx, eax
mov dword [edi - 0xb], eax
xor ebx, ecx
mov dword [edi - 7], ecx
mov dword [edi - 3], ebx
mov ecx, esi
cmp ebp, 0x1c
jb 0x64261341
jmp 0x642614f9
mov ecx, dword [edi]
add edi, 0x17
mov edx, dword [edi - 3]
movzx eax, dl
movzx esi, byte [eax + 0x648b0340]
movzx eax, byte [edi]
lea edi, [edi + 0x18]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
movzx eax, byte [edi - 0x19]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
movzx eax, byte [edi - 0x1a]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
mov eax, dword [edi - 0x2b]
xor esi, dword [ebp + 0x648b0940]
add ebp, 4
xor esi, ecx
mov ecx, dword [edi - 0x27]
xor eax, esi
mov dword [edi - 0x17], esi
xor ecx, eax
mov dword [edi - 0x13], eax
mov eax, dword [edi - 0x23]
xor eax, ecx
mov dword [edi - 0xf], ecx
mov ecx, dword [edi - 0x1f]
xor ecx, eax
mov dword [edi - 0xb], eax
xor edx, ecx
mov dword [edi - 7], ecx
mov dword [edi - 3], edx
mov ecx, esi
cmp ebp, 0x20
jb 0x64261410
jmp 0x642614f9
mov ecx, dword [edi]
add edi, 0xf
mov edx, dword [edi - 3]
movzx eax, dl
movzx esi, byte [eax + 0x648b0340]
movzx eax, byte [edi]
lea edi, [edi + 0x10]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
movzx eax, byte [edi - 0x11]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
movzx eax, byte [edi - 0x12]
shl esi, 8
movzx eax, byte [eax + 0x648b0340]
xor esi, eax
mov eax, dword [edi - 0x1b]
xor esi, dword [ebp + 0x648b0940]
add ebp, 4
xor esi, ecx
mov ecx, dword [edi - 0x17]
xor eax, esi
mov dword [edi - 0xf], esi
xor ecx, eax
mov dword [edi - 0xb], eax
xor edx, ecx
mov dword [edi - 7], ecx
mov dword [edi - 3], edx
mov ecx, esi
cmp ebp, 0x28
jb 0x64261490
pop edi
xor eax, eax
pop ebp
pop esi
pop ebx
pop ecx
ret