Function at 0x1006f860
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008dd6d
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push esi
push edi
mov eax, dword [0x100a4040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword fs:[0x2c]
mov edx, dword [0x100be8d8]
mov esi, dword [eax + edx*4]
mov eax, dword [0x100c0960]
cmp eax, dword [esi + 4]
jle 0x1006f9f9
push 0x100c0960
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0960], 0xffffffff
jne 0x1006f9f9
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x1009a6c0]
movups xmmword [ebp - 0x3c], xmm0
movaps xmm0, xmmword [0x1009a480]
movups xmmword [ebp - 0x2c], xmm0
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0x1e
jb 0x1006f8e2
sub esp, 0x18
mov byte [ebp - 0x1d], 0
mov edx, esp
mov dword [ebp - 0x18], esp
lea ecx, [ebp - 0x3b]
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x14], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006f918
sub ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x3b]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 1
mov cl, 0x76
mov byte [ebp - 0xf], cl
mov al, 0x79
mov byte [ebp - 0x10], cl
mov dl, 0x73
mov byte [ebp - 0x28], 0x1a
mov ah, 0x7f
xor al, byte [ebp - 0x28]
mov ch, 0x74
xor cl, byte [ebp - 0x28]
mov dh, 0x6e
mov byte [ebp - 0x27], al
xorps xmm0, xmm0
mov byte [ebp - 0x26], cl
mov cl, byte [ebp - 0x28]
mov byte [ebp - 0xd], 0x34
xor dl, cl
mov al, byte [ebp - 0xd]
xor ah, cl
xor al, cl
mov byte [ebp - 0xe], 0x7e
mov byte [ebp - 0x21], al
xor dh, cl
mov al, byte [ebp - 0xe]
xor ch, cl
xor al, cl
mov byte [ebp - 0x25], dl
mov byte [ebp - 0x20], al
mov al, byte [ebp - 0xf]
xor al, cl
mov byte [ebp - 0x22], dh
mov byte [ebp - 0x1f], al
mov al, byte [ebp - 0x10]
xor al, cl
mov byte [ebp - 0x23], ch
sub esp, 0x18
mov byte [ebp - 0x24], ah
mov edx, esp
mov byte [ebp - 0x1e], al
lea ecx, [ebp - 0x27]
mov byte [ebp - 0x1d], 0
lea eax, [ecx + 1]
mov byte [ebp - 0x1d], 0
mov dword [ebp - 0x14], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006f9c0
sub ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x27]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 0
call fcn.1007a170
inc eax
mov dword [ebp - 4], 0xffffffff
push 0x100c0960
mov dword [0x100c097c], eax
call fcn.1008a0ac
add esp, 0x34
mov eax, dword [0x100c0964]
cmp eax, dword [esi + 4]
jle 0x1006fa35
push 0x100c0964
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0964], 0xffffffff
jne 0x1006fa35
mov eax, dword [0x100c097c]
push 0x100c0964
mov eax, dword [eax]
mov dword [0x100c0984], eax
call fcn.1008a0ac
add esp, 4
mov eax, dword [0x100c0968]
cmp eax, dword [esi + 4]
jle 0x1006fba8
push 0x100c0968
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0968], 0xffffffff
jne 0x1006fba8
mov dword [ebp - 4], 2
xor ecx, ecx
movaps xmm0, xmmword [0x1009aec0]
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x1c], 0
movaps xmm0, xmmword [0x1009a5a0]
movups xmmword [ebp - 0x3c], xmm0
movaps xmm0, xmmword [0x1009b040]
movups xmmword [ebp - 0x2c], xmm0
nop
mov al, byte [ebp - 0x4c]
xor byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 0x2f
jb 0x1006fa90
sub esp, 0x18
mov byte [ebp - 0x1c], 0
mov edx, esp
mov dword [ebp - 0x18], esp
lea ecx, [ebp - 0x4b]
xorps xmm0, xmm0
lea eax, [ecx + 1]
mov dword [ebp - 0x14], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006fac6
sub ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x4b]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 3
mov cl, 0x76
mov byte [ebp - 0xe], cl
mov al, 0x79
mov byte [ebp - 0xd], cl
mov dl, 0x73
mov byte [ebp - 0x28], 0x1a
mov ah, 0x7f
xor al, byte [ebp - 0x28]
mov ch, 0x74
xor cl, byte [ebp - 0x28]
mov dh, 0x6e
mov byte [ebp - 0x27], al
xorps xmm0, xmm0
mov byte [ebp - 0x26], cl
mov cl, byte [ebp - 0x28]
mov byte [ebp - 0x10], 0x34
xor dl, cl
mov al, byte [ebp - 0x10]
xor ah, cl
xor al, cl
mov byte [ebp - 0xf], 0x7e
mov byte [ebp - 0x21], al
xor dh, cl
mov al, byte [ebp - 0xf]
xor ch, cl
xor al, cl
mov byte [ebp - 0x25], dl
mov byte [ebp - 0x20], al
mov al, byte [ebp - 0xe]
xor al, cl
mov byte [ebp - 0x22], dh
mov byte [ebp - 0x1f], al
mov al, byte [ebp - 0xd]
xor al, cl
mov byte [ebp - 0x23], ch
sub esp, 0x18
mov byte [ebp - 0x24], ah
mov edx, esp
mov byte [ebp - 0x1e], al
lea ecx, [ebp - 0x27]
mov byte [ebp - 0x1d], 0
lea eax, [ecx + 1]
mov byte [ebp - 0x1d], 0
mov dword [ebp - 0x14], eax
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006fb70
sub ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x27]
push ecx
push eax
mov ecx, edx
call fcn.1000bcd0
mov byte [ebp - 4], 2
call fcn.1007a170
push 0x100c0968
mov dword [0x100c096c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1008a0ac
add esp, 0x34
mov eax, dword [0x100c0974]
cmp eax, dword [esi + 4]
jle 0x1006fbe2
push 0x100c0974
call fcn.1008a0fd
add esp, 4
cmp dword [0x100c0974], 0xffffffff
jne 0x1006fbe2
mov eax, dword [0x100c096c]
push 0x100c0974
mov dword [0x100c0970], eax
call fcn.1008a0ac
add esp, 4
mov ecx, dword [0x100c0984]
push edi
call dword [0x100c0970]
movaps xmm0, xmmword [0x1009afa0]
mov esi, eax
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0x5a287570
xor ecx, ecx
mov byte [ebp - 0x1c], 0
nop dword [eax]
mov al, byte [ebp - 0x30]
xor byte [ebp + ecx - 0x2f], al
inc ecx
cmp ecx, 0x13
jb 0x1006fc10
push esi
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x1c], 0
push edi
push eax
call fcn.10002690
add esp, 0xc
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret