Function at 0x4ea250
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x758
mov eax, dword [0x903100]
xor eax, esp
mov dword [esp + 0x754], eax
mov eax, dword [esp + 0x75c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x770]
push edi
mov edi, dword [esp + 0x778]
push 0xa0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x108]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x5a0
lea eax, [esp + 0x1d4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
movups xmm0, xmmword [esi]
add esp, 0x18
lea ecx, [esp + 0x184]
mov ebx, 2
movups xmmword [esp + 0x164], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x174], xmm0
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x184], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esp + 0x194], xmm0
movups xmm0, xmmword [0x9003e8]
movups xmmword [esp + 0x1a4], xmm0
movups xmm0, xmmword [0x9003f8]
movups xmmword [esp + 0x1b4], xmm0
lea edx, [ecx + 0x80]
lea esi, [ecx + 0x60]
lea edi, [ecx + 0x40]
test bl, 1
je 0x4ea345
lea eax, [ecx + 0x20]
push eax
push ecx
lea eax, [ecx - 0x20]
push eax
push 0
lea eax, [esp + 0x1b4]
push eax
lea eax, [esp + 0x198]
push eax
lea eax, [esp + 0x17c]
push eax
push edx
push esi
push edi
call fcn.004e8450
add esp, 0x28
jmp 0x4ea378
mov eax, ebx
shr eax, 1
lea ecx, [eax + eax*2]
shl ecx, 5
lea eax, [esp + 0x144]
add eax, ecx
push eax
lea eax, [esp + 0x128]
add eax, ecx
push eax
lea eax, [esp + 0x10c]
add eax, ecx
push eax
push edx
push esi
push edi
call fcn.004e8940
add esp, 0x18
inc ebx
mov ecx, esi
cmp ebx, 0x10
jbe 0x4ea304
xorps xmm0, xmm0
mov dword [esp + 0x44], 0
mov ecx, 1
movq qword [esp + 0x58], xmm0
mov edi, 0x102
mov dword [esp + 0x60], 0
movups xmmword [esp + 0x48], xmm0
mov dword [esp + 0x64], 0
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x80], 0
movq qword [esp + 0x78], xmm0
mov dword [esp + 0x84], 0
movups xmmword [esp + 0x88], xmm0
mov dword [esp + 0xa0], 0
movq qword [esp + 0x98], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
test ecx, ecx
jne 0x4ea425
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.004e8940
add esp, 0x18
lea esi, [edi - 3]
mov eax, 0xcccccccd
mul esi
mov ecx, esi
shr edx, 2
lea eax, [edx + edx*4]
sub ecx, eax
jne 0x4ea648
mov ebx, dword [esp + 0x770]
lea ecx, [edi + 1]
cmp ecx, 0xff
ja 0x4ea463
mov eax, ecx
and ecx, 0x1f
sar eax, 5
mov eax, dword [ebx + eax*4]
shr eax, cl
and eax, 1
jmp 0x4ea465
xor eax, eax
shl eax, 5
cmp edi, 0xff
ja 0x4ea484
mov edx, edi
mov ecx, edi
sar edx, 5
and ecx, 0x1f
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4ea486
xor edx, edx
shl edx, 4
lea ecx, [edi - 1]
or eax, edx
cmp ecx, 0xff
ja 0x4ea4a9
lea edx, [edi - 1]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4ea4ab
xor edx, edx
lea ecx, [edx*8]
or eax, ecx
lea ecx, [edi - 2]
cmp ecx, 0xff
ja 0x4ea4d2
lea edx, [edi - 2]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4ea4d4
xor edx, edx
shl edx, 2
or eax, edx
cmp esi, 0xff
ja 0x4ea4f6
lea edx, [edi - 3]
and esi, 0x1f
sar edx, 5
mov ecx, esi
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4ea4f8
xor edx, edx
lea ecx, [edx + edx]
or eax, ecx
lea ecx, [edi - 4]
cmp ecx, 0xff
ja 0x4ea51b
lea edx, [edi - 4]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4ea51d
xor edx, edx
or eax, edx
mov edx, 0x3f
mov ecx, eax
sub edx, eax
shr ecx, 5
dec ecx
mov ebx, ecx
and ecx, eax
not ebx
and edx, ebx
and ebx, 1
or edx, ecx
mov dword [esp + 0x1c], ebx
mov eax, edx
and edx, 1
shr eax, 1
add eax, edx
push 0x60
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xa8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edi, dword [esp + 0x24]
lea ebx, [esp + 0x130]
add esp, 0xc
xor ebp, ebp
nop dword [eax + eax]
lea eax, [esp + 0xa4]
mov esi, ebp
push eax
lea eax, [ebx - 0x20]
xor esi, edi
push eax
lea eax, [esp + 0xac]
push esi
push eax
call fcn.004e6dc0
lea eax, [esp + 0xd4]
push eax
push ebx
push esi
push eax
call fcn.004e6dc0
lea eax, [esp + 0x104]
push eax
lea eax, [ebx + 0x20]
push eax
lea eax, [esp + 0x10c]
push esi
push eax
call fcn.004e6dc0
inc ebp
add esp, 0x30
add ebx, 0x60
cmp ebp, 0x11
jb 0x4ea570
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004e8310
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x2c]
push eax
call fcn.004e6dc0
mov edi, dword [esp + 0x2c]
add esp, 0x18
cmp dword [esp + 0x10], 0
jne 0x4ea6b4
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xac]
push eax
push 0
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.004e8450
add esp, 0x28
mov ecx, dword [esp + 0x10]
dec edi
mov dword [esp + 0x14], edi
lea eax, [edi - 3]
cmp eax, 0x100
jb 0x4ea3f5
mov eax, dword [esp + 0x20]
movups xmm0, xmmword [esp + 0x44]
mov ecx, dword [esp + 0x764]
pop edi
movups xmmword [eax], xmm0
pop esi
movups xmm0, xmmword [esp + 0x4c]
pop ebp
pop ebx
movups xmmword [eax + 0x10], xmm0
xor ecx, esp
movups xmm0, xmmword [esp + 0x54]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [esp + 0x64]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [esp + 0x74]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [esp + 0x84]
movups xmmword [eax + 0x50], xmm0
call fcn.004eca65
add esp, 0x758
ret
movups xmm0, xmmword [esp + 0xa4]
xor ecx, ecx
mov dword [esp + 0x10], ecx
movups xmmword [esp + 0x44], xmm0
movups xmm0, xmmword [esp + 0xb4]
movups xmmword [esp + 0x54], xmm0
movups xmm0, xmmword [esp + 0xc4]
movups xmmword [esp + 0x64], xmm0
movups xmm0, xmmword [esp + 0xd4]
movups xmmword [esp + 0x74], xmm0
movups xmm0, xmmword [esp + 0xe4]
movups xmmword [esp + 0x84], xmm0
movups xmm0, xmmword [esp + 0xf4]
movups xmmword [esp + 0x94], xmm0
jmp 0x4ea64c