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 0x10144ebd
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, 0x1017086d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
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, 0x10171245
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170e75
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
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, 0x10171239
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170e75
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
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, 0x10170881
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170851
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
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, 0x10171251
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
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.1006d20f
add esp, 4
cmp dword [0x101e6778], 0xffffffff
jne 0x1000d291
movaps xmm0, xmmword [0x1017fab0]
xor ecx, ecx
movaps xmm2, xmmword [0x1017fe80]
movups xmmword [ebp - 0x69], xmm0
mov dword [ebp - 0x49], 0xf4e3e1f4
movaps xmm0, xmmword [0x1017ff10]
movups xmmword [ebp - 0x59], xmm0
mov dword [ebp - 0x45], 0x92f496ec
mov dword [ebp - 0x41], 0xec91f4e5
mov byte [ebp - 0x3d], 0xd4
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], 0xd4
inc ecx
cmp ecx, 0x2d
jb 0x1000d3b0
jmp 0x1000d3bd
mov dword [ebp - 0x30], 0xb1bdb8b7
xor ecx, ecx
mov dword [ebp - 0x2c], 0xb0faa0ba
mov word [ebp - 0x28], 0xb8b8
mov byte [ebp - 0x26], 0xd4
jmp 0x1000d3e0
xor byte [ebp + ecx - 0x30], 0xd4
inc ecx
cmp ecx, 0xb
jb 0x1000d3e0
lea edx, [ebp - 0x69]
lea ecx, [ebp - 0x30]
call fcn.100c52b0
push 0x101e6778
mov dword [0x101e675c], eax
call fcn.1006d1be
add esp, 4
jmp 0x1000d291