Function at 0x155ca3f
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x139ab0c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x30
push esi
mov esi, ecx
xorps xmm0, xmm0
lea ecx, [esi + 0xc]
mov dword [ebp - 0x14], esi
movups xmmword [ecx], xmm0
xor eax, eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push edi
mov word [ecx], ax
mov dword [ebp - 4], eax
movups xmmword [esi + 0x30], xmm0
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 7
mov word [esi + 0x30], ax
movups xmmword [esi + 0x48], xmm0
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 7
mov word [esi + 0x48], ax
movups xmmword [esi + 0x60], xmm0
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], 0xf
mov byte [esi + 0x60], al
movups xmmword [esi + 0x78], xmm0
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], 0xf
mov byte [esi + 0x78], al
push 0x6f
push 0x13b2658
mov byte [ebp - 4], 4
call fcn.015457d0
cmp byte [0x13c65cc], 0
jne 0x155cd5c
mov dword [ebp - 0x21], 0xdedbddc4
xor ecx, ecx
mov dword [ebp - 0x1d], 0xb4c9ccc3
mov dword [ebp - 0x19], 0xf1f0ff
mov byte [ebp - 0x15], 1
nop dword [eax]
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x21], al
inc ecx
cmp ecx, 0xb
jb 0x155caf0
lea eax, [ebp - 0x21]
mov byte [ebp - 0x15], 0
push eax
push edx
call fcn.016df1f5
mov edi, eax
mov dword [ebp - 0x31], 0xdefbfdc4
mov dword [ebp - 0x2d], 0xd9e9ece3
xor ecx, ecx
mov dword [ebp - 0x29], 0xfbf3f2f4
mov dword [ebp - 0x25], 0x100d4fc
nop dword [eax + eax]
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x31], al
inc ecx
cmp ecx, 0xe
jb 0x155cb30
mov esi, dword [0x139c0d8]
lea eax, [ebp - 0x31]
push eax
push edi
mov byte [ebp - 0x22], 0
call esi
movaps xmm0, xmmword [0x13b57f0]
xor ecx, ecx
mov dword [0x13c5fd8], eax
movups xmmword [ebp - 0x36], xmm0
mov dword [ebp - 0x26], 0xd6d6c6
mov byte [ebp - 0x22], 1
nop dword [eax + eax]
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0x13
jb 0x155cb70
lea eax, [ebp - 0x36]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
mov dword [0x13c5fdc], eax
xor ecx, ecx
mov dword [ebp - 0x2e], 0xdefbfdc4
mov dword [ebp - 0x2a], 0xd5e9ece3
mov dword [ebp - 0x26], 0xf3f9eb
mov byte [ebp - 0x22], 1
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x2e], al
inc ecx
cmp ecx, 0xb
jb 0x155cba8
lea eax, [ebp - 0x2e]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
movaps xmm0, xmmword [0x13b5a70]
xor ecx, ecx
mov dword [0x13c5fc4], eax
movups xmmword [ebp - 0x35], xmm0
mov dword [ebp - 0x25], 0x100d0d0
nop dword [eax]
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0x12
jb 0x155cbe0
lea eax, [ebp - 0x35]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
movaps xmm0, xmmword [0x13b56b0]
xor ecx, ecx
mov dword [0x13c5fe0], eax
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0xcfc4d2e2
mov dword [ebp - 0x28], 0xc6cbc9cb
mov word [ebp - 0x24], 0xce
mov byte [ebp - 0x22], 1
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x3c], al
inc ecx
cmp ecx, 0x19
jb 0x155cc22
lea eax, [ebp - 0x3c]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
movaps xmm0, xmmword [0x13b5a80]
xor ecx, ecx
mov dword [0x13c5fe4], eax
movups xmmword [ebp - 0x35], xmm0
mov dword [ebp - 0x25], 0x100d0d0
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0x12
jb 0x155cc53
lea eax, [ebp - 0x35]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
movaps xmm0, xmmword [0x13b5ac0]
xor ecx, ecx
mov dword [0x13c5fc0], eax
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0xc8cad4d0
mov dword [ebp - 0x25], 0x100cdd4
nop dword [eax + eax]
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 0x16
jb 0x155cc90
lea eax, [ebp - 0x39]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
movaps xmm0, xmmword [0x13b4dd0]
xor ecx, ecx
mov dword [0x13c5fd0], eax
movups xmmword [ebp - 0x32], xmm0
mov byte [ebp - 0x22], 1
nop
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x32], al
inc ecx
cmp ecx, 0xf
jb 0x155ccc0
lea eax, [ebp - 0x32]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
movaps xmm0, xmmword [0x13b5860]
xor ecx, ecx
mov dword [0x13c5fd4], eax
movups xmmword [ebp - 0x35], xmm0
mov dword [ebp - 0x25], 0x100c1cf
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0x12
jb 0x155ccf1
lea eax, [ebp - 0x35]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
movaps xmm0, xmmword [0x13b6490]
xor ecx, ecx
mov dword [0x13c5fcc], eax
movups xmmword [ebp - 0x35], xmm0
mov dword [ebp - 0x25], 0x100d7d7
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0x12
jb 0x155cd22
lea eax, [ebp - 0x35]
mov byte [ebp - 0x22], 0
push eax
push edi
call esi
mov dword [0x13c5fc8], eax
mov eax, dword [ebp - 0x14]
mov byte [0x13c65cc], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret