Function at 0x10016528
Capabilities:
Encode data using xor

Disassembly:
push 0x34
mov eax, 0x1003f591
call fcn.1003dd61
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x38], 0x352f395b
mov cl, 0x5b
mov dword [ebp - 0x34], 0x283e2904
mov word [ebp - 0x30], 0x2f3e
mov eax, ebx
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 9
jae 0x10016562
mov cl, byte [ebp - 0x38]
jmp 0x10016553
lea eax, [ebp - 0x37]
mov byte [ebp - 0x2e], bl
push eax
lea ecx, [ebp - 0x28]
call fcn.10003d99
sub esp, 0x18
mov dword [ebp - 4], ebx
mov esi, dword [edi]
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10003928
mov ecx, esi
call fcn.1000cc8b
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 4], eax
mov cl, 0x1e
mov dword [ebp - 0x38], 0x6d7f7c1e
mov eax, ebx
mov dword [ebp - 0x34], 0x7b6c417b
mov dword [ebp - 0x30], 0x6a7b6d
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xa
jae 0x100165bb
mov cl, byte [ebp - 0x38]
jmp 0x100165ac
sub esp, 0x18
mov byte [ebp - 0x2d], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
movaps xmm0, xmmword [0x1004c860]
mov esi, eax
add esp, 0x18
mov dword [edi + 8], esi
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], bl
mov ecx, ebx
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xf
jb 0x100165eb
sub esp, 0x18
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
mov esi, dword [edi + 8]
add esp, 0x18
mov dword [edi + 0xc], eax
mov cl, 0x3c
mov dword [ebp - 0x38], 0x52485e3c
mov eax, ebx
mov dword [ebp - 0x34], 0x594e4c63
mov dword [ebp - 0x30], 0x48594f
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xa
jae 0x10016641
mov cl, byte [ebp - 0x38]
jmp 0x10016632
sub esp, 0x18
mov byte [ebp - 0x2d], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
movaps xmm0, xmmword [0x1004d5b0]
add esp, 0x18
mov esi, dword [edi + 8]
mov ecx, ebx
mov dword [edi + 0x14], eax
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], bl
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xf
jb 0x10016672
sub esp, 0x18
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
mov ecx, dword [edi + 8]
add esp, 0x18
xor dl, dl
mov dword [edi + 0x10], eax
call fcn.1000ceb6
mov esi, dword [edi]
mov cl, 0x27
mov dword [ebp - 0x34], 0x49534527
mov eax, ebx
mov word [ebp - 0x30], 0x1378
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x100166cc
mov cl, byte [ebp - 0x34]
jmp 0x100166bd
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 0x18], eax
mov cl, 0x54
mov dword [ebp - 0x34], 0x3a203654
mov eax, ebx
mov word [ebp - 0x30], 0x610b
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x1001670f
mov cl, byte [ebp - 0x34]
jmp 0x10016700
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 0x1c], eax
mov cl, 0x3b
mov dword [ebp - 0x34], 0x554f593b
mov eax, ebx
mov word [ebp - 0x30], 0xd64
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10016752
mov cl, byte [ebp - 0x34]
jmp 0x10016743
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 0x20], eax
mov cl, 0x51
mov dword [ebp - 0x34], 0x3f253351
mov eax, ebx
mov word [ebp - 0x30], 0x660e
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10016795
mov cl, byte [ebp - 0x34]
jmp 0x10016786
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10003d99
mov ecx, esi
call fcn.1000cc8b
add esp, 0x18
mov dword [edi + 0x24], eax
lea ecx, [ebp - 0x28]
call fcn.10003b97
call fcn.1003dd1f
ret