Function at 0x4d8cc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x70
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [0x540010]
xor ecx, ebp
mov dword [esp + 0x68], ecx
movdqu xmm6, xmmword [edx + 0x2c]
movdqu xmm0, xmmword [edx + 0x3c]
movdqu xmm1, xmmword [edx + 0x4c]
movdqa xmmword [esp], xmm1
movdqu xmm3, xmmword [edx + 0x5c]
cmp edi, 0xf
jle 0x4d91a8
movdqa xmm4, xmm0
mov ecx, eax
neg ecx
and ecx, 0xf
je 0x4d9170
movdqa xmm1, xmm6
movdqu xmm7, xmmword [eax]
movdqu xmmword [ebx], xmm7
add ebx, ecx
add eax, ecx
sub edi, ecx
shl ecx, 4
movdqa xmm2, xmmword [ecx + 0x526eb0]
movdqa xmm5, xmm3
movdqa xmm0, xmm6
movdqa xmm3, xmmword [0x526e40]
pxor xmm3, xmm2
pshufb xmm1, xmm3
movdqa xmm6, xmm4
pshufb xmm4, xmm2
por xmm1, xmm4
movdqa xmmword [esp + 0x20], xmm1
pshufb xmm6, xmm3
movdqa xmm1, xmmword [esp]
movdqa xmm4, xmm1
pshufb xmm4, xmm2
por xmm6, xmm4
pshufb xmm1, xmm3
movdqa xmm4, xmm5
pshufb xmm4, xmm2
por xmm1, xmm4
movdqa xmmword [esp], xmm1
pshufb xmm5, xmm3
pshufb xmm0, xmm2
pshufb xmm7, xmm2
movdqa xmmword [esp + 0x10], xmm7
por xmm5, xmm7
movdqa xmm2, xmmword [0x526e50]
pclmulqdq xmm2, xmm0, 1
pxor xmm2, xmm5
pclmulqdq xmm0, xmmword [0x526e60], 1
pxor xmm0, xmm2
movdqa xmm3, xmm0
movdqa xmm0, xmm6
movdqa xmm6, xmm3
cmp edi, 0x40
jae 0x4d8de3
movdqa xmm1, xmmword [esp + 0x20]
jmp 0x4d8ebe
movdqa xmm1, xmmword [esp + 0x20]
movdqa xmm7, xmmword [0x526e60]
nop word cs:[eax + eax]
movdqa xmm5, xmmword [eax]
movaps xmm2, xmmword [eax + 0x10]
movaps xmmword [esp + 0x30], xmm2
movaps xmm2, xmmword [eax + 0x20]
movaps xmmword [esp + 0x20], xmm2
movdqa xmm2, xmm1
pclmulqdq xmm2, xmm7, 1
movdqa xmm4, xmmword [0x526e50]
pclmulqdq xmm1, xmm4, 0x10
pxor xmm1, xmm2
movdqa xmm2, xmm0
pclmulqdq xmm2, xmm7, 1
pclmulqdq xmm0, xmm4, 0x10
pxor xmm0, xmm2
movdqa xmm2, xmmword [esp]
movdqa xmm3, xmm2
pclmulqdq xmm3, xmm7, 1
pclmulqdq xmm2, xmm4, 0x10
pxor xmm2, xmm3
movdqa xmm3, xmm6
pclmulqdq xmm3, xmm7, 1
pclmulqdq xmm6, xmm4, 0x10
pxor xmm6, xmm3
movdqa xmm3, xmmword [eax + 0x30]
movdqu xmmword [ebx], xmm5
pxor xmm1, xmm5
movdqa xmm4, xmmword [esp + 0x30]
movdqu xmmword [ebx + 0x10], xmm4
pxor xmm0, xmm4
movdqa xmm4, xmmword [esp + 0x20]
movdqu xmmword [ebx + 0x20], xmm4
pxor xmm2, xmm4
movdqa xmmword [esp], xmm2
movdqu xmmword [ebx + 0x30], xmm3
pxor xmm6, xmm3
add edi, 0xffffffc0
add eax, 0x40
add ebx, 0x40
cmp edi, 0x3f
ja 0x4d8e00
movdqa xmm5, xmm1
cmp edi, 0x30
jae 0x4d8fc4
jmp 0x4d8f49
movdqa xmm2, xmmword [eax]
movdqa xmm1, xmmword [eax + 0x10]
movdqa xmm3, xmmword [0x526e60]
movdqa xmm4, xmm0
pclmulqdq xmm4, xmm3, 1
movdqa xmm7, xmmword [0x526e50]
pclmulqdq xmm0, xmm7, 0x10
pxor xmm0, xmm4
pclmulqdq xmm3, xmm5, 0x10
pclmulqdq xmm5, xmm7, 0x10
pxor xmm5, xmm3
movdqu xmmword [ebx], xmm2
movdqu xmmword [ebx + 0x10], xmm1
pxor xmm5, xmm2
movdqa xmm2, xmm0
pxor xmm2, xmm1
add edi, 0xffffffe0
je 0x4d918a
add ebx, 0x20
add eax, 0x20
movdqa xmm7, xmmword [esp]
movdqa xmm0, xmm6
movdqa xmm6, xmm7
movdqa xmmword [esp], xmm5
movdqa xmm3, xmm2
jmp 0x4d9059
cmp edi, 0x20
jae 0x4d8ecd
cmp edi, 0x10
jae 0x4d8f72
test edi, edi
movdqa xmm3, xmm6
movdqa xmm6, xmm5
movdqa xmm5, xmmword [esp + 0x10]
jne 0x4d9059
jmp 0x4d913f
movdqa xmm2, xmmword [eax]
movdqa xmm1, xmmword [0x526e60]
pclmulqdq xmm1, xmm5, 0x10
pclmulqdq xmm5, xmmword [0x526e50], 0x10
pxor xmm5, xmm1
movdqu xmmword [ebx], xmm2
pxor xmm5, xmm2
add edi, 0xfffffff0
je 0x4d91be
add ebx, 0x10
add eax, 0x10
movdqa xmm2, xmm0
movdqa xmm0, xmmword [esp]
movdqa xmmword [esp], xmm6
movdqa xmm6, xmm2
movdqa xmm3, xmm5
jmp 0x4d9059
movdqa xmm2, xmmword [0x526e60]
movdqa xmm1, xmmword [esp]
movdqa xmm3, xmm1
pclmulqdq xmm3, xmm2, 1
movdqa xmm4, xmmword [0x526e50]
pclmulqdq xmm1, xmm4, 0x10
pxor xmm1, xmm3
movdqa xmm3, xmm0
pclmulqdq xmm3, xmm2, 1
pclmulqdq xmm0, xmm4, 0x10
movdqa xmm7, xmm0
pxor xmm7, xmm3
movdqa xmm3, xmmword [eax]
movdqa xmm0, xmm5
pclmulqdq xmm2, xmm5, 0x10
pclmulqdq xmm0, xmm4, 0x10
movdqa xmm4, xmmword [eax + 0x10]
pxor xmm0, xmm2
movdqa xmm2, xmmword [eax + 0x20]
movdqu xmmword [ebx], xmm3
pxor xmm0, xmm3
movdqu xmmword [ebx + 0x10], xmm4
pxor xmm7, xmm4
movdqa xmmword [esp], xmm7
movdqu xmmword [ebx + 0x20], xmm2
pxor xmm1, xmm2
add edi, 0xffffffd0
je 0x4d91b2
add ebx, 0x30
add eax, 0x30
movdqa xmm3, xmm1
movdqa xmmword [esp + 0x40], xmm3
movdqa xmmword [esp + 0x20], xmm6
movdqa xmmword [esp + 0x30], xmm0
pxor xmm0, xmm0
lea esi, [esp + 0x58]
movdqu xmmword [esi], xmm0
push edi
push eax
push esi
call fcn.004e3510
movdqa xmm6, xmmword [esp + 0x2c]
movdqa xmm0, xmmword [esp + 0x3c]
movdqa xmm7, xmmword [esp + 0xc]
mov edx, dword [ebp + 8]
add esp, 0xc
movups xmm1, xmmword [esi]
movaps xmmword [esp + 0x10], xmm1
movups xmmword [ebx], xmm1
shl edi, 4
movdqa xmm2, xmmword [edi + 0x526eb0]
movdqa xmm1, xmm6
movdqa xmm3, xmmword [0x526e40]
pxor xmm3, xmm2
pshufb xmm6, xmm3
movdqa xmm4, xmm0
pshufb xmm4, xmm2
por xmm6, xmm4
pshufb xmm0, xmm3
movdqa xmm4, xmm7
pshufb xmm4, xmm2
por xmm0, xmm4
pshufb xmm7, xmm3
movdqa xmm5, xmmword [esp + 0x40]
movdqa xmm4, xmm5
pshufb xmm4, xmm2
por xmm7, xmm4
movdqa xmmword [esp], xmm7
movdqa xmm4, xmm5
movdqa xmm5, xmmword [esp + 0x10]
pshufb xmm4, xmm3
pshufb xmm1, xmm2
pshufb xmm5, xmm2
por xmm4, xmm5
movdqa xmm2, xmmword [0x526e50]
pclmulqdq xmm2, xmm1, 1
pxor xmm2, xmm4
pclmulqdq xmm1, xmmword [0x526e60], 1
pxor xmm1, xmm2
movdqa xmm3, xmm1
movdqu xmmword [edx + 0x2c], xmm6
movdqu xmmword [edx + 0x3c], xmm0
movdqa xmm0, xmmword [esp]
movdqu xmmword [edx + 0x4c], xmm0
movdqu xmmword [edx + 0x5c], xmm3
movdqu xmmword [edx + 0x6c], xmm5
mov ecx, dword [esp + 0x68]
xor ecx, ebp
call fcn.004e0685
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movdqa xmmword [esp + 0x20], xmm6
movdqu xmm0, xmmword [edx + 0x6c]
movdqa xmmword [esp + 0x10], xmm0
movdqa xmm6, xmm4
jmp 0x4d8dcb
movdqa xmm7, xmmword [esp]
movdqa xmm0, xmm6
movdqa xmm6, xmm7
movdqa xmmword [esp], xmm5
movdqa xmm3, xmm2
movdqa xmm5, xmmword [esp + 0x10]
jmp 0x4d913f
test edi, edi
jne 0x4d9059
jmp 0x4d915d
movdqa xmm3, xmm1
movdqa xmm5, xmmword [esp + 0x10]
jmp 0x4d913f
movdqa xmm2, xmm0
movdqa xmm0, xmmword [esp]
movdqa xmmword [esp], xmm6
movdqa xmm6, xmm2
movdqa xmm3, xmm5
movdqa xmm5, xmmword [esp + 0x10]
jmp 0x4d913f