Function at 0x64288c2a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x68
push ebx
push ebp
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], 0xd51c8064
push esi
mov dword [esp + 0x64], 0xaff13993
mov edx, 0x8ac52916
mov dword [esp + 0x68], 0xd515a23f
xor esi, esi
mov dword [esp + 0x6c], 0x8afbd53
mov dword [esp + 0x70], 0x535c3aeb
mov dword [esp + 0xc], eax
push edi
mov dword [esp + 0x14], eax
mov ecx, edx
shr ecx, 7
xor ecx, edx
mov eax, ecx
shl eax, 9
xor ecx, eax
mov eax, dword [esp + 0x10]
mov edx, ecx
shr edx, 0xd
xor edx, ecx
mov ecx, dword [eax + esi]
not edx
mov eax, dword [esp + 0x14]
xor ecx, edx
mov dword [eax + esi], ecx
add esi, 4
cmp esi, 0x14
jb 0x64288c72
push 0xc
pop ebx
lea eax, [esp + 0x30]
mov dword [esp + 0x30], 0xf71204f8
mov dword [esp + 0x34], 0x912a5f10
mov edx, 0xb47e70aa
mov dword [esp + 0x38], 0x9c1333ab
xor esi, esi
mov word [esp + 0x3c], 0xf1dc
push 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
pop edi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi]
mov eax, dword [esp + 0x10]
xor ecx, edx
imul edx, edx, 0x343fd
mov dword [eax + esi], ecx
add esi, edi
add edx, 0x269ec3
ror edx, 1
cmp esi, ebx
jb 0x64288cd9
lea eax, [esp + 0x30]
mov esi, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi]
mov eax, dword [esp + 0x10]
xor cl, dl
shr edx, 8
mov byte [eax + esi], cl
inc esi
cmp esi, 0xe
jb 0x64288d0b
movaps xmm0, xmmword [0x648ae8d0]
lea eax, [esp + 0x40]
movups xmmword [esp + 0x40], xmm0
push 0x10
mov dword [esp + 0x18], eax
mov edx, 0xfd32f01d
mov dword [esp + 0x14], eax
xor esi, esi
pop ebp
mov ecx, edx
shr ecx, 7
xor ecx, edx
mov eax, ecx
shl eax, 9
xor ecx, eax
mov eax, dword [esp + 0x14]
mov edx, ecx
shr edx, 0xd
xor edx, ecx
mov ecx, dword [eax + esi]
neg edx
mov eax, dword [esp + 0x10]
xor ecx, edx
mov dword [eax + esi], ecx
add esi, edi
cmp esi, ebp
jb 0x64288d46
movaps xmm0, xmmword [0x648ae9c0]
lea eax, [esp + 0x50]
movups xmmword [esp + 0x50], xmm0
mov word [esp + 0x60], 0xe8de
mov edx, 0x9c54d40a
mov dword [esp + 0x14], eax
xor esi, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi]
mov eax, dword [esp + 0x10]
xor ecx, edx
imul edx, edx, 0x343fd
mov dword [eax + esi], ecx
add esi, edi
add edx, 0x269ec3
rol edx, 4
cmp esi, ebp
jb 0x64288d99
lea eax, [esp + 0x50]
mov esi, ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov cl, byte [eax + esi]
mov eax, dword [esp + 0x10]
xor cl, dl
shr edx, 8
mov byte [eax + esi], cl
inc esi
cmp esi, 0x12
jb 0x64288dcc
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0xbfad289f
mov dword [esp + 0x28], 0xad73e0c7
mov edx, 0x23883905
mov dword [esp + 0x2c], 0xedfb015f
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov ecx, edx
shr ecx, 7
xor ecx, edx
mov eax, ecx
shl eax, 9
xor ecx, eax
mov eax, dword [esp + 0x14]
mov edx, ecx
shr edx, 0xd
xor edx, ecx
mov ecx, dword [eax + esi]
mov eax, dword [esp + 0x10]
rol edx, 3
xor ecx, edx
mov dword [eax + esi], ecx
add esi, edi
cmp esi, ebx
jb 0x64288e10
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0xace18a02
mov dword [esp + 0x1c], 0xad96a2d5
mov edx, 0x79d25689
mov dword [esp + 0x20], 0xcce126f9
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
imul edx, edx, 0x343fd
mov ecx, dword [eax + esi]
mov eax, dword [esp + 0x10]
add edx, 0x269ec3
rol edx, 1
xor ecx, edx
mov dword [eax + esi], ecx
add esi, edi
cmp esi, ebx
jb 0x64288e69
push 0
lea eax, [esp + 0x68]
push eax
call fcn.6428066f
mov esi, eax
lea eax, [esp + 0x30]
push 0
push eax
push esi
call fcn.6428076c
mov edi, eax
lea eax, [esp + 0x40]
push 0
push eax
push esi
call fcn.6428076c
mov dword [0x648b25a4], eax
lea eax, [esp + 0x50]
push 0
push eax
push esi
call fcn.6428076c
push 0
lea eax, [esp + 0x28]
push eax
push esi
call fcn.6428076c
mov dword [0x648b25ac], eax
lea eax, [esp + 0x18]
push 0
push eax
push esi
call fcn.6428076c
mov dword [0x648b25b0], eax
xor eax, eax
push eax
push eax
push 0x100000
push 0x1000000
push eax
push 2
call edi
mov ecx, 0x800
mov dword [0x648b096c], eax
call fcn.64288b55
mov edx, 0x642930f4
mov dword [0x648b25a8], eax
mov ecx, 0x642930e4
call fcn.64288b25
mov ecx, ebx
lea eax, [esp + 0x18]
xor edx, edx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0x64288f2b
lea eax, [esp + 0x24]
mov byte [eax], dl
inc eax
sub ebx, 1
jne 0x64288f37
push 0x12
lea eax, [esp + 0x54]
pop ecx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0x64288f46
lea eax, [esp + 0x40]
mov byte [eax], dl
inc eax
sub ebp, 1
jne 0x64288f52
push 0xe
lea eax, [esp + 0x34]
pop ecx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0x64288f61
push 0x14
lea eax, [esp + 0x68]
pop ecx
mov byte [eax], dl
inc eax
sub ecx, 1
jne 0x64288f70
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret