Function at 0x100c99b0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1014690d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x6a8
mov eax, dword [0x101e66e8]
mov edx, dword [0x101e671c]
push esi
push edi
movss xmm0, dword [eax + 0x10]
mov edi, dword [0x101ee7f0]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [eax + 0x14]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [edx + 0x103c0]
ucomiss xmm0, dword [edi + 0x9b8]
mov dword [ebp - 0x28], edi
lahf
test ah, 0x44
jnp 0x100c9b11
mov ecx, edx
call fcn.100075e0
mov ecx, dword [0x101e66ac]
mov edx, dword [0x101e671c]
mov dword [ebp - 0x34], edx
mov eax, dword [eax]
mov dword [edi + 0x9d0], eax
mov dword [edi + 0x9cc], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101e6754]
cmp eax, dword [ecx + 4]
jg 0x100caa1c
jmp 0x100c9a6b
mov edx, dword [0x101e671c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x101e6774]
mov esi, dword [0x101ee118]
mov eax, dword [eax + ecx]
mov ecx, 0xd2
mov dword [edi + 0x9c8], eax
mov dword [edi + 0x9c4], eax
mov eax, dword [edx + 0x103c0]
mov dword [edi + 0x9b8], eax
add edi, 0x670
mov esi, dword [esi + edx]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [edx + 0x2990]
mov ecx, 0xb6
mov edi, dword [ebp - 0x28]
add edi, 0x2d8
rep movsd dword es:[edi], dword [esi]
movups xmm0, xmmword [edx + 0x2778]
mov edi, dword [ebp - 0x28]
movups xmmword [edi + 0x610], xmm0
movups xmm0, xmmword [edx + 0x2788]
movups xmmword [edi + 0x620], xmm0
movups xmm0, xmmword [edx + 0x2798]
movups xmmword [edi + 0x630], xmm0
movups xmm0, xmmword [edx + 0x27a8]
movups xmmword [edi + 0x640], xmm0
movups xmm0, xmmword [edx + 0x27b8]
movups xmmword [edi + 0x650], xmm0
movups xmm0, xmmword [edx + 0x27c8]
movups xmmword [edi + 0x660], xmm0
mov eax, dword [0x101e6784]
cmp byte [eax], 0
jne 0x100c9b80
mov eax, dword [0x101e6788]
test byte [eax + 0x30], 1
je 0x100c9b80
mov ecx, dword [0x101e6780]
mov byte [ebp - 0x2c], 0
test ecx, ecx
je 0x100c9b41
call fcn.1000ad00
cmp word [eax], 0x40
sete byte [ebp - 0x2c]
push dword [ebp - 0x2c]
push ecx
call fcn.10143e60
test al, al
je 0x100c9b7a
mov eax, dword [0x101e6784]
cmp byte [eax], 0
jne 0x100c9b7a
mov eax, dword [0x101e6788]
mov byte [edi + 0x21e0], 1
movq xmm0, qword [eax + 0xc]
movq qword [edi + 0x21e4], xmm0
mov eax, dword [eax + 0x14]
mov dword [edi + 0x21ec], eax
mov edx, dword [0x101e671c]
mov ecx, edx
call fcn.100075e0
mov ecx, dword [0x101e671c]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
call fcn.10007560
movss xmm0, dword [eax]
movss dword [ebp - 0x5c], xmm0
call fcn.1000acb0
mov ecx, dword [0x101e671c]
movss xmm0, dword [eax]
movss dword [ebp - 0x58], xmm0
call fcn.10007660
mov ecx, dword [0x101e671c]
movss xmm0, dword [eax]
mov eax, dword [ecx + 0x31f0]
movss dword [ebp - 0x54], xmm0
movq xmm0, qword [ecx + 0x31e8]
movq qword [ebp - 0x98], xmm0
mov dword [ebp - 0x34], eax
call fcn.1000aa10
mov ecx, dword [0x101e66e8]
movd xmm0, dword [eax]
movss xmm1, dword [ecx + 0x20]
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x14], xmm1
mulss xmm0, xmm1
movss dword [ecx + 0x10], xmm0
mov ecx, dword [0x101e671c]
call fcn.10007620
mov ecx, dword [0x101e671c]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ecx + 0x94], xmm0
mov dword [ecx + 0x9c], eax
mov eax, dword [0x101e6788]
movq xmm0, qword [eax + 0xc]
mov eax, dword [eax + 0x14]
movq qword [ecx + 0x31e8], xmm0
mov dword [ecx + 0x31f0], eax
mov eax, dword [0x101e66ac]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101eef04]
cmp eax, dword [ecx + 4]
jg 0x100caa83
mov ecx, dword [0x101eef08]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x18], eax
call dword [ebp - 0x18]
fstp dword [ebp - 0x18]
call fcn.1000ac60
movss xmm0, dword [ebp - 0x18]
mulss xmm0, dword [eax]
movss dword [ebp - 0x18], xmm0
call fcn.1000ac10
movss xmm0, dword [ebp - 0x18]
movss xmm1, dword [0x1017f0e8]
mov edx, dword [0x101e671c]
mov ecx, dword [0x101e6784]
movss dword [eax], xmm0
mov eax, dword [0x101e66e8]
movss xmm0, dword [eax]
subss xmm0, dword [edi + 0x21f0]
comiss xmm1, xmm0
jb 0x100c9ce7
cmp byte [ecx], 0
je 0x100c9ce7
movq xmm0, qword [edi + 0x21f4]
mov eax, dword [edi + 0x21fc]
movq qword [edx + 0x31e8], xmm0
mov dword [edx + 0x31f0], eax
cmp byte [edi + 0x21e0], 0
je 0x100c9d11
cmp byte [ecx], 0
je 0x100c9d11
movq xmm0, qword [edi + 0x21e4]
mov eax, dword [edi + 0x21ec]
movq qword [edx + 0x31e8], xmm0
mov dword [edx + 0x31f0], eax
mov eax, dword [0x101ee118]
xorps xmm0, xmm0
mov dword [edx + 0x31f0], 0
xor ecx, ecx
movups xmmword [ebp - 0x90], xmm0
mov eax, dword [eax + edx]
mov dword [eax + 0x70], 0xffffffff
nop word [eax + eax]
mov eax, dword [edx + 0x2990]
mov dword [eax + ecx + 0x30], edx
add ecx, 0x38
cmp ecx, 0x2d8
jl 0x100c9d40
push 0
mov ecx, edi
call fcn.100c90f0
mov eax, dword [0x101e66e0]
mov ecx, dword [0x101e671c]
mov dword [ebp - 0x18], ecx
test eax, eax
jne 0x100c9da2
mov edx, 0xe80c2f78
mov ecx, 0x10170901
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170919
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, dword [0x101e671c]
mov dword [0x101e66e0], eax
mov edx, dword [ebp - 0x18]
mov dl, byte [edx + eax]
mov byte [ebp - 0x1d], dl
mov edx, ecx
mov dword [ebp - 0x18], edx
test eax, eax
jne 0x100c9de9
mov edx, 0xe80c2f78
mov ecx, 0x10170901
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170919
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, dword [0x101e671c]
mov edx, dword [ebp - 0x18]
mov dword [0x101e66e0], eax
mov byte [edx + eax], 1
mov eax, dword [ecx]
mov byte [0x101e6721], 1
mov eax, dword [eax + 0x380]
call eax
mov eax, dword [0x101e66e0]
mov edx, dword [0x101e671c]
mov byte [0x101e6721], 0
mov dword [ebp - 0x18], edx
test eax, eax
jne 0x100c9e43
mov edx, 0xe80c2f78
mov ecx, 0x10170901
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170919
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov dword [0x101e66e0], eax
cmp dword [0x101e6714], 0
mov ecx, dword [ebp - 0x18]
mov dl, byte [ebp - 0x1d]
mov byte [ecx + eax], dl
mov ecx, 0xb6
mov edx, dword [0x101e671c]
movups xmm0, xmmword [edx + 0x2778]
movups xmmword [edi + 0x5b0], xmm0
movups xmm0, xmmword [edx + 0x2788]
movups xmmword [edi + 0x5c0], xmm0
movups xmm0, xmmword [edx + 0x2798]
movups xmmword [edi + 0x5d0], xmm0
movups xmm0, xmmword [edx + 0x27a8]
movups xmmword [edi + 0x5e0], xmm0
movups xmm0, xmmword [edx + 0x27b8]
movups xmmword [edi + 0x5f0], xmm0
movups xmm0, xmmword [edx + 0x27c8]
movups xmmword [edi + 0x600], xmm0
mov esi, dword [edx + 0x2990]
rep movsd dword es:[edi], dword [esi]
mov edi, edx
jne 0x100c9ef0
mov edx, 0xe80c2f78
mov ecx, 0x101708d1
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e6714], eax
cmp dword [0x101e66d8], 0
mov eax, dword [0x101e6714]
mov ecx, dword [ebp - 0x50]
mov dword [edi + eax], ecx
mov edi, edx
jne 0x100c9f38
mov edx, 0xe80c2f78
mov ecx, 0x101708f1
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e66d8], eax
cmp dword [0x101e6768], 0
mov eax, dword [0x101e66d8]
movss xmm0, dword [ebp - 0x54]
movss dword [edi + eax], xmm0
mov edi, edx
jne 0x100c9f84
mov edx, 0xe80c2f78
mov ecx, 0x10170ead
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e6768], eax
cmp dword [0x101e6728], 0
mov eax, dword [0x101e6768]
movss xmm0, dword [ebp - 0x58]
movss dword [edi + eax], xmm0
mov edi, edx
jne 0x100c9fd0
mov edx, 0xe80c2f78
mov ecx, 0x101708ad
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e6728], eax
mov eax, dword [0x101e6728]
movss xmm0, dword [ebp - 0x5c]
movss dword [edi + eax], xmm0
movq xmm0, qword [ebp - 0x98]
mov eax, dword [ebp - 0x34]
movq qword [edx + 0x31e8], xmm0
mov dword [edx + 0x31f0], eax
mov eax, dword [0x101e6784]
cmp byte [eax], 0
je 0x100ca8ab
lea ecx, [ebp - 0x6b8]
call fcn.10008830
mov dword [ebp - 4], 2
lea edi, [ebp - 0x6b8]
cmp byte [0x101e677c], 0
mov ecx, 0xd2
mov esi, dword [0x101ee118]
mov eax, dword [0x101e6788]
mov esi, dword [esi + edx]
movq xmm0, qword [eax + 0xc]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [eax + 0x14]
movq qword [ebp - 0x48], xmm0
je 0x100ca05c
movq xmm0, qword [0x101e50ec]
mov edi, dword [0x101e50f4]
movq qword [ebp - 0x48], xmm0
mov eax, dword [0x101e6724]
mov ecx, edx
mov dword [ebp - 0x18], ecx
test eax, eax
jne 0x100ca09f
mov edx, 0xe80c2f78
mov ecx, 0x10170899
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov ecx, dword [ebp - 0x18]
mov dword [0x101e6724], eax
movq xmm0, qword [ebp - 0x48]
movq qword [ecx + eax], xmm0
mov dword [ecx + eax + 8], edi
mov ecx, dword [0x101e671c]
movq qword [edx + 0x31e8], xmm0
mov dword [edx + 0x31f0], edi
mov edx, dword [ebp - 0x28]
push 0
lea edx, [edx + 0x2200]
call fcn.100cab10
mov edx, dword [ebp - 0x28]
lea edi, [ebp - 0x370]
mov ecx, dword [0x101e671c]
add esp, 4
mov dword [ebp - 0x24], ecx
movups xmm0, xmmword [edx + 0x3b8]
mov eax, dword [ecx + 0x2990]
mov esi, eax
mov ecx, 0xb6
rep movsd dword es:[edi], dword [esi]
movups xmmword [ebp - 0x290], xmm0
mov edi, eax
mov ecx, 0xb6
movups xmm0, xmmword [edx + 0x3c8]
lea esi, [ebp - 0x370]
lea eax, [edx + 0x670]
movups xmmword [ebp - 0x280], xmm0
mov dword [ebp - 0x40], eax
movups xmm0, xmmword [edx + 0x3d8]
movups xmmword [ebp - 0x270], xmm0
movq xmm0, qword [edx + 0x3e8]
movq qword [ebp - 0x260], xmm0
movups xmm0, xmmword [edx + 0x3f0]
movups xmmword [ebp - 0x258], xmm0
movups xmm0, xmmword [edx + 0x400]
movups xmmword [ebp - 0x248], xmm0
movups xmm0, xmmword [edx + 0x410]
movups xmmword [ebp - 0x238], xmm0
movq xmm0, qword [edx + 0x420]
movq qword [ebp - 0x228], xmm0
movups xmm0, xmmword [edx + 0x540]
movups xmmword [ebp - 0x108], xmm0
movups xmm0, xmmword [edx + 0x550]
movups xmmword [ebp - 0xf8], xmm0
movups xmm0, xmmword [edx + 0x560]
movups xmmword [ebp - 0xe8], xmm0
movq xmm0, qword [edx + 0x570]
movq qword [ebp - 0xd8], xmm0
movups xmm0, xmmword [edx + 0x578]
movups xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [edx + 0x588]
movups xmmword [ebp - 0xc0], xmm0
movups xmm0, xmmword [edx + 0x598]
movups xmmword [ebp - 0xb0], xmm0
movq xmm0, qword [edx + 0x5a8]
mov edx, dword [ebp - 0x24]
movq qword [ebp - 0xa0], xmm0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [0x101ee118]
mov esi, eax
mov ecx, 0xd2
mov eax, dword [0x101e6760]
mov edi, dword [edi + edx]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
movups xmm0, xmmword [edi + 0x610]
movups xmmword [edx + 0x2778], xmm0
movups xmm0, xmmword [edi + 0x620]
movups xmmword [edx + 0x2788], xmm0
movups xmm0, xmmword [edi + 0x630]
movups xmmword [edx + 0x2798], xmm0
movups xmm0, xmmword [edi + 0x640]
movups xmmword [edx + 0x27a8], xmm0
movups xmm0, xmmword [edi + 0x650]
movups xmmword [edx + 0x27b8], xmm0
movups xmm0, xmmword [edi + 0x660]
movups xmmword [edx + 0x27c8], xmm0
mov eax, dword [eax + 0x4d30]
mov dword [ebp - 0x2c], eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x4c], 1
cmp eax, 1
jl 0x100ca5ce
mov eax, dword [0x101e6748]
mov dword [ebp - 0x1c], edx
test eax, eax
jne 0x100ca2c4
mov edx, 0xe80c2f78
mov ecx, 0x10170e21
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e6748], eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + ecx]
sub eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x4c]
mov ecx, dword [0x101e66e8]
movd xmm0, eax
movss xmm1, dword [ecx + 0x20]
mov eax, dword [0x101e66f8]
movss dword [ecx + 0x14], xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 0x10], xmm0
mov ecx, edx
mov dword [ebp - 0x1c], ecx
test eax, eax
jne 0x100ca336
mov edx, 0xe80c2f78
mov ecx, 0x101708dd
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170851
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov ecx, dword [ebp - 0x1c]
mov dword [0x101e66f8], eax
mov dword [ebp - 0x24], edx
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
mov esi, dword [0x101e6758]
movq qword [edx + 0x94], xmm0
mov dword [edx + 0x9c], eax
test esi, esi
jne 0x100ca386
mov edx, 0xe80c2f78
mov ecx, 0x10170e9d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170851
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov esi, eax
mov dword [0x101e6758], esi
mov ecx, dword [0x101eef08]
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
mov dword [ebp - 0x1c], edx
call dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x101e6770]
fstp dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [ecx + esi]
mov ecx, dword [0x101e671c]
mov dword [ebp - 0x24], ecx
movss dword [ebp - 0x1c], xmm0
test eax, eax
jne 0x100ca3f5
mov edx, 0xe80c2f78
mov ecx, 0x10170e85
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 [0x101e671c]
movss xmm0, dword [ebp - 0x1c]
mov dword [0x101e6770], eax
cmp dword [ebp - 0x2c], 1
mov edx, dword [ebp - 0x24]
movss dword [eax + edx], xmm0
mov eax, dword [0x101e6788]
movq xmm0, qword [eax + 0xc]
mov eax, dword [eax + 0x14]
movq qword [ecx + 0x31e8], xmm0
mov dword [ecx + 0x31f0], eax
jge 0x100ca487
mov eax, dword [0x101e66e8]
movss xmm1, dword [0x1017f0e8]
movss xmm0, dword [eax]
subss xmm0, dword [edi + 0x21f0]
comiss xmm1, xmm0
jb 0x100ca458
movq xmm0, qword [edi + 0x21f4]
mov eax, dword [edi + 0x21fc]
movq qword [ecx + 0x31e8], xmm0
mov dword [ecx + 0x31f0], eax
cmp byte [edi + 0x21e0], 0
je 0x100ca47d
movq xmm0, qword [edi + 0x21e4]
mov eax, dword [edi + 0x21ec]
movq qword [ecx + 0x31e8], xmm0
mov dword [ecx + 0x31f0], eax
mov dword [ecx + 0x31f0], 0
mov eax, dword [0x101ee118]
xor edx, edx
mov eax, dword [eax + ecx]
mov dword [eax + 0x70], 0xfffffa30
nop dword [eax + eax]
mov eax, dword [ecx + 0x2990]
mov dword [eax + edx + 0x30], ecx
add edx, 0x38
cmp edx, 0x2d8
jl 0x100ca4a0
push 1
mov ecx, edi
call fcn.100c90f0
mov eax, dword [0x101e66e0]
mov ecx, dword [0x101e671c]
mov dword [ebp - 0x1c], ecx
test eax, eax
jne 0x100ca502
mov edx, 0xe80c2f78
mov ecx, 0x10170901
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170919
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, dword [0x101e671c]
mov dword [0x101e66e0], eax
mov edx, dword [ebp - 0x1c]
mov dl, byte [edx + eax]
mov byte [ebp - 0x1d], dl
mov edx, ecx
mov dword [ebp - 0x1c], edx
test eax, eax
jne 0x100ca549
mov edx, 0xe80c2f78
mov ecx, 0x10170901
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170919
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov ecx, dword [0x101e671c]
mov edx, dword [ebp - 0x1c]
mov dword [0x101e66e0], eax
mov byte [edx + eax], 1
mov eax, dword [ecx]
mov byte [0x101e6721], 1
mov eax, dword [eax + 0x380]
call eax
mov edx, dword [0x101e671c]
mov eax, dword [0x101e66e0]
mov byte [0x101e6721], 0
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], edx
test eax, eax
jne 0x100ca5af
mov edx, 0xe80c2f78
mov ecx, 0x10170901
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170919
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e66e0], eax
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x1d]
dec dword [ebp - 0x2c]
mov byte [ecx + eax], dl
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, dword [ebp - 0x18]
jle 0x100ca283
mov eax, dword [0x101e6788]
mov esi, dword [0x101e6724]
mov ecx, dword [eax + 0x14]
movq xmm0, qword [eax + 0xc]
mov dword [ebp - 0x18], ecx
mov ecx, edx
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x1c], ecx
test esi, esi
jne 0x100ca637
mov edx, 0xe80c2f78
mov ecx, 0x10170899
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov esi, eax
mov eax, dword [0x101e6788]
movq xmm0, qword [ebp - 0x30]
mov ecx, dword [ebp - 0x1c]
mov dword [0x101e6724], esi
mov dword [ebp - 0x24], edx
mov edi, dword [ebp - 0x18]
movq qword [ecx + esi], xmm0
mov dword [ecx + esi + 8], edi
movq xmm0, qword [eax + 0xc]
mov edi, dword [ebp - 0x28]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x24]
movq qword [edx + 0x31e8], xmm0
mov dword [edx + 0x31f0], eax
lea esi, [edi + 0x5200]
push 0
mov edx, esi
call fcn.100cab10
add esp, 4
lea eax, [edi + 0x8200]
push 0x3000
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [0x101e671c]
mov ecx, 0xd2
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov esi, dword [0x101ee118]
mov edi, dword [ebp - 0x40]
mov esi, dword [esi + edx]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [edx + 0x2990]
lea edi, [eax + 0x2d8]
mov ecx, 0xb6
rep movsd dword es:[edi], dword [esi]
movups xmm0, xmmword [edx + 0x2778]
mov ecx, eax
movups xmmword [eax + 0x610], xmm0
movups xmm0, xmmword [edx + 0x2788]
movups xmmword [eax + 0x620], xmm0
movups xmm0, xmmword [edx + 0x2798]
movups xmmword [eax + 0x630], xmm0
movups xmm0, xmmword [edx + 0x27a8]
movups xmmword [eax + 0x640], xmm0
movups xmm0, xmmword [edx + 0x27b8]
movups xmmword [eax + 0x650], xmm0
movups xmm0, xmmword [edx + 0x27c8]
movups xmmword [eax + 0x660], xmm0
mov edi, dword [edx + 0x2990]
lea edx, [ebp - 0x370]
push edx
call fcn.100c8ac0
mov edx, dword [0x101e671c]
mov esi, eax
mov eax, dword [0x101ee118]
mov ecx, 0xb6
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xd2
mov dword [ebp - 0x2c], 0x100
mov edi, dword [eax + edx]
lea esi, [ebp - 0x6b8]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x28]
movups xmm0, xmmword [esi + 0x5b0]
lea eax, [esi + 0x9d4]
mov dword [ebp - 0x18], eax
lea edi, [esi + 0x221c]
movups xmmword [edx + 0x2778], xmm0
movups xmm0, xmmword [esi + 0x5c0]
movups xmmword [edx + 0x2788], xmm0
movups xmm0, xmmword [esi + 0x5d0]
movups xmmword [edx + 0x2798], xmm0
movups xmm0, xmmword [esi + 0x5e0]
movups xmmword [edx + 0x27a8], xmm0
movups xmm0, xmmword [esi + 0x5f0]
movups xmmword [edx + 0x27b8], xmm0
movups xmm0, xmmword [esi + 0x600]
movups xmmword [edx + 0x27c8], xmm0
nop
mov esi, dword [0x101e671c]
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0x18]
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
subss xmm2, dword [edi - 0x10]
subss xmm1, dword [edi]
subss xmm0, dword [edi + 0x10]
add edi, 0x30
unpcklps xmm2, xmm1
movss dword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x40]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
add ecx, 0xc
sub dword [ebp - 0x2c], 1
mov dword [ebp - 0x18], ecx
jne 0x100ca7b0
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x18], 0x100
lea eax, [esi + 0x15d4]
lea edi, [esi + 0x521c]
mov esi, eax
nop word [eax + eax]
mov ecx, dword [0x101e671c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movss xmm2, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
subss xmm2, dword [edi - 0x10]
subss xmm1, dword [edi]
subss xmm0, dword [edi + 0x10]
add edi, 0x30
unpcklps xmm2, xmm1
movss dword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x40]
movq qword [esi], xmm2
mov dword [esi + 8], eax
add esi, 0xc
sub dword [ebp - 0x18], 1
jne 0x100ca820
movups xmm0, xmmword [ebp - 0x90]
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x57c]
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x40]
unpcklps xmm0, xmm0
movq qword [esi + 0x21e4], xmm0
mov byte [esi + 0x21e0], 0
mov dword [esi + 0x21ec], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10009990
mov edx, dword [0x101e671c]
cmp dword [0x101e6714], 0
mov edi, edx
jne 0x100ca8e8
mov edx, 0xe80c2f78
mov ecx, 0x101708d1
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e6714], eax
cmp dword [0x101e66d8], 0
mov eax, dword [0x101e6714]
mov ecx, dword [ebp - 0x50]
mov dword [edi + eax], ecx
mov edi, edx
jne 0x100ca930
mov edx, 0xe80c2f78
mov ecx, 0x101708f1
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e66d8], eax
cmp dword [0x101e6768], 0
mov eax, dword [0x101e66d8]
movss xmm0, dword [ebp - 0x54]
movss dword [edi + eax], xmm0
mov edi, edx
jne 0x100ca97c
mov edx, 0xe80c2f78
mov ecx, 0x10170ead
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e6768], eax
cmp dword [0x101e6728], 0
mov eax, dword [0x101e6768]
movss xmm0, dword [ebp - 0x58]
movss dword [edi + eax], xmm0
mov edi, edx
jne 0x100ca9c8
mov edx, 0xe80c2f78
mov ecx, 0x101708ad
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170861
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
mov edx, dword [0x101e671c]
mov dword [0x101e6728], eax
mov eax, dword [0x101e6728]
movss xmm0, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xc]
movss dword [edi + eax], xmm0
movq xmm0, qword [ebp - 0x98]
mov eax, dword [ebp - 0x34]
movq qword [edx + 0x31e8], xmm0
movss xmm0, dword [ebp - 0x64]
mov dword [edx + 0x31f0], eax
mov eax, dword [0x101e66e8]
pop edi
pop esi
movss dword [eax + 0x10], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [eax + 0x14], xmm0
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x101e6754
call fcn.1006d20f
add esp, 4
cmp dword [0x101e6754], 0xffffffff
jne 0x100c9a65
mov edx, 0xe80c2f78
mov dword [ebp - 4], 0
mov ecx, 0x10170ebd
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170e75
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc040
inc eax
mov dword [ebp - 4], 0xffffffff
push 0x101e6754
mov dword [0x101e6774], eax
call fcn.1006d1be
add esp, 4
jmp 0x100c9a65
push 0x101eef04
call fcn.1006d20f
add esp, 4
cmp dword [0x101eef04], 0xffffffff
jne 0x100c9c67
mov dword [ebp - 4], 1
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017fe80]
xorps xmm0, xmmword [0x1017fce0]
mov dword [ebp - 0x80], 0xd4b1b8b5
mov eax, dword [ecx]
movups xmmword [ebp - 0x90], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100caad2
xor byte [ebp + eax - 0x90], 0xd4
inc eax
cmp eax, 0x14
jb 0x100caad2
lea eax, [ebp - 0x90]
push eax
call edx
push 0x101eef04
mov dword [0x101eef08], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d1be
add esp, 4
jmp 0x100c9c67