Function at 0x100d8f90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov edi, edx
mov ebx, ecx
je 0x100d8fb9
mov dword [ebx], 0x420c0000
mov dword [edi], 0x453b8000
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm1, xmmword [0x10105130]
mov eax, 0x10
movaps xmm0, xmm1
mov dword [ebp - 0xa8], 0xeaece095
xorps xmm0, xmmword [0x10105000]
mov byte [ebp - 0xa4], 0xad
movups xmmword [ebp - 0xb8], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0xb8], 0xad
inc eax
cmp eax, 0x15
jb 0x100d8ff0
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0xb8]
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9030
test dl, dl
je 0x100d902c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9030
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9010
xor eax, eax
jmp 0x100d9035
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d9045
mov dword [ebx], 0x42340000
mov dword [edi], 0x45fa0000
movaps xmm0, xmm1
mov dword [ebp - 0xd4], 0xade0e09f
xorps xmm0, xmmword [0x10104ee0]
mov eax, 0x10
movups xmmword [ebp - 0xe4], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0xe4], 0xad
inc eax
cmp eax, 0x14
jb 0x100d9070
lea ecx, [ebp - 0xe4]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d90a6
test dl, dl
je 0x100d90a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d90a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9086
xor eax, eax
jmp 0x100d90ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d90bb
mov dword [ebx], 0x421c0000
mov dword [edi], 0x459c4000
movaps xmm0, xmm1
mov dword [ebp - 0xe8], 0xade0e09b
xorps xmm0, xmmword [0x10104df0]
mov eax, 0x10
movups xmmword [ebp - 0xf8], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0xf8], 0xad
inc eax
cmp eax, 0x14
jb 0x100d90e0
lea ecx, [ebp - 0xf8]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9116
test dl, dl
je 0x100d9112
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9116
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d90f6
xor eax, eax
jmp 0x100d911b
sbb eax, eax
or eax, 1
test eax, eax
je 0x100d91ef
movaps xmm0, xmm1
mov dword [ebp - 0x28], 0xf2e0e09b
xorps xmm0, xmmword [0x10104df0]
mov eax, 0x10
mov dword [ebp - 0x24], 0xe1ece0fe
mov word [ebp - 0x20], 0xade1
movups xmmword [ebp - 0x38], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x38], 0xad
inc eax
cmp eax, 0x1a
jb 0x100d9150
lea ecx, [ebp - 0x38]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9180
test dl, dl
je 0x100d917c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9180
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9160
xor eax, eax
jmp 0x100d9185
sbb eax, eax
or eax, 1
test eax, eax
je 0x100d91ef
movaps xmm0, xmm1
mov dword [ebp - 0x78], 0xf2e0e09b
xorps xmm0, xmmword [0x10104df0]
mov eax, 0x10
mov dword [ebp - 0x74], 0xadf5e2ef
movups xmmword [ebp - 0x88], xmm0
nop dword [eax]
xor byte [ebp + eax - 0x88], 0xad
inc eax
cmp eax, 0x18
jb 0x100d91b0
lea ecx, [ebp - 0x88]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d91e6
test dl, dl
je 0x100d91e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d91e6
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d91c6
xor eax, eax
jmp 0x100d91eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d91fb
mov dword [ebx], 0x420c0000
mov dword [edi], 0x457a0000
movaps xmm0, xmm1
mov word [ebp - 0x110], 0xe0e0
xorps xmm0, xmmword [0x10104ea0]
mov eax, 0x10
mov byte [ebp - 0x10e], 0xad
movups xmmword [ebp - 0x120], xmm0
xor byte [ebp + eax - 0x120], 0xad
inc eax
cmp eax, 0x13
jb 0x100d9221
lea ecx, [ebp - 0x120]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9257
test dl, dl
je 0x100d9253
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9257
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9237
xor eax, eax
jmp 0x100d925c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d926c
mov dword [ebx], 0x41f00000
mov dword [edi], 0x44fa0000
movaps xmm0, xmm1
mov word [ebp - 0x124], 0xe8ec
xorps xmm0, xmmword [0x10104f80]
mov eax, 0x10
mov byte [ebp - 0x122], 0xad
movups xmmword [ebp - 0x134], xmm0
xor byte [ebp + eax - 0x134], 0xad
inc eax
cmp eax, 0x13
jb 0x100d9292
lea ecx, [ebp - 0x134]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d92c8
test dl, dl
je 0x100d92c4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d92c8
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d92a8
xor eax, eax
jmp 0x100d92cd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d92dd
mov dword [ebx], 0x41f00000
mov dword [edi], 0x447a0000
movaps xmm0, xmmword [0x10104e10]
mov eax, 0x10
xorps xmm0, xmm1
mov dword [ebp - 0xc0], 0xeae4fe9a
mov byte [ebp - 0xbc], 0xad
movups xmmword [ebp - 0xd0], xmm0
xor byte [ebp + eax - 0xd0], 0xad
inc eax
cmp eax, 0x15
jb 0x100d9304
lea ecx, [ebp - 0xd0]
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9340
test dl, dl
je 0x100d933c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9340
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9320
xor eax, eax
jmp 0x100d9345
sbb eax, eax
or eax, 1
test eax, eax
je 0x100d947b
movaps xmm0, xmmword [0x10104e10]
mov eax, 0x10
xorps xmm0, xmm1
mov dword [ebp - 0xc], 0xeae4fe9a
mov dword [ebp - 8], 0xece0fef2
mov word [ebp - 4], 0xe1e1
mov byte [ebp - 2], 0xad
movups xmmword [ebp - 0x1c], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x1c], 0xad
inc eax
cmp eax, 0x1b
jb 0x100d9380
lea ecx, [ebp - 0x1c]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d93b0
test dl, dl
je 0x100d93ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d93b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9390
xor eax, eax
jmp 0x100d93b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100d947b
movaps xmm0, xmmword [0x10104e10]
mov eax, 0x10
xorps xmm0, xmm1
mov dword [ebp - 0x44], 0xeae4fe9a
mov dword [ebp - 0x40], 0x989ffdf2
mov word [ebp - 0x3c], 0xad9d
movups xmmword [ebp - 0x54], xmm0
xor byte [ebp + eax - 0x54], 0xad
inc eax
cmp eax, 0x1a
jb 0x100d93e4
lea ecx, [ebp - 0x54]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9414
test dl, dl
je 0x100d9410
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9414
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d93f4
xor eax, eax
jmp 0x100d9419
sbb eax, eax
or eax, 1
test eax, eax
je 0x100d947b
movaps xmm0, xmmword [0x10104e10]
mov eax, 0x10
xorps xmm0, xmm1
mov dword [ebp - 0x60], 0xeae4fe9a
mov dword [ebp - 0x5c], 0xe3e4e0f2
mov byte [ebp - 0x58], 0xad
movups xmmword [ebp - 0x70], xmm0
xor byte [ebp + eax - 0x70], 0xad
inc eax
cmp eax, 0x19
jb 0x100d9442
lea ecx, [ebp - 0x70]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9472
test dl, dl
je 0x100d946e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9472
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9452
xor eax, eax
jmp 0x100d9477
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d9487
mov dword [ebx], 0x41c80000
mov dword [edi], 0x44480000
movaps xmm0, xmmword [0x10105aa0]
mov eax, 0x10
xorps xmm0, xmm1
mov word [ebp - 0x138], 0xade0
movups xmmword [ebp - 0x148], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x148], 0xad
inc eax
cmp eax, 0x12
jb 0x100d94b0
lea ecx, [ebp - 0x148]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d94e6
test dl, dl
je 0x100d94e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d94e6
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d94c6
xor eax, eax
jmp 0x100d94eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d94fb
mov dword [ebx], 0x41a80000
mov dword [edi], 0x44480000
movaps xmm0, xmmword [0x10104e00]
mov eax, 0x10
xorps xmm0, xmm1
mov dword [ebp - 0xfc], 0xadfdeeec
movups xmmword [ebp - 0x10c], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x10c], 0xad
inc eax
cmp eax, 0x14
jb 0x100d9520
lea ecx, [ebp - 0x10c]
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100d9556
test dl, dl
je 0x100d9552
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100d9556
add eax, 2
add ecx, 2
test dl, dl
jne 0x100d9536
xor eax, eax
jmp 0x100d955b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d956b
mov dword [ebx], 0x41700000
mov dword [edi], 0x43fa0000
movaps xmm0, xmmword [0x10105c30]
mov eax, 0x10
xorps xmm0, xmm1
mov dword [ebp - 0x90], 0xe5fee6ee
mov word [ebp - 0x8c], 0xf9e2
mov byte [ebp - 0x8a], 0xad
movups xmmword [ebp - 0xa0], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0xa0], 0xad
inc eax
cmp eax, 0x17
jb 0x100d95a0
lea eax, [ebp - 0xa0]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x100d95d4
test cl, cl
je 0x100d95d0
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x100d95d4
add esi, 2
add eax, 2
test cl, cl
jne 0x100d95b4
xor eax, eax
jmp 0x100d95d9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100d95e1
mov dword [ebx], eax
mov dword [edi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret