Function at 0x10015da5
Capabilities:
Encode data using xor

Disassembly:
push 0x40
mov eax, 0x10073263
call fcn.1003bfa0
mov esi, ecx
push 0x4d
pop ebx
push 0x28
pop eax
mov cl, bl
mov dword [ebp - 0x4b], 0x1223392f
mov byte [ebp - 0x4c], cl
xor edx, edx
mov byte [ebp - 0x47], 0x3f
mov byte [ebp - 0x46], al
mov byte [ebp - 0x45], 0x3e
mov byte [ebp - 0x44], al
mov word [ebp - 0x43], 0x39
xor cl, byte [ebp + edx - 0x4b]
mov byte [ebp + edx - 0x4b], cl
inc edx
cmp edx, 9
jae 0x10015dee
mov cl, byte [ebp - 0x4c]
jmp 0x10015ddb
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x42], 0
push eax
lea ecx, [ebp - 0x28]
call fcn.10004179
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10003ba2
mov ecx, dword [esi]
call fcn.1000d3df
add esp, 0x18
mov dword [esi + 4], eax
mov dl, 0x18
mov dword [ebp - 0x38], 0x6b797a18
mov dword [ebp - 0x34], 0x7d6a477d
xor ecx, ecx
mov dword [ebp - 0x30], 0x6c7d6b
xor dl, byte [ebp + ecx - 0x37]
mov byte [ebp + ecx - 0x37], dl
inc ecx
cmp ecx, 0xa
jae 0x10015e49
mov dl, byte [ebp - 0x38]
jmp 0x10015e36
sub esp, 0x18
mov byte [ebp - 0x2d], 0
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10004179
mov ecx, dword [esi]
call fcn.1000d3df
movaps xmm0, xmmword [0x1008a440]
add esp, 0x18
mov dword [esi + 8], eax
xor edx, edx
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], 0
mov cl, byte [ebp - 0x3c]
xor byte [ebp + edx - 0x3b], cl
inc edx
cmp edx, 0xf
jb 0x10015e79
sub esp, 0x18
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10004179
mov ecx, dword [esi + 8]
call fcn.1000d3df
add esp, 0x18
mov dword [esi + 0xc], eax
mov dl, 0x58
mov dword [ebp - 0x38], 0x362c3a58
mov dword [ebp - 0x34], 0x3d2a2807
xor ecx, ecx
mov dword [ebp - 0x30], 0x2c3d2b
xor dl, byte [ebp + ecx - 0x37]
mov byte [ebp + ecx - 0x37], dl
inc ecx
cmp ecx, 0xa
jae 0x10015ed2
mov dl, byte [ebp - 0x38]
jmp 0x10015ebf
sub esp, 0x18
mov byte [ebp - 0x2d], 0
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10004179
mov ecx, dword [esi + 8]
call fcn.1000d3df
movaps xmm0, xmmword [0x1008a8e0]
add esp, 0x18
mov dword [esi + 0x14], eax
xor edx, edx
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], 0
mov cl, byte [ebp - 0x3c]
xor byte [ebp + edx - 0x3b], cl
inc edx
cmp edx, 0xf
jb 0x10015f03
sub esp, 0x18
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10004179
mov ecx, dword [esi + 8]
call fcn.1000d3df
mov ecx, dword [esi + 8]
add esp, 0x18
xor dl, dl
mov dword [esi + 0x10], eax
call fcn.1000d60f
mov dl, 0x2f
mov byte [ebp - 0x33], bl
mov byte [ebp - 0x34], dl
xor ecx, ecx
mov dword [ebp - 0x32], 0x1b70415b
mov byte [ebp - 0x2e], 0
xor dl, byte [ebp + ecx - 0x33]
mov byte [ebp + ecx - 0x33], dl
inc ecx
cmp ecx, 5
jae 0x10015f62
mov dl, byte [ebp - 0x34]
jmp 0x10015f4f
sub esp, 0x18
mov byte [ebp - 0x2e], 0
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10004179
mov ecx, dword [esi]
call fcn.1000d3df
add esp, 0x18
mov dword [esi + 0x18], eax
mov cl, 0x71
mov dword [ebp - 0x34], 0x1f051371
mov word [ebp - 0x30], 0x442e
xor edx, edx
mov byte [ebp - 0x2e], 0
xor cl, byte [ebp + edx - 0x33]
mov byte [ebp + edx - 0x33], cl
inc edx
cmp edx, 5
jae 0x10015fa9
mov cl, byte [ebp - 0x34]
jmp 0x10015f96
sub esp, 0x18
mov byte [ebp - 0x2e], 0
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10004179
mov ecx, dword [esi]
call fcn.1000d3df
add esp, 0x18
mov dword [esi + 0x1c], eax
mov byte [ebp - 0x34], bl
xor ecx, ecx
mov dword [ebp - 0x33], 0x1223392f
mov word [ebp - 0x2f], 0x7b
xor bl, byte [ebp + ecx - 0x33]
mov byte [ebp + ecx - 0x33], bl
inc ecx
cmp ecx, 5
jae 0x10015fed
mov bl, byte [ebp - 0x34]
jmp 0x10015fda
sub esp, 0x18
lea eax, [ebp - 0x33]
mov ecx, esp
xor ebx, ebx
mov byte [ebp - 0x2e], bl
push eax
call fcn.10004179
mov ecx, dword [esi]
call fcn.1000d3df
add esp, 0x18
mov dword [esi + 0x20], eax
mov dword [ebp - 0x33], 0x77465c4a
mov eax, ebx
mov word [ebp - 0x2f], 0x1f
push 0x28
pop ecx
mov byte [ebp - 0x34], cl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10016031
mov cl, byte [ebp - 0x34]
jmp 0x10016022
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10004179
mov ecx, dword [esi]
call fcn.1000d3df
add esp, 0x18
mov dword [esi + 0x24], eax
lea ecx, [ebp - 0x28]
push ebx
push 1
call fcn.1000402e
call fcn.1003bf4a
ret