Function at 0x1518f70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
cmp byte [0x13c5eb2], 0
push esi
jne 0x15191c7
mov dword [ebp - 0xe], 0xfae0f5e5
xor ecx, ecx
mov dword [ebp - 0xa], 0xf3f5fbe3
mov dword [ebp - 6], 0xf2f1f8b5
mov word [ebp - 2], 0x100
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x1518fa1
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
call dword [0x139c0a8]
mov edx, eax
mov dword [0x13c5e98], edx
test edx, edx
je 0x15191c7
movaps xmm0, xmmword [0x13b6430]
xor ecx, ecx
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0xd6c9c6
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 0x13
jb 0x1518fe4
mov esi, dword [0x139c0d8]
lea eax, [ebp - 0x39]
push eax
push edx
mov byte [ebp - 0x25], 0
call esi
movaps xmm0, xmmword [0x13b5730]
xor ecx, ecx
mov dword [0x13c5eb4], eax
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0xd5d1c8d6
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x14
jb 0x1519021
lea eax, [ebp - 0x24]
mov byte [ebp - 0xf], 0
push eax
push dword [0x13c5e98]
call esi
mov dword [0x13c5eac], eax
xor ecx, ecx
mov dword [ebp - 0xb], 0xfae0f5c5
mov dword [ebp - 7], 0xffebdee3
mov word [ebp - 3], 0xfe
mov byte [ebp - 1], 1
nop dword [eax]
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0xb], al
inc ecx
cmp ecx, 9
jb 0x1519060
lea eax, [ebp - 0xb]
mov byte [ebp - 1], 0
push eax
push dword [0x13c5e98]
call esi
mov dword [0x13c5ea4], eax
xor ecx, ecx
mov dword [ebp - 0x1e], 0xfae0f5c5
mov dword [ebp - 0x1a], 0xffe9d7e3
mov dword [ebp - 0x16], 0xebfccaf5
mov dword [ebp - 0x12], 0x100d4f3
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 0xe
jb 0x15190a0
lea eax, [ebp - 0x1e]
mov byte [ebp - 0xf], 0
push eax
push dword [0x13c5e98]
call esi
movaps xmm0, xmmword [0x13b4ee0]
xor ecx, ecx
mov dword [0x13c5e94], eax
movups xmmword [ebp - 0x35], xmm0
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0xf
jb 0x15190d3
lea eax, [ebp - 0x35]
mov byte [ebp - 0x25], 0
push eax
push dword [0x13c5e98]
call esi
mov dword [0x13c5ea8], eax
xor ecx, ecx
mov dword [ebp - 0xe], 0xfae0f5c5
mov dword [ebp - 0xa], 0xeefcdfe3
mov dword [ebp - 6], 0xf3f8e8d2
mov word [ebp - 2], 0x100
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x1519112
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push dword [0x13c5e98]
call esi
mov dword [0x13c5ea0], eax
xor ecx, ecx
mov dword [ebp - 0x1c], 0xfae0f5c5
mov dword [ebp - 0x18], 0xeefcdfe3
mov dword [ebp - 0x14], 0xf3f8e8d2
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0x6d]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0xc
jb 0x1519151
lea eax, [ebp - 0x1c]
mov byte [ebp - 0xf], 0
push eax
push dword [0x13c5e98]
call esi
cmp dword [0x13c5eb4], 0
mov dword [0x13c5ebc], eax
je 0x15191bb
cmp dword [0x13c5eac], 0
je 0x15191bb
cmp dword [0x13c5ea4], 0
je 0x15191bb
cmp dword [0x13c5e94], 0
je 0x15191bb
cmp dword [0x13c5ea8], 0
je 0x15191bb
cmp dword [0x13c5ea0], 0
je 0x15191bb
test eax, eax
je 0x15191bb
mov byte [0x13c5eb2], 1
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
push dword [0x13c5e98]
push edx
call fcn.0162b128
xor al, al
pop esi
mov esp, ebp
pop ebp
ret