Function at 0x10006568
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x30
mov ecx, dword [0x1008fa30]
push ebx
push ebp
mov edx, dword [0x1008fa38]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], eax
mov eax, ecx
imul eax, eax, 3
push esi
push edi
mov esi, dword [0x1008fa34]
push 3
pop ebp
sub ebp, eax
mov dword [esp + 0x18], eax
mov eax, dword [0x1008fa3c]
imul ebp, eax
sub ebp, 3
imul ebp, ecx
lea ebx, [edx + 2]
mov dword [esp + 0x10], ebx
imul ebx, ebx, 3
sub ebp, ebx
mov edi, esi
imul edi, ecx
mov ecx, dword [0x1008fa40]
imul ebp, ecx
mov ebx, eax
imul ebx, edx
lea ebx, [edi + ebx*2]
imul ebx, ebx, 3
sub ebp, ebx
mov ebx, dword [esp + 0x44]
add ebp, ebx
mov dword [esp + 0x28], ebp
add edi, ecx
imul edi, dword [0x1008fa30]
mov ebx, ecx
imul ebx, ecx
mov ebp, edx
imul ebp, edx
add ebx, ebp
mov dword [esp + 0x2c], edi
imul ebx, esi
mov ebp, esi
sub ebp, eax
mov edi, ecx
imul edi, edx
inc ebp
imul ebp, eax
sub ebp, ebx
mov ebx, dword [esp + 0x44]
lea ebp, [ebp + edi*2]
mov dword [esp + 0x1c], edi
mov edi, dword [0x1008fa30]
sub ebp, edi
lea ebp, [ebx + ebp*2]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x10]
imul ebp, eax
add ebp, 3
imul ebp, edi
sub ebp, eax
lea edi, [eax + eax]
sub edi, esi
add edi, edx
add ebp, ecx
imul edi, edi, 5
imul ebp, ebp, 5
add ebp, ebx
sub edi, 5
imul edi, esi
mov ebx, edx
sub ebx, esi
imul ebx, ecx
add edi, ebp
imul ebx, ebx, 3
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x34], edi
lea edi, [edx + edx]
sub edi, dword [0x1008fa30]
add ebp, 3
imul ebp, eax
imul edi, edi, 3
sub ebx, ebp
imul ebx, esi
add ebx, dword [esp + 0x44]
push 5
add edi, ebx
mov dword [esp + 0x1c], edi
mov edi, eax
imul edi, esi
imul edi, edi, 5
pop ebx
sub ebx, edi
mov edi, dword [0x1008fa30]
imul ebx, edx
imul edi, edi, 5
sub ebx, edi
add ebx, 5
imul ebx, ecx
mov edi, edx
imul edi, edi, 5
push 5
pop ebp
sub ebp, edi
mov edi, dword [0x1008fa30]
imul ebp, eax
add ebp, dword [esp + 0x44]
lea edi, [edi + esi*2]
add ebp, ebx
mov ebx, dword [esp + 0x10]
add edi, edx
imul ebx, esi
imul edi, edi, 5
add edi, ebp
xor ebp, ebp
inc ebp
mov dword [esp + 0x38], edi
mov edi, dword [0x1008fa30]
sub ebp, edi
sub ebp, ecx
imul ebp, ecx
sub ebp, ebx
lea ebx, [eax + eax + 2]
imul ebx, eax
imul ebx, ecx
sub ebp, edx
imul ebp, edi
lea ebp, [ebx + ebp*2]
lea ebx, [edx + edx]
sub ebp, ebx
mov ebx, dword [esp + 0x44]
add ebp, ebx
mov ebx, ecx
sub ebx, eax
imul ebx, esi
lea ebx, [ebx*4 - 4]
imul ebx, edx
mov dword [esp + 0x3c], ebx
mov ebx, edi
imul ebx, ecx
inc ebx
imul ebx, edi
mov dword [esp + 0x10], ebp
imul ebx, edx
mov ebp, esi
imul ebp, esi
add ebx, eax
imul eax, ecx
add ebp, ebx
add ebp, ecx
imul ebp, edi
mov edi, dword [esp + 0x1c]
add edi, 2
imul edi, esi
sub edi, ebp
sub edi, eax
mov eax, dword [esp + 0x48]
add edi, edx
imul edi, edi, 3
mov esi, dword [esp + 0x20]
lea ebx, [edi + eax]
mov edi, esi
xor edx, edx
push 0x60
lea eax, [esi + 1]
pop esi
div esi
mov eax, dword [esp + 0x28]
push 0x60
mov ebp, dword [esp + 0x38]
mov esi, edx
movzx eax, byte [eax + esi]
add eax, edi
xor edx, edx
pop edi
div edi
mov eax, esi
sub eax, dword [esp + 0x2c]
push 0x60
sub eax, ecx
mov edi, edx
mov edx, dword [esp + 0x48]
mov al, byte [eax + edx]
mov edx, dword [esp + 0x34]
mov dl, byte [edx + edi]
mov byte [esi + ebp], dl
mov edx, dword [esp + 0x1c]
mov byte [edx + edi], al
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi]
mov edx, dword [esp + 0x3c]
movzx edx, byte [edi + edx]
add eax, edx
xor edx, edx
pop ebp
div ebp
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x14]
add edx, dword [esp + 0x3c]
mov al, byte [edx + eax]
xor byte [ebx + ebp], al
inc ebp
mov dword [esp + 0x14], ebp
cmp ebp, 0x24e00
jb 0x1000674d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret