Function at 0x10015b5d
Capabilities:
Encode data using xor

Disassembly:
push 0x40
mov eax, 0x10072fe4
call fcn.1003bd50
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x4c], 0x7a607614
mov cl, 0x14
mov dword [ebp - 0x48], 0x6771664b
mov word [ebp - 0x44], 0x6071
mov edx, ebx
mov byte [ebp - 0x42], bl
xor cl, byte [ebp + edx - 0x4b]
mov byte [ebp + edx - 0x4b], cl
inc edx
cmp edx, 9
jae 0x10015b9b
mov cl, byte [ebp - 0x4c]
jmp 0x10015b88
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x42], bl
push eax
lea ecx, [ebp - 0x28]
call fcn.1000416d
sub esp, 0x18
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10003b96
mov ecx, dword [esi]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 4], eax
mov dl, 0x11
mov dword [ebp - 0x38], 0x62707311
mov dword [ebp - 0x34], 0x74634e74
mov ecx, ebx
mov dword [ebp - 0x30], 0x657462
xor dl, byte [ebp + ecx - 0x37]
mov byte [ebp + ecx - 0x37], dl
inc ecx
cmp ecx, 0xa
jae 0x10015bf4
mov dl, byte [ebp - 0x38]
jmp 0x10015be1
sub esp, 0x18
mov byte [ebp - 0x2d], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi]
call fcn.1000d131
movaps xmm0, xmmword [0x100897f0]
add esp, 0x18
mov dword [esi + 8], eax
mov edx, ebx
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], bl
mov cl, byte [ebp - 0x3c]
xor byte [ebp + edx - 0x3b], cl
inc edx
cmp edx, 0xf
jb 0x10015c22
sub esp, 0x18
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 8]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 0xc], eax
mov dl, 0x48
mov dword [ebp - 0x38], 0x263c2a48
mov dword [ebp - 0x34], 0x2d3a3817
mov ecx, ebx
mov dword [ebp - 0x30], 0x3c2d3b
xor dl, byte [ebp + ecx - 0x37]
mov byte [ebp + ecx - 0x37], dl
inc ecx
cmp ecx, 0xa
jae 0x10015c7a
mov dl, byte [ebp - 0x38]
jmp 0x10015c67
sub esp, 0x18
mov byte [ebp - 0x2d], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 8]
call fcn.1000d131
movaps xmm0, xmmword [0x10089be0]
add esp, 0x18
mov dword [esi + 0x14], eax
mov edx, ebx
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], bl
mov cl, byte [ebp - 0x3c]
xor byte [ebp + edx - 0x3b], cl
inc edx
cmp edx, 0xf
jb 0x10015ca9
sub esp, 0x18
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 8]
call fcn.1000d131
mov ecx, dword [esi + 8]
add esp, 0x18
xor dl, dl
mov dword [esi + 0x10], eax
call fcn.1000d361
mov dl, 0x10
mov dword [ebp - 0x34], 0x7e647210
mov word [ebp - 0x30], 0x244f
mov ecx, ebx
mov byte [ebp - 0x2e], bl
xor dl, byte [ebp + ecx - 0x33]
mov byte [ebp + ecx - 0x33], dl
inc ecx
cmp ecx, 5
jae 0x10015d06
mov dl, byte [ebp - 0x34]
jmp 0x10015cf3
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 0x18], eax
mov cl, 0x77
mov dword [ebp - 0x34], 0x19031577
mov word [ebp - 0x30], 0x4228
mov edx, ebx
mov byte [ebp - 0x2e], bl
xor cl, byte [ebp + edx - 0x33]
mov byte [ebp + edx - 0x33], cl
inc edx
cmp edx, 5
jae 0x10015d4b
mov cl, byte [ebp - 0x34]
jmp 0x10015d38
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 0x1c], eax
mov dl, 0x46
mov dword [ebp - 0x34], 0x28322446
mov word [ebp - 0x30], 0x7019
mov ecx, ebx
mov byte [ebp - 0x2e], bl
xor dl, byte [ebp + ecx - 0x33]
mov byte [ebp + ecx - 0x33], dl
inc ecx
cmp ecx, 5
jae 0x10015d90
mov dl, byte [ebp - 0x34]
jmp 0x10015d7d
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi]
call fcn.1000d131
mov dword [esi + 0x20], eax
add esp, 0x18
mov cl, 0x7d
mov dword [ebp - 0x34], 0x13091f7d
mov word [ebp - 0x30], 0x4a22
mov eax, ebx
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10015dd1
mov cl, byte [ebp - 0x34]
jmp 0x10015dc2
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 0x24], eax
lea ecx, [ebp - 0x28]
push ebx
push 1
call fcn.10004022
call fcn.1003bcfa
ret