Function at 0x10068e50
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ecx + 0xdc]
push ebx
mov ebx, dword [ecx + 0xac]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x14110]
push edi
mov dword [ebp - 0xc], eax
mov edi, 8
mov dword [ebp - 4], ecx
mov eax, 0xffff
push esi
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068e80
mov ebx, dword [ebp - 4]
mov edi, 2
mov ebx, dword [ebx + 0xb0]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068eb4
mov ecx, dword [ebp - 4]
mov edi, 1
mov ebx, dword [ecx + 0xb8]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068ee8
mov ecx, dword [ebp - 4]
mov edi, 1
mov ebx, dword [ecx + 0xc8]
nop dword [eax]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068f20
mov ecx, dword [ebp - 4]
mov edi, 2
mov ebx, dword [ecx + 0xbc]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068f54
mov ecx, dword [ebp - 4]
mov edi, 2
mov ebx, dword [ecx + 0xc0]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068f88
mov ecx, dword [ebp - 4]
mov edi, 1
mov ebx, dword [ecx + 0xcc]
nop dword [eax]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068fc0
mov ecx, dword [ebp - 4]
mov edi, 1
mov ebx, dword [ecx + 0xd0]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068ff4
mov ecx, dword [ebp - 4]
mov edi, 2
mov ebx, dword [ecx + 0xd4]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10069028
xor ebx, ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0xc], ebx
jle 0x100691b7
mov ecx, dword [ebp - 4]
xor esi, esi
mov dword [ebp - 0x1c], esi
lea edi, [ecx + 0x8380]
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edi
cmp ebx, dword [ecx + 0xe0]
mov edx, 1
cmovl edx, dword [ecx + 0xdc]
mov dword [ebp - 0x14], edx
test edx, edx
jle 0x100690f9
mov ecx, dword [ecx + 0x14114]
mov ebx, 1
mov dword [ebp - 0x10], edi
mov cl, byte [esi + ecx + 4]
shl ebx, cl
mov ecx, edi
shr ebx, 1
mov dword [ebp - 0x28], ebx
mov edi, ebx
test edi, edi
je 0x100690df
mov ebx, dword [ecx]
nop dword [eax]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x100690b0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
sub ecx, 0xffffff80
sub edx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edx
jne 0x100690a4
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
inc ebx
sub esi, 0xffffff80
add edi, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edi
cmp ebx, dword [ecx + 0x14110]
jl 0x10069070
mov edx, dword [ebp - 8]
add ecx, 0x8480
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
test esi, esi
jle 0x1006919f
mov edx, ecx
mov dword [ebp - 0x18], esi
mov ecx, dword [ebp - 8]
mov ebx, esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], ecx
nop dword [eax + eax]
cmp dword [ecx], 0
je 0x1006917f
mov ebx, dword [edx]
mov edi, 2
nop dword [eax]
mov edx, eax
lea esi, [eax + eax]
shr edx, 0xf
mov ecx, ebx
and ecx, edi
not edx
and edx, 1
mov eax, esi
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10069150
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
sub ecx, 0xffffff80
sub edx, 0xffffff80
sub ebx, 1
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ebx
jne 0x10069140
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x24]
add ecx, 4
add edx, 4
sub ebx, 1
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], ebx
jne 0x10069127
mov ebx, dword [ebp - 4]
movzx eax, ax
pop esi
mov ecx, dword [ebx + 0xec]
shl ecx, 0x10
or ecx, eax
mov eax, dword [ebx + 0xe4]
add eax, 0x10
mov dword [ebx + 0xec], ecx
mov dword [ebx + 0xe4], eax
cmp eax, 8
jl 0x1006920c
mov edx, dword [ebx + 0xec]
lea ecx, [eax - 8]
mov eax, dword [ebx + 0x4c]
shr edx, cl
mov dword [ebx + 0xe4], ecx
mov byte [eax + ebx + 0x4100], dl
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0xe4]
cmp eax, 8
jge 0x100691e3
pop edi
pop ebx
mov esp, ebp
pop ebp
ret