Function at 0x100d09e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
cmp dword [0x10138228], 0
jne 0x100d0a9c
mov dword [ebp - 0x10], 0xbcb1ad96
xor eax, eax
mov dword [ebp - 0xc], 0xbcadf9ab
mov dword [ebp - 8], 0xabacada1
mov word [ebp - 4], 0xaabc
mov byte [ebp - 2], 0xd9
xor byte [ebp + eax - 0x10], 0xd9
inc eax
cmp eax, 0xf
jb 0x100d0a14
movaps xmm0, xmmword [0x100e6bc0]
xor eax, eax
movaps xmm2, xmmword [0x100e70f0]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x18], 0xbf86e8af
movaps xmm0, xmmword [0x100e6e40]
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xd9bcabb0
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x38]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x38], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x100d0a50
cmp eax, 0x28
jae 0x100d0a7b
nop dword [eax]
xor byte [ebp + eax - 0x38], 0xd9
inc eax
cmp eax, 0x28
jb 0x100d0a70
mov ecx, dword [0x10132fe8]
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 [0x10138228], eax
cmp dword [0x1013822c], 0
jne 0x100d0b46
mov dword [ebp - 0x10], 0xbcb1ad96
xor eax, eax
mov dword [ebp - 0xc], 0xbcadf9ab
mov dword [ebp - 8], 0xabacada1
mov word [ebp - 4], 0xaabc
mov byte [ebp - 2], 0xd9
nop word [eax + eax]
xor byte [ebp + eax - 0x10], 0xd9
inc eax
cmp eax, 0xf
jb 0x100d0ad0
movaps xmm0, xmmword [0x100e6bc0]
xor eax, eax
movaps xmm1, xmmword [0x100e70f0]
movups xmmword [ebp - 0x40], xmm0
movaps xmm0, xmmword [0x100e6e40]
movups xmmword [ebp - 0x30], xmm0
movaps xmm0, xmmword [0x100e70b0]
movups xmmword [ebp - 0x20], xmm0
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x40]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x40], xmm0
add eax, 0x10
cmp eax, 0x30
jb 0x100d0b10
mov ecx, dword [0x10132fe8]
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 [0x1013822c], eax
cmp dword [0x10138230], 0
jne 0x100d0bfc
mov dword [ebp - 0x10], 0xbcb1ad96
xor eax, eax
mov dword [ebp - 0xc], 0xbcadf9ab
mov dword [ebp - 8], 0xabacada1
mov word [ebp - 4], 0xaabc
mov byte [ebp - 2], 0xd9
xor byte [ebp + eax - 0x10], 0xd9
inc eax
cmp eax, 0xf
jb 0x100d0b74
movaps xmm0, xmmword [0x100e6bc0]
xor eax, eax
movaps xmm2, xmmword [0x100e70f0]
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x1c], 0xbc86e8af
movaps xmm0, xmmword [0x100e6e40]
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0xaabdb6b4
mov byte [ebp - 0x14], 0xd9
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 0x100d0bb0
cmp eax, 0x29
jae 0x100d0bdb
nop dword [eax]
xor byte [ebp + eax - 0x3c], 0xd9
inc eax
cmp eax, 0x29
jb 0x100d0bd0
mov ecx, dword [0x10132fe8]
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 [0x10138230], eax
cmp dword [0x10138234], 0
jne 0x100d0cbc
mov dword [ebp - 0x10], 0xbcb1ad96
xor eax, eax
mov dword [ebp - 0xc], 0xbcadf9ab
mov dword [ebp - 8], 0xabacada1
mov word [ebp - 4], 0xaabc
mov byte [ebp - 2], 0xd9
nop word [eax + eax]
xor byte [ebp + eax - 0x10], 0xd9
inc eax
cmp eax, 0xf
jb 0x100d0c30
movaps xmm0, xmmword [0x100e6bc0]
xor eax, eax
movaps xmm2, xmmword [0x100e70f0]
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x14], 0xd9adaaac
movaps xmm0, xmmword [0x100e6e40]
movups xmmword [ebp - 0x34], xmm0
movaps xmm0, xmmword [0x100e6ea0]
movups xmmword [ebp - 0x24], xmm0
nop dword [eax]
movups xmm0, xmmword [ebp + eax - 0x44]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0x44], xmm1
add eax, 0x10
cmp eax, 0x30
jb 0x100d0c70
cmp eax, 0x34
jae 0x100d0c9b
nop dword [eax]
xor byte [ebp + eax - 0x44], 0xd9
inc eax
cmp eax, 0x34
jb 0x100d0c90
mov ecx, dword [0x10132fe8]
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 [0x10138234], eax
push 1
push dword [0x100fc8b4]
push dword [0x100fc8b0]
call fcn.100d78a0
mov ecx, dword [0x10138228]
cmp eax, dword [0x100fc8b4]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
je 0x100d0d73
call eax
test al, al
jne 0x100d0cff
mov ecx, dword [0x10138228]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x1013822c]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100d0d23
mov ecx, dword [0x1013822c]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x10138230]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100d0d47
mov ecx, dword [0x10138230]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x10138234]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
jne 0x100d0df6
mov ecx, dword [0x10138234]
push 1
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov esp, ebp
pop ebp
ret
call eax
test al, al
je 0x100d0d8a
mov ecx, dword [0x10138228]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x1013822c]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100d0dae
mov ecx, dword [0x1013822c]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x10138230]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100d0dd2
mov ecx, dword [0x10138230]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov ecx, dword [0x10138234]
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100d0df6
mov ecx, dword [0x10138234]
push 0
push 4
mov eax, dword [ecx]
mov eax, dword [eax + 0x74]
call eax
mov esp, ebp
pop ebp
ret