Function at 0x1000d0c0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1014508d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x60
mov eax, dword [0x101e66fc]
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x1c], edi
movss xmm0, dword [edi + 8]
movss dword [ebp - 0x18], xmm0
test eax, eax
jne 0x1000d13a
mov edx, 0xe80c2f78
mov ecx, 0x101708ad
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
movss xmm0, dword [ebp - 0x18]
mov dword [0x101e66fc], eax
mov esi, dword [ebx + 8]
movss dword [eax + esi], xmm0
mov eax, dword [edi + 0x6c]
movq xmm0, qword [edi + 0x64]
mov dword [ebp - 0x18], eax
mov eax, dword [0x101edebc]
movq qword [ebp - 0x30], xmm0
test eax, eax
jne 0x1000d18f
mov edx, 0xe80c2f78
mov ecx, 0x10171255
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170e91
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
movq xmm0, qword [ebp - 0x30]
mov esi, dword [ebx + 8]
mov dword [0x101edebc], eax
mov ecx, dword [ebp - 0x18]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [edi + 0x78]
movq xmm0, qword [edi + 0x70]
mov dword [ebp - 0x18], eax
mov eax, dword [0x101edec0]
movq qword [ebp - 0x30], xmm0
test eax, eax
jne 0x1000d1e8
mov edx, 0xe80c2f78
mov ecx, 0x10171261
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170e91
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
movq xmm0, qword [ebp - 0x30]
mov esi, dword [ebx + 8]
mov dword [0x101edec0], eax
mov ecx, dword [ebp - 0x18]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov eax, dword [edi + 0x54]
movq xmm0, qword [edi + 0x4c]
mov dword [ebp - 0x18], eax
mov eax, dword [0x101e66d0]
movq qword [ebp - 0x30], xmm0
test eax, eax
jne 0x1000d241
mov edx, 0xe80c2f78
mov ecx, 0x101708c1
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170891
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
movq xmm0, qword [ebp - 0x30]
mov esi, dword [ebx + 8]
mov dword [0x101e66d0], eax
mov ecx, dword [ebp - 0x18]
movq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
lea ecx, [edi + 0x4c]
mov eax, dword [0x101ee778]
push ecx
mov ecx, esi
call eax
movq xmm0, qword [edi + 0x34]
mov eax, dword [edi + 0x3c]
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x101e66ac]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101e6778]
cmp eax, dword [ecx + 4]
jg 0x1000d33a
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
call dword [0x101e675c]
mov eax, dword [ebx + 8]
lea esi, [edi + 0x7c]
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x54
mov edx, 0xe80c2f78
mov edi, dword [eax + 0x2990]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x1017126d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
mov ecx, dword [ebp - 0x1c]
add eax, dword [ebx + 8]
pop edi
pop esi
movups xmm0, xmmword [ecx + 0x118c]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x119c]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x11ac]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x11bc]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [ecx + 0x11cc]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [ecx + 0x11dc]
mov ecx, dword [ebp - 0xc]
movups xmmword [eax + 0x50], xmm0
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x101e6778
call fcn.1006d07f
add esp, 4
cmp dword [0x101e6778], 0xffffffff
jne 0x1000d291
movaps xmm0, xmmword [0x1017fd80]
xor ecx, ecx
movaps xmm2, xmmword [0x1017f9b0]
movups xmmword [ebp - 0x69], xmm0
mov dword [ebp - 0x49], 0xa4b3b1a4
movaps xmm0, xmmword [0x1017fb40]
movups xmmword [ebp - 0x59], xmm0
mov dword [ebp - 0x45], 0xc2a4c6bc
mov dword [ebp - 0x41], 0xbcc1a4b5
mov byte [ebp - 0x3d], 0x84
jmp 0x1000d390
movups xmm0, xmmword [ebp + ecx - 0x69]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + ecx - 0x69], xmm1
add ecx, 0x10
cmp ecx, 0x20
jb 0x1000d390
cmp ecx, 0x2d
jae 0x1000d3bd
jmp 0x1000d3b0
xor byte [ebp + ecx - 0x69], 0x84
inc ecx
cmp ecx, 0x2d
jb 0x1000d3b0
jmp 0x1000d3bd
mov dword [ebp - 0x30], 0xe1ede8e7
xor ecx, ecx
mov dword [ebp - 0x2c], 0xe0aaf0ea
mov word [ebp - 0x28], 0xe8e8
mov byte [ebp - 0x26], 0x84
jmp 0x1000d3e0
xor byte [ebp + ecx - 0x30], 0x84
inc ecx
cmp ecx, 0xb
jb 0x1000d3e0
lea edx, [ebp - 0x69]
lea ecx, [ebp - 0x30]
call fcn.100c53f0
push 0x101e6778
mov dword [0x101e675c], eax
call fcn.1006d02e
add esp, 4
jmp 0x1000d291