Function at 0x10015fcf
Capabilities:
Encode data using xor

Disassembly:
push 0x34
mov eax, 0x1003efc5
call fcn.1003d7e1
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x38], 0x253f294b
mov cl, 0x4b
mov dword [ebp - 0x34], 0x382e3914
mov word [ebp - 0x30], 0x3f2e
mov eax, ebx
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 9
jae 0x10016009
mov cl, byte [ebp - 0x38]
jmp 0x10015ffa
lea eax, [ebp - 0x37]
mov byte [ebp - 0x2e], bl
push eax
lea ecx, [ebp - 0x28]
call fcn.10003d9a
sub esp, 0x18
mov dword [ebp - 4], ebx
mov esi, dword [edi]
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10003929
mov ecx, esi
call fcn.1000c6f1
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 4], eax
mov cl, 0x11
mov dword [ebp - 0x38], 0x62707311
mov eax, ebx
mov dword [ebp - 0x34], 0x74634e74
mov dword [ebp - 0x30], 0x657462
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xa
jae 0x10016062
mov cl, byte [ebp - 0x38]
jmp 0x10016053
sub esp, 0x18
mov byte [ebp - 0x2d], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
movaps xmm0, xmmword [0x1004cd90]
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 0x10016092
sub esp, 0x18
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
mov esi, dword [edi + 8]
add esp, 0x18
mov cl, 0x45
mov dword [edi + 0xc], eax
mov byte [ebp - 0x38], cl
xor eax, eax
mov dword [ebp - 0x36], 0x351a2b31
push 0x27
pop ebx
mov byte [ebp - 0x37], bl
mov dword [ebp - 0x32], 0x20362037
mov word [ebp - 0x2e], 0x31
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xa
jae 0x100160f0
mov cl, byte [ebp - 0x38]
jmp 0x100160e1
sub esp, 0x18
mov byte [ebp - 0x2d], 0
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
movaps xmm0, xmmword [0x1004d8a0]
add esp, 0x18
mov esi, dword [edi + 8]
xor ecx, ecx
mov dword [edi + 0x14], eax
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], 0
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xf
jb 0x10016123
sub esp, 0x18
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
mov ecx, dword [edi + 8]
add esp, 0x18
xor dl, dl
mov dword [edi + 0x10], eax
call fcn.1000c91c
mov esi, dword [edi]
xor eax, eax
push 0x13
mov byte [ebp - 0x34], bl
pop ebx
push 0x27
mov dword [ebp - 0x33], 0x78495345
mov byte [ebp - 0x2f], bl
mov byte [ebp - 0x2e], 0
pop ecx
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10016183
mov cl, byte [ebp - 0x34]
jmp 0x10016174
sub esp, 0x18
mov byte [ebp - 0x2e], 0
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 0x18], eax
mov cl, 0x24
mov dword [ebp - 0x34], 0x4a504624
xor eax, eax
mov word [ebp - 0x30], 0x117b
mov byte [ebp - 0x2e], 0
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x100161c8
mov cl, byte [ebp - 0x34]
jmp 0x100161b9
sub esp, 0x18
mov byte [ebp - 0x2e], 0
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 0x1c], eax
xor eax, eax
mov byte [ebp - 0x34], bl
mov dword [ebp - 0x33], 0x4c7d6771
mov word [ebp - 0x2f], 0x25
xor byte [ebp + eax - 0x33], bl
inc eax
cmp eax, 5
jae 0x1001620a
mov bl, byte [ebp - 0x34]
jmp 0x100161fb
sub esp, 0x18
lea eax, [ebp - 0x33]
mov ecx, esp
xor ebx, ebx
mov byte [ebp - 0x2e], bl
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
mov esi, dword [edi]
add esp, 0x18
mov dword [edi + 0x20], eax
mov cl, 5
mov dword [ebp - 0x34], 0x6b716705
mov eax, ebx
mov word [ebp - 0x30], 0x325a
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x1001624f
mov cl, byte [ebp - 0x34]
jmp 0x10016240
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10003d9a
mov ecx, esi
call fcn.1000c6f1
add esp, 0x18
mov dword [edi + 0x24], eax
lea ecx, [ebp - 0x28]
call fcn.10003b98
call fcn.1003d79f
ret