Function at 0x10013740
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10041971
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x10051040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov byte [ebp - 0x2c0], 0xe
mov byte [ebp - 0x2bf], 6
mov byte [ebp - 0x2be], 0x1f
mov byte [ebp - 0x2bd], 0x10
mov byte [ebp - 0x2bc], 0xe9
mov byte [ebp - 0x2bb], 0xd2
mov al, byte [ebp - 0x2c0]
mov ecx, 0x2e5
mov dword [ebp - 4], 0
xor edx, edx
mov dword [ebp - 0x2b4], 0xfffffff6
mov dword [ebp - 0x2b8], ecx
nop dword [eax]
xor cl, byte [ebp - 0x2b4]
lea edx, [edx + 1]
mov al, byte [ebp + edx - 0x2c1]
dec dword [ebp - 0x2b4]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x2c1], cl
mov ecx, dword [ebp - 0x2b8]
add ecx, 8
mov dword [ebp - 0x2b8], ecx
cmp ecx, 0x315
jb 0x100137c0
mov byte [ebp - 0x2bb], 0
mov byte [ebp - 0x2d8], 0x5a
mov byte [ebp - 0x2d7], 0x69
mov byte [ebp - 0x2d6], 0x5d
mov byte [ebp - 0x2d5], 0x45
mov byte [ebp - 0x2d4], 0xbd
mov byte [ebp - 0x2d3], 0xbe
mov byte [ebp - 0x2d2], 0xa2
mov byte [ebp - 0x2d1], 0xb1
mov byte [ebp - 0x2d0], 0x87
mov byte [ebp - 0x2cf], 0x81
mov byte [ebp - 0x2ce], 0x83
mov byte [ebp - 0x2cd], 0x91
mov byte [ebp - 0x2cc], 0xec
mov byte [ebp - 0x2cb], 0xef
mov byte [ebp - 0x2ca], 0x93
mov al, byte [ebp - 0x2d8]
mov ecx, 0x2e5
mov byte [ebp - 4], 1
xor edx, edx
mov dword [ebp - 0x2b4], 0xfffffff6
mov dword [ebp - 0x2b8], ecx
nop word [eax + eax]
xor cl, byte [ebp - 0x2b4]
lea edx, [edx + 1]
mov al, byte [ebp + edx - 0x2d9]
dec dword [ebp - 0x2b4]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x2d9], cl
mov ecx, dword [ebp - 0x2b8]
add ecx, 8
mov dword [ebp - 0x2b8], ecx
cmp ecx, 0x35d
jb 0x10013890
lea eax, [ebp - 0x2b0]
mov byte [ebp - 0x2ca], 0
mov dword [ebp - 0x4c], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x50], 3
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x50]
push eax
movups xmmword [ebp - 0x40], xmm0
movups xmmword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x20], xmm0
call dword [0x1005c390]
add esp, 4
xor eax, eax
mov byte [ebp + eax - 0x2d8], 0
inc eax
cmp eax, 0xf
jb 0x10013910
xor eax, eax
mov byte [ebp + eax - 0x2c0], 0
inc eax
cmp eax, 6
jb 0x10013920
mov byte [ebp - 0x2c8], 0xe
mov byte [ebp - 0x2c7], 6
mov byte [ebp - 0x2c6], 0x1f
mov byte [ebp - 0x2c5], 0x10
mov byte [ebp - 0x2c4], 0xe9
mov byte [ebp - 0x2c3], 0xd2
mov al, byte [ebp - 0x2c8]
mov ecx, 0x2e5
mov dword [ebp - 4], 2
xor edx, edx
mov dword [ebp - 0x2b4], 0xfffffff6
mov dword [ebp - 0x2b8], ecx
nop dword [eax]
xor cl, byte [ebp - 0x2b4]
lea edx, [edx + 1]
mov al, byte [ebp + edx - 0x2c9]
dec dword [ebp - 0x2b4]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x2c9], cl
mov ecx, dword [ebp - 0x2b8]
add ecx, 8
mov dword [ebp - 0x2b8], ecx
cmp ecx, 0x315
jb 0x10013980
mov byte [ebp - 0x2c3], 0
mov byte [ebp - 0x2e8], 0x5a
mov byte [ebp - 0x2e7], 0x69
mov byte [ebp - 0x2e6], 0x4d
mov byte [ebp - 0x2e5], 0x4c
mov byte [ebp - 0x2e4], 0xac
mov byte [ebp - 0x2e3], 0xb7
mov byte [ebp - 0x2e2], 0xa7
mov byte [ebp - 0x2e1], 0xb5
mov byte [ebp - 0x2e0], 0x88
mov byte [ebp - 0x2df], 0x8c
mov byte [ebp - 0x2de], 0x98
mov byte [ebp - 0x2dd], 0x8c
mov byte [ebp - 0x2dc], 0xe8
mov byte [ebp - 0x2db], 0xe7
mov byte [ebp - 0x2da], 0xf6
mov byte [ebp - 0x2d9], 0x94
mov al, byte [ebp - 0x2e8]
mov ecx, 0x2e5
mov byte [ebp - 4], 3
xor edx, edx
mov dword [ebp - 0x2b4], 0xfffffff6
mov dword [ebp - 0x2b8], ecx
nop dword [eax]
nop word [eax + eax]
xor cl, byte [ebp - 0x2b4]
lea edx, [edx + 1]
mov al, byte [ebp + edx - 0x2e9]
dec dword [ebp - 0x2b4]
xor cl, al
xor cl, 0x2e
mov byte [ebp + edx - 0x2e9], cl
mov ecx, dword [ebp - 0x2b8]
add ecx, 8
mov dword [ebp - 0x2b8], ecx
cmp ecx, 0x365
jb 0x10013a60
lea eax, [ebp - 0x1a0]
mov byte [ebp - 0x2d9], 0
mov dword [ebp - 0x8c], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x2e8]
mov dword [ebp - 0x90], 3
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x2c8]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x90]
push eax
movups xmmword [ebp - 0x80], xmm0
movups xmmword [ebp - 0x70], xmm0
movups xmmword [ebp - 0x60], xmm0
call dword [0x1005c390]
add esp, 4
xor eax, eax
nop
mov byte [ebp + eax - 0x2e8], 0
inc eax
cmp eax, 0x10
jb 0x10013af0
xor eax, eax
mov byte [ebp + eax - 0x2c8], 0
inc eax
cmp eax, 6
jb 0x10013b00
mov ecx, dword [ebp - 0x194]
cmp esi, 1
cmove ecx, dword [ebp - 0x2a4]
test ecx, ecx
jne 0x10013b26
xor eax, eax
jmp 0x10013b59
mov eax, dword [esi*4 + 0x100c7c74]
sub eax, dword [0x1005c398]
add eax, dword [0x10082798]
cdq
idiv ecx
sub ecx, edx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1004bbc8]
addss xmm0, dword [0x1004bc0c]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002078c
mov esp, ebp
pop ebp
ret