Function at 0x4d94f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x420
add edx, dword [ecx + 0xe8]
mov eax, dword [ecx + 0xec]
adc eax, dword [ebp + 8]
mov dword [esp + 0x1c], edx
jb 0x4d990a
mov dl, byte [0x605109]
mov esi, ecx
lea edi, [ecx + 0xf2]
cmp dl, 1
jne 0x4d9739
movaps xmm0, xmmword [esi + 0x30]
movaps xmm1, xmmword [esi + 0x10]
movdqa xmm4, xmmword [esi + 0x40]
movaps xmm2, xmmword [esi + 0x60]
movaps xmm3, xmmword [esi + 0xb0]
mov edx, dword [esi + 0xc0]
lea ecx, [esp + 0x2c0]
movaps xmmword [esp + 0x230], xmm0
movaps xmm0, xmmword [esi + 0x20]
movaps xmmword [esp + 0x210], xmm1
movaps xmm1, xmmword [esi + 0x70]
movaps xmmword [esp + 0x220], xmm0
movaps xmm0, xmmword [esi]
movaps xmmword [esp + 0x200], xmm0
movaps xmm0, xmmword [esi + 0x50]
movaps xmmword [esp + 0x260], xmm2
movaps xmmword [esp + 0x270], xmm1
movdqa xmmword [esp + 0x240], xmm4
movaps xmm2, xmmword [esi + 0xa0]
movaps xmmword [esp + 0x250], xmm0
movaps xmm0, xmmword [esi + 0x90]
movaps xmmword [esp + 0x2b0], xmm3
movaps xmmword [esp + 0x2a0], xmm2
movaps xmmword [esp + 0x290], xmm0
movaps xmm0, xmmword [esi + 0x80]
movaps xmmword [esp + 0x280], xmm0
push eax
push dword [esp + 0x20]
push dword [esi + 0xc4]
call fcn.004d9930
add esp, 0xc
lea eax, [esp + 0x200]
lea ebx, [esp + 0x300]
push 0x100
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x100]
mov edx, esi
push ebx
call fcn.004d9990
add esp, 4
movaps xmm1, xmmword [esp + 0x120]
movaps xmm2, xmmword [esp + 0x170]
movaps xmm3, xmmword [esp + 0x100]
movdqa xmm0, xmmword [esp + 0x130]
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x40]
lea edx, [esp + 0x80]
movaps xmmword [esp + 0x60], xmm1
movaps xmm1, xmmword [esp + 0x110]
movaps xmmword [esp + 0xb0], xmm2
movaps xmm2, xmmword [esp + 0x150]
movaps xmmword [esp + 0x40], xmm3
movdqa xmm3, xmmword [esp + 0x180]
movdqa xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x50], xmm1
movaps xmm1, xmmword [esp + 0x160]
movaps xmmword [esp + 0x90], xmm2
movaps xmm2, xmmword [esp + 0x1b0]
movdqa xmmword [esp + 0xc0], xmm3
movaps xmmword [esp + 0xa0], xmm1
movaps xmm1, xmmword [esp + 0x140]
movaps xmmword [esp + 0xf0], xmm2
movaps xmm2, xmmword [esp + 0x1f0]
movaps xmmword [esp + 0x80], xmm1
movaps xmm1, xmmword [esp + 0x1a0]
movaps xmmword [esp + 0x330], xmm2
movdqa xmm2, xmmword [esp + 0x1c0]
movaps xmmword [esp + 0xe0], xmm1
movaps xmm1, xmmword [esp + 0x190]
movdqa xmmword [esp + 0x300], xmm2
movaps xmmword [esp + 0xd0], xmm1
movaps xmm1, xmmword [esp + 0x1e0]
movaps xmmword [esp + 0x320], xmm1
movdqa xmm1, xmmword [esp + 0x1d0]
movdqa xmmword [esp + 0x310], xmm1
push edi
push ebx
push eax
call fcn.004d9c90
add esp, 0xc
jmp 0x4d98e9
movd xmm4, dword [esi + 0x30]
movd xmm1, dword [esi + 0x34]
movdqa xmm0, xmmword [esi]
movdqa xmm3, xmmword [esi + 0x20]
movdqa xmm2, xmmword [esi + 0x10]
xor ecx, ecx
punpckldq xmm1, xmm4
movdqa xmmword [esp + 0x20], xmm0
movdqa xmmword [esp + 0x30], xmm1
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + 0x1c]
mov ebx, eax
add esi, ecx
adc ebx, 0
jb 0x4d98f1
movd xmm4, esi
movd xmm0, ebx
movdqa xmm7, xmmword [esp + 0x20]
lea edx, [edi + 0x40]
inc ecx
mov esi, 0xa
movdqa xmm5, xmm2
movdqa xmm1, xmm3
punpckldq xmm4, xmm0
movdqa xmm0, xmm3
punpcklqdq xmm4, xmmword [esp + 0x30]
movdqa xmm6, xmm4
nop word cs:[eax + eax]
nop dword [eax]
paddd xmm7, xmm5
dec esi
pxor xmm6, xmm7
movdqa xmm3, xmm6
pslld xmm6, 0x10
psrld xmm3, 0x10
por xmm6, xmm3
paddd xmm0, xmm6
pxor xmm5, xmm0
movdqa xmm3, xmm5
pslld xmm5, 0xc
psrld xmm3, 0x14
por xmm5, xmm3
paddd xmm7, xmm5
pxor xmm6, xmm7
pshufd xmm7, xmm7, 0x93
movdqa xmm3, xmm6
pslld xmm6, 8
psrld xmm3, 0x18
por xmm6, xmm3
paddd xmm0, xmm6
pshufd xmm6, xmm6, 0x4e
pxor xmm5, xmm0
pshufd xmm0, xmm0, 0x39
movdqa xmm3, xmm5
pslld xmm5, 7
psrld xmm3, 0x19
por xmm5, xmm3
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm3, xmm6
pslld xmm6, 0x10
psrld xmm3, 0x10
por xmm6, xmm3
paddd xmm0, xmm6
pxor xmm5, xmm0
movdqa xmm3, xmm5
pslld xmm5, 0xc
psrld xmm3, 0x14
por xmm5, xmm3
paddd xmm7, xmm5
pxor xmm6, xmm7
pshufd xmm7, xmm7, 0x39
movdqa xmm3, xmm6
pslld xmm6, 8
psrld xmm3, 0x18
por xmm6, xmm3
paddd xmm0, xmm6
pshufd xmm6, xmm6, 0x4e
pxor xmm5, xmm0
pshufd xmm0, xmm0, 0x93
movdqa xmm3, xmm5
pslld xmm5, 7
psrld xmm3, 0x19
por xmm5, xmm3
jne 0x4d97c0
paddd xmm7, xmmword [esp + 0x20]
paddd xmm5, xmm2
paddd xmm0, xmm1
paddd xmm6, xmm4
movdqa xmm3, xmm1
cmp ecx, 4
movdqu xmmword [edi], xmm7
movdqu xmmword [edi + 0x10], xmm5
movdqu xmmword [edi + 0x20], xmm0
movdqu xmmword [edi + 0x30], xmm6
mov edi, edx
jne 0x4d9770
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36librarycore_src_strpattern.rs
mov edx, 0x2b
push 0x6825b0
call fcn.0045aec0
add esp, 4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36librarycore_src_strpattern.rs
mov edx, 0x2b
push 0x68253c
call fcn.0045aec0
add esp, 4
ud2