Function at 0x10023bc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movaps xmm0, xmmword [0x10074780]
xor edx, edx
push ebx
push esi
push edi
mov edi, ecx
movups xmmword [ebp - 0x18], xmm0
mov esi, dword [edi]
nop word [eax + eax]
mov al, byte [ebp - 0x18]
xor byte [ebp + edx - 0x17], al
inc edx
cmp edx, 0xe
jb 0x10023be0
sub esp, 0x18
mov byte [ebp - 9], 0
mov ecx, esp
lea edx, [ebp - 0x17]
xorps xmm0, xmm0
lea ebx, [edx + 1]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x10023c10
sub edx, ebx
lea eax, [ebp - 0x17]
push edx
push eax
call fcn.100051a0
mov ecx, esi
call fcn.10012c60
mov ebx, dword [edi]
add esp, 0x18
mov dword [edi + 4], eax
mov cl, 0x78
mov dword [ebp - 0x14], 0x160c3a78
xor eax, eax
mov dword [ebp - 0x10], 0xa0c2b27
mov dword [ebp - 0xc], 0xc1f161d
mov word [ebp - 8], 0x10
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xc
jae 0x10023c60
mov cl, byte [ebp - 0x14]
jmp 0x10023c51
sub esp, 0x18
mov byte [ebp - 7], 0
mov ecx, esp
lea edx, [ebp - 0x13]
xorps xmm0, xmm0
lea esi, [edx + 1]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x10023c83
sub edx, esi
lea eax, [ebp - 0x13]
push edx
push eax
call fcn.100051a0
mov ecx, ebx
call fcn.10012c60
mov ebx, dword [edi]
add esp, 0x18
mov dword [edi + 8], eax
mov cl, 0x18
mov dword [ebp - 0x14], 0x766c5a18
xor eax, eax
mov dword [ebp - 0x10], 0x796c4b47
mov dword [ebp - 0xc], 0x79767175
mov byte [ebp - 8], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x10023cd1
mov cl, byte [ebp - 0x14]
jmp 0x10023cc2
sub esp, 0x18
mov byte [ebp - 8], 0
mov ecx, esp
lea edx, [ebp - 0x13]
xorps xmm0, xmm0
lea esi, [edx + 1]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x10023cf4
sub edx, esi
lea eax, [ebp - 0x13]
push edx
push eax
call fcn.100051a0
mov ecx, ebx
call fcn.10012c60
mov ebx, dword [edi]
add esp, 0x18
mov dword [edi + 0xc], eax
mov cl, 0x57
mov dword [ebp - 0x18], 0x39231557
xor eax, eax
mov dword [ebp - 0x14], 0x2f321308
mov dword [ebp - 0x10], 0x3e253223
mov word [ebp - 0xc], 0x2e23
mov byte [ebp - 0xa], 0
nop dword [eax]
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 0xd
jae 0x10023d4f
mov cl, byte [ebp - 0x18]
jmp 0x10023d40
sub esp, 0x18
mov byte [ebp - 0xa], 0
mov ecx, esp
lea edx, [ebp - 0x17]
xorps xmm0, xmm0
lea esi, [edx + 1]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x10023d72
sub edx, esi
lea eax, [ebp - 0x17]
push edx
push eax
call fcn.100051a0
mov ecx, ebx
call fcn.10012c60
movaps xmm0, xmmword [0x10074a30]
add esp, 0x18
mov ebx, dword [edi]
xor ecx, ecx
mov dword [edi + 0x10], eax
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x10023da5
sub esp, 0x18
mov byte [ebp - 8], 0
mov ecx, esp
lea edx, [ebp - 0x17]
xorps xmm0, xmm0
lea esi, [edx + 1]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x10023dd5
sub edx, esi
lea eax, [ebp - 0x17]
push edx
push eax
call fcn.100051a0
mov ecx, ebx
call fcn.10012c60
movaps xmm0, xmmword [0x10074c50]
add esp, 0x18
mov ebx, dword [edi]
xor ecx, ecx
mov dword [edi + 0x14], eax
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x14
nop word [eax + eax]
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x10023e10
sub esp, 0x18
mov byte [ebp - 7], 0
mov ecx, esp
lea edx, [ebp - 0x17]
xorps xmm0, xmm0
lea esi, [edx + 1]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x10023e40
sub edx, esi
lea eax, [ebp - 0x17]
push edx
push eax
call fcn.100051a0
mov ecx, ebx
call fcn.10012c60
add esp, 0x18
mov dword [edi + 0x18], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret