Function at 0x1002ee90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x12a4
call fcn.100b0780
mov eax, dword [0x101053c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x700]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0xf58], ecx
mov ecx, 0x80
mov dword [ebp - 0xf54], edi
vxorps xmm0, xmm0, xmm0
nop dword [eax + eax]
lea eax, [eax + 0xc]
vmovss dword [eax - 0x14], xmm0
vmovss dword [eax - 0x10], xmm0
vmovss dword [eax - 0xc], xmm0
sub ecx, 1
jne 0x1002eed0
mov eax, dword [0x1013065c]
cmp dword [edi + eax], ecx
jne 0x1002eeff
mov eax, dword [0x101305e0]
mov ecx, edi
call eax
mov eax, dword [0x1013065c]
mov eax, dword [edi + eax]
mov dword [ebp - 0xf5c], eax
test eax, eax
je 0x1002f1ed
mov eax, dword [0x10130640]
add eax, edi
mov dword [ebp - 0xf60], eax
je 0x1002f1ed
mov eax, dword [eax + 4]
mov dword [ebp - 0xf64], eax
test eax, eax
je 0x1002f1ed
mov ebx, dword [edi + 0x260]
mov ecx, edi
mov dword [edi + 0x260], 0
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, edi
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0xf14], xmm0
vmovss xmm0, dword [eax + 4]
vmovss dword [ebp - 0xf10], xmm0
vmovss xmm0, dword [eax + 8]
vmovss dword [ebp - 0xf0c], xmm0
mov eax, dword [edi]
mov eax, dword [eax + 0x2c]
call eax
mov esi, dword [0x10130644]
lea edx, [ebp - 0xf50]
mov ecx, 0xb6
vmovss xmm0, dword [eax]
vmovss dword [ebp - 0xf20], xmm0
vmovss xmm0, dword [eax + 4]
vmovss dword [ebp - 0xf1c], xmm0
vmovss xmm0, dword [eax + 8]
mov eax, dword [0x10130768]
add eax, 0xffffffa7
xor eax, 0xf0b73a76
vmovss dword [ebp - 0xf18], xmm0
mov esi, dword [edi + esi]
vmovdqu ymm0, ymmword [eax + edi]
vmovdqu ymmword [ebp - 0xf88], ymm0
vmovdqu ymm0, ymmword [eax + edi + 0x20]
vmovdqu ymmword [ebp - 0xfa8], ymm0
vmovdqu ymm0, ymmword [eax + edi + 0x40]
mov eax, dword [ebp - 0xf58]
lea edi, [ebp - 0x12a0]
rep movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x68]
vmovdqu ymmword [ebp - 0xfc8], ymm0
lea esi, [eax + 0x3cc]
mov ecx, edi
vzeroupper
call dword [0x101305f8]
vmovss xmm0, dword [esi]
mov eax, dword [0x101306c4]
mov ecx, dword [ebp - 0xf54]
add eax, 0xffffffd0
vmovss dword [ebp - 0xf44], xmm0
vmovss xmm0, dword [esi + 4]
xor eax, 0xf0b73a4d
vmovss dword [ebp - 0xf34], xmm0
vmovss xmm0, dword [esi + 8]
vmovss dword [ebp - 0xf24], xmm0
or dword [eax + ecx], 8
mov eax, dword [0x101305d8]
push esi
call eax
mov eax, dword [0x101305d4]
mov ecx, dword [ebp - 0xf54]
push edi
call eax
mov eax, dword [0x10130768]
mov ecx, dword [ebp - 0xf58]
add eax, 0xffffffa7
mov edx, dword [ebp - 0xf54]
xor eax, 0xf0b73a76
vmovdqu ymm0, ymmword [ecx + 0x354]
vmovdqu ymmword [eax + edx], ymm0
vmovdqu ymm0, ymmword [ecx + 0x374]
vmovdqu ymmword [eax + edx + 0x20], ymm0
vmovdqu ymm0, ymmword [ecx + 0x394]
vmovdqu ymmword [eax + edx + 0x40], ymm0
mov edi, dword [0x10130644]
lea esi, [ecx + 0x7c]
mov eax, dword [ebp + 0x10]
mov ecx, 0xb6
mov edi, dword [edx + edi]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xf60]
mov byte [0x1011b698], 1
mov dword [edi + 4], eax
push 0x7ff00
push ecx
mov ecx, dword [ebp - 0xf58]
mov esi, edx
vmovss xmm0, dword [ecx + 0x3e4]
mov eax, dword [esi]
lea ecx, [ebp - 0xf08]
vmovss dword [esp], xmm0
push ecx
lea ecx, [ebp - 0x708]
mov eax, dword [eax + 0x320]
push ecx
push dword [ebp - 0xf5c]
mov ecx, esi
vzeroupper
call eax
push 0x100
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.100b1340
mov eax, dword [esi]
lea ecx, [ebp - 0x108]
add esp, 0xc
mov eax, dword [eax + 0x2e0]
push ecx
push 0x7ff00
lea ecx, [ebp - 0xf50]
push ecx
lea ecx, [ebp - 0xf08]
push ecx
lea ecx, [ebp - 0x708]
push ecx
push dword [ebp - 0xf5c]
mov ecx, esi
call eax
mov eax, dword [ebp - 0xf64]
lea ecx, [ebp - 0xf14]
mov dword [edi + 4], eax
mov eax, dword [0x101306c4]
add eax, 0xffffffd0
xor eax, 0xf0b73a4d
push ecx
mov ecx, esi
and dword [eax + esi], 0xfffffff7
mov eax, dword [0x101305d8]
call eax
mov eax, dword [0x101305d4]
lea ecx, [ebp - 0xf20]
push ecx
mov ecx, esi
call eax
mov eax, dword [0x10130768]
mov ecx, 0xb6
vmovdqu ymm0, ymmword [ebp - 0xf88]
add eax, 0xffffffa7
xor eax, 0xf0b73a76
vmovdqu ymmword [eax + esi], ymm0
vmovdqu ymm0, ymmword [ebp - 0xfa8]
vmovdqu ymmword [eax + esi + 0x20], ymm0
vmovdqu ymm0, ymmword [ebp - 0xfc8]
vmovdqu ymmword [eax + esi + 0x40], ymm0
mov edi, dword [0x10130644]
lea esi, [ebp - 0x12a0]
mov eax, dword [ebp - 0xf54]
mov edi, dword [eax + edi]
rep movsd dword es:[edi], dword [esi]
mov byte [0x1011b698], 0
mov dword [eax + 0x260], ebx
mov al, 1
jmp 0x1002f1ef
xor al, al
vzeroupper
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100aed12
mov esp, ebp
pop ebp
ret 0x10