Function at 0x1001d450
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f48b9
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x1011e00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x1012075d], 0
je 0x1001d92d
mov ecx, dword [0x101202f8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1001d92d
mov ecx, dword [0x101202f8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1001d92d
mov edi, dword [0x10120420]
test edi, edi
je 0x1001d92d
mov eax, dword [0x10120334]
test eax, eax
jne 0x1001d4f9
call fcn.100034c0
mov edx, 0xe80c2f78
mov ecx, 0x10110195
call fcn.100018f0
mov edx, 0xc10bf213
mov ecx, 0x101100ad
mov esi, eax
call fcn.100018f0
push esi
push eax
call fcn.1008e510
mov dword [0x10120334], eax
cmp dword [eax + edi], 0
jle 0x1001d92d
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101202c4]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x101209c0]
cmp eax, dword [esi + 4]
jle 0x1001d59a
push 0x101209c0
call fcn.100f24cd
add esp, 4
cmp dword [0x101209c0], 0xffffffff
jne 0x1001d59a
mov dword [ebp - 4], 0
xor edx, edx
mov ecx, dword [0x1012031c]
movaps xmm0, xmmword [0x101183b0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x43644f
mov eax, dword [ecx]
mov edi, dword [eax + 0x44]
nop dword [eax + eax]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d560
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call edi
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
push 0x101209c0
fstp dword [0x101209bc]
mov dword [ebp - 4], 0xffffffff
call fcn.100f2483
add esp, 4
mov eax, dword [0x10120978]
cmp eax, dword [esi + 4]
jle 0x1001d61d
push 0x10120978
call fcn.100f24cd
add esp, 4
cmp dword [0x10120978], 0xffffffff
jne 0x1001d61d
mov dword [ebp - 4], 1
xor edx, edx
mov ecx, dword [0x1012031c]
movaps xmm0, xmmword [0x10118820]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x72547f
mov eax, dword [ecx]
mov edi, dword [eax + 0x44]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d5e3
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call edi
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
push 0x10120978
fstp dword [0x10120974]
mov dword [ebp - 4], 0xffffffff
call fcn.100f2483
add esp, 4
mov eax, dword [0x1012098c]
cmp eax, dword [esi + 4]
jle 0x1001d6a0
push 0x1012098c
call fcn.100f24cd
add esp, 4
cmp dword [0x1012098c], 0xffffffff
jne 0x1001d6a0
mov dword [ebp - 4], 2
xor edx, edx
mov ecx, dword [0x1012031c]
movaps xmm0, xmmword [0x101186a0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x785d76
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d666
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
push 0x1012098c
fstp dword [0x101209e4]
mov dword [ebp - 4], 0xffffffff
call fcn.100f2483
add esp, 4
mov ecx, dword [0x1012031c]
xor edx, edx
movaps xmm0, xmmword [0x101183f0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x7d5a71
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d6c0
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
mov ecx, dword [0x1012031c]
xor edx, edx
movaps xmm0, xmmword [0x10117390]
movups xmmword [ebp - 0x38], xmm0
mov dword [eax + 0x60], 0
mov eax, dword [ecx]
mov dword [ebp - 0x28], 0x1b3d16
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d700
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
mov ecx, dword [0x1012031c]
xor edx, edx
movaps xmm0, xmmword [0x10118350]
movups xmmword [ebp - 0x24], xmm0
mov dword [eax + 0x60], 0
mov eax, dword [ecx]
mov dword [ebp - 0x14], 0x44614a
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d740
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
mov ecx, dword [0x1012031c]
xor edx, edx
mov dword [eax + 0x60], 0
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
cmp byte [0x1012075d], dl
je 0x1001d854
movaps xmm0, xmmword [0x10117580]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0x52209
nop dword [eax]
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d790
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
movss xmm0, dword [0x10120768]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x1012031c]
xor edx, edx
movaps xmm0, xmmword [0x101175d0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x7210a
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d7e0
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
movss xmm0, dword [0x10120750]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x1012031c]
xor edx, edx
movaps xmm0, xmmword [0x101176b0]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0x3d1833
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d830
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
movss xmm0, dword [0x10120760]
jmp 0x1001d91f
movaps xmm0, xmmword [0x10118180]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0x557259
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d866
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
movss xmm0, dword [0x101209bc]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x1012031c]
xor edx, edx
movaps xmm0, xmmword [0x10117cf0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x22042f
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d8b2
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
movss xmm0, dword [0x10120974]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x1012031c]
xor edx, edx
movaps xmm0, xmmword [0x101173a0]
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0x173219
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop
mov al, byte [ebp - 0x4c]
xor byte [ebp + edx - 0x4b], al
inc edx
cmp edx, 0x12
jb 0x1001d900
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x39], 0
push eax
call esi
movss xmm0, dword [0x101209e4]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f238c
mov esp, ebp
pop ebp
ret