Function at 0x67af68
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffebc
push ebx
push esi
push edi
mov esi, eax
lea edi, [ebp - 0x44]
push ecx
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
call fcn.0067ae0c
mov edx, dword [ebp - 0xc]
mov dword [ebp + edx*4 - 0x144], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x10
jne 0x67af8d
mov dword [ebp - 0xc], 0x10
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x180]
mov dl, 7
call fcn.0067add8
mov ebx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x180]
mov dl, 0x12
call fcn.0067add8
xor ebx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x180]
shr eax, 3
xor ebx, eax
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x14c]
mov dl, 0x11
call fcn.0067add8
mov ebx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x14c]
mov dl, 0x13
call fcn.0067add8
xor ebx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x14c]
shr eax, 0xa
xor ebx, eax
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x184]
add eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add eax, dword [ebp + edx*4 - 0x160]
add eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov dword [ebp + edx*4 - 0x144], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x40
jne 0x67afb5
xor eax, eax
mov dword [ebp - 0xc], eax
mov dl, 2
mov eax, dword [ebp - 0x44]
call fcn.0067add8
mov ebx, eax
mov dl, 0xd
mov eax, dword [ebp - 0x44]
call fcn.0067add8
xor ebx, eax
mov dl, 0x16
mov eax, dword [ebp - 0x44]
call fcn.0067add8
xor ebx, eax
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x44]
and eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
and edx, dword [ebp - 0x3c]
xor eax, edx
mov edx, dword [ebp - 0x40]
and edx, dword [ebp - 0x3c]
xor eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov dl, 6
mov eax, dword [ebp - 0x34]
call fcn.0067add8
mov ebx, eax
mov dl, 0xb
mov eax, dword [ebp - 0x34]
call fcn.0067add8
xor ebx, eax
mov dl, 0x19
mov eax, dword [ebp - 0x34]
call fcn.0067add8
xor ebx, eax
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x34]
and eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
not edx
and edx, dword [ebp - 0x2c]
xor eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0xc]
add eax, dword [edx*4 + 0x697328]
mov edx, dword [ebp - 0xc]
add eax, dword [ebp + edx*4 - 0x144]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x40
jne 0x67b05b
mov eax, dword [ebp - 8]
mov edi, eax
lea esi, [ebp - 0x44]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret