Function at 0x4d9090
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x758
mov eax, dword [0x623040]
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 [0x620c88]
movups xmmword [esp + 0x1a4], xmm0
movups xmm0, xmmword [0x620c98]
movups xmmword [esp + 0x1b4], xmm0
lea edx, [ecx + 0x80]
lea esi, [ecx + 0x60]
lea edi, [ecx + 0x40]
test bl, 1
je 0x4d9185
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.004d7290
add esp, 0x28
jmp 0x4d91b8
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.004d7780
add esp, 0x18
inc ebx
mov ecx, esi
cmp ebx, 0x10
jbe 0x4d9144
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 0x4d9265
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.004d7780
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 0x4d9488
mov ebx, dword [esp + 0x770]
lea ecx, [edi + 1]
cmp ecx, 0xff
ja 0x4d92a3
mov eax, ecx
and ecx, 0x1f
sar eax, 5
mov eax, dword [ebx + eax*4]
shr eax, cl
and eax, 1
jmp 0x4d92a5
xor eax, eax
shl eax, 5
cmp edi, 0xff
ja 0x4d92c4
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 0x4d92c6
xor edx, edx
shl edx, 4
lea ecx, [edi - 1]
or eax, edx
cmp ecx, 0xff
ja 0x4d92e9
lea edx, [edi - 1]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4d92eb
xor edx, edx
lea ecx, [edx*8]
or eax, ecx
lea ecx, [edi - 2]
cmp ecx, 0xff
ja 0x4d9312
lea edx, [edi - 2]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4d9314
xor edx, edx
shl edx, 2
or eax, edx
cmp esi, 0xff
ja 0x4d9336
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 0x4d9338
xor edx, edx
lea ecx, [edx + edx]
or eax, ecx
lea ecx, [edi - 4]
cmp ecx, 0xff
ja 0x4d935b
lea edx, [edi - 4]
and ecx, 0x1f
sar edx, 5
mov edx, dword [ebx + edx*4]
shr edx, cl
and edx, 1
jmp 0x4d935d
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.004d5c00
lea eax, [esp + 0xd4]
push eax
push ebx
push esi
push eax
call fcn.004d5c00
lea eax, [esp + 0x104]
push eax
lea eax, [ebx + 0x20]
push eax
lea eax, [esp + 0x10c]
push esi
push eax
call fcn.004d5c00
inc ebp
add esp, 0x30
add ebx, 0x60
cmp ebp, 0x11
jb 0x4d93b0
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.004d7150
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xd0]
push eax
push dword [esp + 0x2c]
push eax
call fcn.004d5c00
mov edi, dword [esp + 0x2c]
add esp, 0x18
cmp dword [esp + 0x10], 0
jne 0x4d94f4
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.004d7290
add esp, 0x28
mov ecx, dword [esp + 0x10]
dec edi
mov dword [esp + 0x14], edi
lea eax, [edi - 3]
cmp eax, 0x100
jb 0x4d9235
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.004db8c5
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 0x4d948c