Function at 0x100c9b10
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 0x10146add
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 0x100c9c71
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 0x100cab7c
jmp 0x100c9bcb
mov edx, dword [0x101e671c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x101e6774]
mov esi, dword [0x101ee11c]
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 0x100c9ce0
mov eax, dword [0x101e6788]
test byte [eax + 0x30], 1
je 0x100c9ce0
mov ecx, dword [0x101e6780]
mov byte [ebp - 0x2c], 0
test ecx, ecx
je 0x100c9ca1
call fcn.1000ad00
cmp word [eax], 0x40
sete byte [ebp - 0x2c]
push dword [ebp - 0x2c]
push ecx
call fcn.10143f50
test al, al
je 0x100c9cda
mov eax, dword [0x101e6784]
cmp byte [eax], 0
jne 0x100c9cda
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 0x100cabe3
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 [0x1017f068]
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 0x100c9e47
cmp byte [ecx], 0
je 0x100c9e47
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 0x100c9e71
cmp byte [ecx], 0
je 0x100c9e71
movq xmm0, qword [edi + 0x21e4]
mov eax, dword [edi + 0x21ec]
movq qword [edx + 0x31e8], xmm0
mov dword [edx + 0x31f0], eax
mov eax, dword [0x101ee11c]
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 0x100c9ea0
push 0
mov ecx, edi
call fcn.100c9250
mov eax, dword [0x101e66e0]
mov ecx, dword [0x101e671c]
mov dword [ebp - 0x18], ecx
test eax, eax
jne 0x100c9f02
mov edx, 0xe80c2f78
mov ecx, 0x10170941
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170959
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100c9f49
mov edx, 0xe80c2f78
mov ecx, 0x10170941
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170959
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100c9fa3
mov edx, 0xe80c2f78
mov ecx, 0x10170941
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170959
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca050
mov edx, 0xe80c2f78
mov ecx, 0x10170911
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca098
mov edx, 0xe80c2f78
mov ecx, 0x10170931
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca0e4
mov edx, 0xe80c2f78
mov ecx, 0x10170ec9
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca130
mov edx, 0xe80c2f78
mov ecx, 0x101708ed
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100caa0b
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 [0x101ee11c]
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 0x100ca1bc
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 0x100ca1ff
mov edx, 0xe80c2f78
mov ecx, 0x101708d9
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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.100cac70
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 [0x101ee11c]
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 0x100ca72e
mov eax, dword [0x101e6748]
mov dword [ebp - 0x1c], edx
test eax, eax
jne 0x100ca424
mov edx, 0xe80c2f78
mov ecx, 0x10170e3d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca496
mov edx, 0xe80c2f78
mov ecx, 0x1017091d
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170891
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca4e6
mov edx, 0xe80c2f78
mov ecx, 0x10170eb9
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170891
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca555
mov edx, 0xe80c2f78
mov ecx, 0x10170ea1
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 [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 0x100ca5e7
mov eax, dword [0x101e66e8]
movss xmm1, dword [0x1017f068]
movss xmm0, dword [eax]
subss xmm0, dword [edi + 0x21f0]
comiss xmm1, xmm0
jb 0x100ca5b8
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 0x100ca5dd
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 [0x101ee11c]
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 0x100ca600
push 1
mov ecx, edi
call fcn.100c9250
mov eax, dword [0x101e66e0]
mov ecx, dword [0x101e671c]
mov dword [ebp - 0x1c], ecx
test eax, eax
jne 0x100ca662
mov edx, 0xe80c2f78
mov ecx, 0x10170941
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170959
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca6a9
mov edx, 0xe80c2f78
mov ecx, 0x10170941
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170959
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca70f
mov edx, 0xe80c2f78
mov ecx, 0x10170941
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170959
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100ca3e3
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 0x100ca797
mov edx, 0xe80c2f78
mov ecx, 0x101708d9
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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.100cac70
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 [0x101ee11c]
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.100c8c20
mov edx, dword [0x101e671c]
mov esi, eax
mov eax, dword [0x101ee11c]
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 0x100ca910
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 0x100ca980
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 0x100caa48
mov edx, 0xe80c2f78
mov ecx, 0x10170911
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100caa90
mov edx, 0xe80c2f78
mov ecx, 0x10170931
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100caadc
mov edx, 0xe80c2f78
mov ecx, 0x10170ec9
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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 0x100cab28
mov edx, 0xe80c2f78
mov ecx, 0x101708ed
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x101708a1
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
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.1006d07f
add esp, 4
cmp dword [0x101e6754], 0xffffffff
jne 0x100c9bc5
mov edx, 0xe80c2f78
mov dword [ebp - 4], 0
mov ecx, 0x10170ed9
call fcn.100074c0
mov edx, 0xc10bf213
mov ecx, 0x10170e91
mov esi, eax
call fcn.100074c0
push esi
push eax
call fcn.100fc160
inc eax
mov dword [ebp - 4], 0xffffffff
push 0x101e6754
mov dword [0x101e6774], eax
call fcn.1006d02e
add esp, 4
jmp 0x100c9bc5
push 0x101eef04
call fcn.1006d07f
add esp, 4
cmp dword [0x101eef04], 0xffffffff
jne 0x100c9dc7
mov dword [ebp - 4], 1
mov ecx, dword [0x101e674c]
movaps xmm0, xmmword [0x1017f9b0]
xorps xmm0, xmmword [0x1017ff60]
mov dword [ebp - 0x80], 0x84e1e8e5
mov eax, dword [ecx]
movups xmmword [ebp - 0x90], xmm0
mov edx, dword [eax + 0x44]
mov eax, 0x10
jmp 0x100cac32
xor byte [ebp + eax - 0x90], 0x84
inc eax
cmp eax, 0x14
jb 0x100cac32
lea eax, [ebp - 0x90]
push eax
call edx
push 0x101eef04
mov dword [0x101eef08], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1006d02e
add esp, 4
jmp 0x100c9dc7