Function at 0x10068b90
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push edi
mov edi, ecx
mov ebx, 8
mov dword [ebp - 0x18], edi
push esi
mov eax, dword [edi + 0xdc]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0xe0]
mov dword [ebp - 0xc], eax
mov eax, 0xffff
nop dword [eax]
mov ecx, dword [edi + 0xac]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068bc0
mov ebx, 2
nop
mov ecx, dword [edi + 0xb0]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068bf0
mov ebx, 1
nop
mov ecx, dword [edi + 0xb8]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068c20
mov ebx, 1
nop
mov ecx, dword [edi + 0xc8]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068c50
mov ebx, 2
nop
mov ecx, dword [edi + 0xbc]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068c80
mov ebx, 2
nop
mov ecx, dword [edi + 0xc0]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068cb0
mov ebx, 1
nop
mov ecx, dword [edi + 0xcc]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068ce0
mov ebx, 1
nop
mov ecx, dword [edi + 0xd0]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068d10
mov ebx, 2
nop
mov ecx, dword [edi + 0xd4]
lea esi, [eax + eax]
mov edx, eax
and ecx, ebx
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr ebx, 1
jne 0x10068d40
mov esi, dword [ebp - 8]
lea ebx, [edi + 0x5c80]
mov edi, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ebx
mov edi, edi
cmp edx, edi
mov ecx, 1
cmovl ecx, esi
mov dword [ebp - 4], ecx
test ecx, ecx
jle 0x10068dd1
mov edi, 8
mov ecx, dword [ebx]
lea esi, [eax + eax]
mov edx, eax
and ecx, edi
shr edx, 0xf
mov eax, esi
not edx
and edx, 1
neg ecx
sbb ecx, ecx
xor eax, 0x8005
inc ecx
cmp ecx, edx
cmove eax, esi
shr edi, 1
jne 0x10068d96
sub ebx, 0xffffff80
sub dword [ebp - 4], 1
jne 0x10068d91
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
inc edx
add ebx, 4
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ebx
cmp edx, 0x20
jl 0x10068d80
mov ebx, dword [ebp - 0x18]
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 0x10068e39
nop dword [eax]
mov edx, dword [ebx + 0xec]
lea ecx, [eax - 8]
mov eax, dword [ebx + 0x4c]
shr edx, cl
mov dword [ebx + 0xe4], ecx
mov byte [ebx + eax + 0x4100], dl
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0xe4]
cmp eax, 8
jge 0x10068e10
pop edi
pop ebx
mov esp, ebp
pop ebp
ret