Function at 0x10016ac0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005ff7d
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x1006d040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movaps xmm0, xmmword [0x10068990]
xor ecx, ecx
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0xedf8eefa
mov dword [ebp - 0x38], 0xcdd3e3eb
mov dword [ebp - 0x34], 0xc7cdd7d0
mov dword [ebp - 0x30], 0x100dace
mov al, cl
sub al, 0x75
xor byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 0x1e
jb 0x10016b13
mov byte [ebp - 0x2d], 0
mov dword [ebp - 0x18], 0x65707954
mov byte [ebp - 0x14], 0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x4c]
xor esi, esi
cmp byte [ebp - 0x4c], 0
je 0x10016b58
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10016b47
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10016b42
push ecx
push esi
lea eax, [ebp - 0x4c]
mov edx, 0x10127ae0
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.10049b80
movaps xmm0, xmmword [0x100685c0]
add esp, 0x10
movups xmmword [ebp - 0x4c], xmm0
xor ecx, ecx
mov word [ebp - 0x2c], 0x100
movaps xmm0, xmmword [0x100688a0]
movups xmmword [ebp - 0x3c], xmm0
nop dword [eax]
mov al, cl
sub al, 0x75
xor byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 0x20
jb 0x10016b90
mov byte [ebp - 0x2b], 0
mov dword [ebp - 0x18], 0x6e6f4241
mov word [ebp - 0x14], 0x65
mov dword [ebp - 4], 1
lea edx, [ebp - 0x4c]
xor esi, esi
cmp byte [ebp - 0x4c], 0
je 0x10016bd7
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10016bc6
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x10016bc1
push ecx
push esi
lea eax, [ebp - 0x4c]
mov edx, 0x10127ae4
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.10049b80
mov dword [ebp - 4], 0xffffffff
add esp, 0x10
mov dword [ebp - 0x58], 0x42c80000
xor ecx, ecx
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x20], 0xe1fde7cf
mov dword [ebp - 0x1c], 0x100f5ee
mov al, cl
sub al, 0x79
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 6
jb 0x10016c13
lea eax, [ebp - 0x58]
mov byte [ebp - 0x19], 0
push eax
xorps xmm2, xmm2
lea ecx, [ebp - 0x20]
call fcn.10014f10
movss xmm1, dword [0x10067f9c]
add esp, 4
xorps xmm0, xmm0
call fcn.1002b310
push 0
lea edx, [ebp - 0x58]
mov dword [ebp - 0x58], 0
mov ecx, 0x1006146c
mov dword [ebp - 0x54], 0
call fcn.100477f0
add esp, 4
test al, al
je 0x10016c75
mov dword [0x1007453c], 1
movss xmm1, dword [0x10067f9c]
xorps xmm0, xmm0
call fcn.1002b310
push 0
lea edx, [ebp - 0x58]
mov dword [ebp - 0x58], 0
mov ecx, 0x10061470
mov dword [ebp - 0x54], 0
call fcn.100477f0
add esp, 4
test al, al
je 0x10016cb3
mov dword [0x1007453c], 2
mov dword [ebp - 0x20], 0x6f6f6d53
mov dword [ebp - 0x1c], 0x736874
push ecx
push str._.3f
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0
push eax
push 0x10074540
mov edx, 8
mov dword [ebp - 0x28], 0x3f800000
lea ecx, [ebp - 0x20]
call fcn.1004ad30
mov dword [ebp - 0x28], 0x564f46
add esp, 0x10
mov dword [ebp - 4], 3
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0x168
mov edx, 4
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
push 0x10061c48
push eax
lea eax, [ebp - 0x18]
push eax
push 0x10074538
call fcn.1004ad30
mov dword [ebp - 0x28], 0x2e564f46
mov byte [ebp - 0x24], 0
add esp, 0x10
mov dword [ebp - 4], 4
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x64
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x50], 1
push 0x10061c48
push eax
lea eax, [ebp - 0x50]
push eax
push 0x10074538
call fcn.1004b920
add esp, 0x14
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005d7a4
mov esp, ebp
pop ebp
ret