Function at 0x100f12d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
movaps xmm0, xmmword [0x1017fab0]
xor eax, eax
movaps xmm1, xmmword [0x1017fe80]
movups xmmword [ebp - 0x45], xmm0
push esi
movaps xmm0, xmmword [0x1017ff00]
movups xmmword [ebp - 0x35], xmm0
mov dword [ebp - 0x15], 0xf4e0e3f4
movaps xmm0, xmmword [0x101800e0]
movups xmmword [ebp - 0x25], xmm0
mov dword [ebp - 0x11], 0xe5f4e0e6
mov word [ebp - 0xd], 0xd497
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x45]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x45], xmm0
add eax, 0x10
cmp eax, 0x30
jb 0x100f1320
cmp eax, 0x3a
jae 0x100f134b
nop word [eax + eax]
xor byte [ebp + eax - 0x45], 0xd4
inc eax
cmp eax, 0x3a
jb 0x100f1340
mov dword [ebp - 0xb], 0xb1bdb8b7
xor eax, eax
mov dword [ebp - 7], 0xb0faa0ba
mov word [ebp - 3], 0xb8b8
mov byte [ebp - 1], 0xd4
xor byte [ebp + eax - 0xb], 0xd4
inc eax
cmp eax, 0xb
jb 0x100f1365
lea edx, [ebp - 0x45]
lea ecx, [ebp - 0xb]
call fcn.100c52b0
push 0x101ef274
mov edx, 0x100ef0d0
mov dword [0x101ef270], eax
mov ecx, eax
call fcn.100f3800
mov ecx, dword [0x101ef270]
mov edx, 1
call fcn.100f2f30
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101e66ac]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x101ef280]
cmp eax, dword [esi + 4]
jg 0x100f14c5
mov ecx, dword [0x101ef284]
mov edx, 0x100edc60
push 0x101ee0a4
call fcn.100f3800
mov ecx, dword [0x101ef284]
mov edx, 1
call fcn.100f2f30
mov eax, dword [0x101ef288]
cmp eax, dword [esi + 4]
jg 0x100f1500
mov ecx, dword [0x101ef260]
mov edx, 0x100f06d0
push 0x101ee0d8
call fcn.100f3800
mov ecx, dword [0x101ef260]
mov edx, 1
call fcn.100f2f30
mov eax, dword [0x101ef278]
cmp eax, dword [esi + 4]
jg 0x100f159d
mov ecx, dword [0x101ef258]
mov edx, 0x100f0870
push 0x101ee0dc
call fcn.100f3800
mov ecx, dword [0x101ef258]
mov edx, 1
call fcn.100f2f30
mov eax, dword [0x101ef264]
cmp eax, dword [esi + 4]
jg 0x100f166d
mov ecx, dword [0x101ef27c]
mov edx, 0x100f0f00
push 0x101ee0f0
call fcn.100f3800
mov ecx, dword [0x101ef27c]
mov edx, 1
call fcn.100f2f30
mov eax, dword [0x101ef25c]
cmp eax, dword [esi + 4]
jg 0x100f16a8
mov ecx, dword [0x101ef268]
mov edx, 0x100f11f0
push 0x101ee0f4
call fcn.100f3800
mov ecx, dword [0x101ef268]
mov edx, 1
call fcn.100f2f30
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
push 0x101ef280
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef280], 0xffffffff
jne 0x100f13c1
mov eax, dword [0x101edea0]
push 0x101ef280
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
mov dword [0x101ef284], eax
call fcn.1006d1be
add esp, 4
jmp 0x100f13c1
push 0x101ef288
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef288], 0xffffffff
jne 0x100f13f7
movaps xmm0, xmmword [0x1017fab0]
mov eax, 0x10
xorps xmm0, xmmword [0x1017fe80]
mov dword [ebp - 0x13], 0xec96f4e4
mov dword [ebp - 0xf], 0xd4ec90f4
movups xmmword [ebp - 0x23], xmm0
jmp 0x100f1541
xor byte [ebp + eax - 0x23], 0xd4
inc eax
cmp eax, 0x18
jb 0x100f1541
mov dword [ebp - 0xb], 0xb1bdb8b7
xor eax, eax
mov dword [ebp - 7], 0xb0faa0ba
mov word [ebp - 3], 0xb8b8
mov byte [ebp - 1], 0xd4
jmp 0x100f1570
xor byte [ebp + eax - 0xb], 0xd4
inc eax
cmp eax, 0xb
jb 0x100f1570
lea edx, [ebp - 0x23]
lea ecx, [ebp - 0xb]
call fcn.100c52b0
push 0x101ef288
mov dword [0x101ef260], eax
call fcn.1006d1be
add esp, 4
jmp 0x100f13f7
push 0x101ef278
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef278], 0xffffffff
jne 0x100f142d
movaps xmm0, xmmword [0x10180080]
xor eax, eax
movups xmmword [ebp - 0x36], xmm0
mov dword [ebp - 0x16], 0xebf4ebf4
movaps xmm0, xmmword [0x1017ffd0]
movups xmmword [ebp - 0x26], xmm0
mov dword [ebp - 0x12], 0xf4e0e3f4
mov word [ebp - 0xe], 0xe2e7
mov byte [ebp - 0xc], 0xd4
jmp 0x100f15f0
movups xmm0, xmmword [ebp + eax - 0x36]
movaps xmm1, xmmword [0x1017fe80]
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x36], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100f15f0
cmp eax, 0x2b
jae 0x100f1620
jmp 0x100f1613
xor byte [ebp + eax - 0x36], 0xd4
inc eax
cmp eax, 0x2b
jb 0x100f1613
jmp 0x100f1620
mov dword [ebp - 0xb], 0xb1bdb8b7
xor eax, eax
mov dword [ebp - 7], 0xb0faa0ba
mov word [ebp - 3], 0xb8b8
mov byte [ebp - 1], 0xd4
jmp 0x100f1640
xor byte [ebp + eax - 0xb], 0xd4
inc eax
cmp eax, 0xb
jb 0x100f1640
lea edx, [ebp - 0x36]
lea ecx, [ebp - 0xb]
call fcn.100c52b0
push 0x101ef278
mov dword [0x101ef258], eax
call fcn.1006d1be
add esp, 4
jmp 0x100f142d
push 0x101ef264
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef264], 0xffffffff
jne 0x100f1463
mov eax, dword [0x101edea0]
push 0x101ef264
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
mov dword [0x101ef27c], eax
call fcn.1006d1be
add esp, 4
jmp 0x100f1463
push 0x101ef25c
call fcn.1006d20f
add esp, 4
cmp dword [0x101ef25c], 0xffffffff
jne 0x100f1499
movaps xmm0, xmmword [0x1017ffc0]
xor eax, eax
movups xmmword [ebp - 0x31], xmm0
mov dword [ebp - 0x11], 0xe6f4e0e3
movaps xmm0, xmmword [0x10180100]
movups xmmword [ebp - 0x21], xmm0
mov word [ebp - 0xd], 0xd4e7
jmp 0x100f16f0
movups xmm0, xmmword [ebp + eax - 0x31]
movaps xmm1, xmmword [0x1017fe80]
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x31], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100f16f0
cmp eax, 0x26
jae 0x100f1720
jmp 0x100f1713
xor byte [ebp + eax - 0x31], 0xd4
inc eax
cmp eax, 0x26
jb 0x100f1713
jmp 0x100f1720
mov dword [ebp - 0xb], 0xb1bdb8b7
xor eax, eax
mov dword [ebp - 7], 0xb0faa0ba
mov word [ebp - 3], 0xb8b8
mov byte [ebp - 1], 0xd4
jmp 0x100f1740
xor byte [ebp + eax - 0xb], 0xd4
inc eax
cmp eax, 0xb
jb 0x100f1740
lea edx, [ebp - 0x31]
lea ecx, [ebp - 0xb]
call fcn.100c52b0
push 0x101ef25c
mov dword [0x101ef268], eax
call fcn.1006d1be
add esp, 4
jmp 0x100f1499