Function at 0x100c5560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
cmp dword [0x1015f410], 0
jne 0x100c561c
mov dword [ebp - 0x10], 0xd1dcc0fb
xor eax, eax
mov dword [ebp - 0xc], 0xd1c094c6
mov dword [ebp - 8], 0xc6c1c0cc
mov word [ebp - 4], 0xc7d1
mov byte [ebp - 2], 0xb4
xor byte [ebp + eax - 0x10], 0xb4
inc eax
cmp eax, 0xf
jb 0x100c5594
movaps xmm0, xmmword [0x100ded00]
xor eax, eax
movaps xmm1, xmmword [0x100de650]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x18], 0xd2eb85c2
movaps xmm0, xmmword [0x100deb50]
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xb4d1c6dd
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x38]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x38], xmm0
add eax, 0x10
cmp eax, 0x20
jb 0x100c55d0
cmp eax, 0x28
jae 0x100c55fb
nop word [eax + eax]
xor byte [ebp + eax - 0x38], 0xb4
inc eax
cmp eax, 0x28
jb 0x100c55f0
mov ecx, dword [0x101614e0]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x38]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x1015f410], eax
cmp dword [0x1015f414], 0
jne 0x100c56be
mov dword [ebp - 0x10], 0xd1dcc0fb
xor eax, eax
mov dword [ebp - 0xc], 0xd1c094c6
mov dword [ebp - 8], 0xc6c1c0cc
mov word [ebp - 4], 0xc7d1
mov byte [ebp - 2], 0xb4
nop word [eax + eax]
xor byte [ebp + eax - 0x10], 0xb4
inc eax
cmp eax, 0xf
jb 0x100c5650
movaps xmm0, xmmword [0x100ded00]
xor eax, eax
movaps xmm2, xmmword [0x100de650]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100deb50]
movups xmmword [ebp - 0x30], xmm0
movaps xmm0, xmmword [0x100de730]
movups xmmword [ebp - 0x20], xmm0
movups xmm0, xmmword [ebp + eax - 0x40]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x40], xmm1
add eax, 0x10
cmp eax, 0x30
jb 0x100c5685
mov ecx, dword [0x101614e0]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x40]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x1015f414], eax
cmp dword [0x1015f418], 0
jne 0x100c577c
mov dword [ebp - 0x10], 0xd1dcc0fb
xor eax, eax
mov dword [ebp - 0xc], 0xd1c094c6
mov dword [ebp - 8], 0xc6c1c0cc
mov word [ebp - 4], 0xc7d1
mov byte [ebp - 2], 0xb4
nop dword [eax]
xor byte [ebp + eax - 0x10], 0xb4
inc eax
cmp eax, 0xf
jb 0x100c56f0
movaps xmm0, xmmword [0x100ded00]
xor eax, eax
movaps xmm2, xmmword [0x100de650]
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x1c], 0xd1eb85c2
movaps xmm0, xmmword [0x100deb50]
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0xc7d0dbd9
mov byte [ebp - 0x14], 0xb4
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x3c]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x3c], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100c5730
cmp eax, 0x29
jae 0x100c575b
nop dword [eax]
xor byte [ebp + eax - 0x3c], 0xb4
inc eax
cmp eax, 0x29
jb 0x100c5750
mov ecx, dword [0x101614e0]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x3c]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x1015f418], eax
cmp dword [0x1015f41c], 0
jne 0x100c583c
mov dword [ebp - 0x10], 0xd1dcc0fb
xor eax, eax
mov dword [ebp - 0xc], 0xd1c094c6
mov dword [ebp - 8], 0xc6c1c0cc
mov word [ebp - 4], 0xc7d1
mov byte [ebp - 2], 0xb4
nop word [eax + eax]
xor byte [ebp + eax - 0x10], 0xb4
inc eax
cmp eax, 0xf
jb 0x100c57b0
movaps xmm0, xmmword [0x100ded00]
xor eax, eax
movaps xmm1, xmmword [0x100de650]
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x14], 0xb4c0c7c1
movaps xmm0, xmmword [0x100deb50]
movups xmmword [ebp - 0x34], xmm0
movaps xmm0, xmmword [0x100de9c0]
movups xmmword [ebp - 0x24], xmm0
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x44]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x44], xmm0
add eax, 0x10
cmp eax, 0x30
jb 0x100c57f0
cmp eax, 0x34
jae 0x100c581b
nop word [eax + eax]
xor byte [ebp + eax - 0x44], 0xb4
inc eax
cmp eax, 0x34
jb 0x100c5810
mov ecx, dword [0x101614e0]
lea edx, [ebp - 0x10]
push 0
push 1
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x44]
push edx
mov eax, dword [eax + 0x150]
call eax
mov dword [0x1015f41c], eax
cmp byte [0x101517e8], 0
mov ecx, dword [0x1015f410]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
je 0x100c58d9
call eax
test al, al
jne 0x100c586b
mov ecx, dword [0x1015f410]
push 1
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x1015f414]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100c588d
mov ecx, dword [0x1015f414]
push 1
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x1015f418]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100c58af
mov ecx, dword [0x1015f418]
push 1
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x1015f41c]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100c5954
mov ecx, dword [0x1015f41c]
push 1
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov esp, ebp
pop ebp
ret
call eax
test al, al
je 0x100c58ee
mov ecx, dword [0x1015f410]
push 0
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x1015f414]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100c5910
mov ecx, dword [0x1015f414]
push 0
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x1015f418]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100c5932
mov ecx, dword [0x1015f418]
push 0
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov ecx, dword [0x1015f41c]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100c5954
mov ecx, dword [0x1015f41c]
push 0
push 4
mov eax, dword [ecx]
call dword [eax + 0x74]
mov esp, ebp
pop ebp
ret