Function at 0x4e38d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x758
mov eax, dword [0xfd5100]
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 [0xfd2218]
movups xmmword [esp + 0x1a4], xmm0
movups xmm0, xmmword [0xfd2228]
movups xmmword [esp + 0x1b4], xmm0
lea edx, [ecx + 0x80]
lea esi, [ecx + 0x60]
lea edi, [ecx + 0x40]
test bl, 1
je 0x4e39c5
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.004e1ad0
add esp, 0x28
jmp 0x4e39f8
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.004e1fc0
add esp, 0x18
inc ebx
mov ecx, esi
cmp ebx, 0x10
jbe 0x4e3984
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 0x4e3aa5
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.004e1fc0
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 0x4e3cc8
mov ebx, dword [esp + 0x770]
lea ecx, [edi + 1]
cmp ecx, 0xff
ja 0x4e3ae3
mov eax, ecx
and ecx, 0x1f
sar eax, 5
mov eax, dword [ebx + eax*4]
shr eax, cl
and eax, 1
jmp 0x4e3ae5
xor eax, eax
shl eax, 5
cmp edi, 0xff
ja 0x4e3b04
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 0x4e3b06
xor edx, edx
shl edx, 4
lea ecx, [edi - 1]
or eax, edx
cmp ecx, 0xff
ja 0x4e3b29
lea edx, [edi - 1]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4e3b2b
xor edx, edx
lea ecx, [edx*8]
or eax, ecx
lea ecx, [edi - 2]
cmp ecx, 0xff
ja 0x4e3b52
lea edx, [edi - 2]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4e3b54
xor edx, edx
shl edx, 2
or eax, edx
cmp esi, 0xff
ja 0x4e3b76
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 0x4e3b78
xor edx, edx
lea ecx, [edx + edx]
or eax, ecx
lea ecx, [edi - 4]
cmp ecx, 0xff
ja 0x4e3b9b
lea edx, [edi - 4]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4e3b9d
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.004e0440
lea eax, [esp + 0xd4]
push eax
push ebx
push esi
push eax
call fcn.004e0440
lea eax, [esp + 0x104]
push eax
lea eax, [ebx + 0x20]
push eax
lea eax, [esp + 0x10c]
push esi
push eax
call fcn.004e0440
inc ebp
add esp, 0x30
add ebx, 0x60
cmp ebp, 0x11
jb 0x4e3bf0
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004e1990
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x2c]
push eax
call fcn.004e0440
mov edi, dword [esp + 0x2c]
add esp, 0x18
cmp dword [esp + 0x10], 0
jne 0x4e3d34
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.004e1ad0
add esp, 0x28
mov ecx, dword [esp + 0x10]
dec edi
mov dword [esp + 0x14], edi
lea eax, [edi - 3]
cmp eax, 0x100
jb 0x4e3a75
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.004e6105
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 0x4e3ccc