Function at 0x405425
Capabilities:
Encode data using xor
Execute anti-debugging instructions

Disassembly:
pand mm4, mm6
psubd mm1, mm1
punpckldq xmm1, xmm5
psraw xmm0, xmm3
punpcklbw mm3, mm2
psubw xmm0, xmm5
punpckhdq mm7, mm1
paddw xmm7, xmm7
packuswb xmm2, xmm6
pop edx
psubusb xmm1, xmm3
packsswb xmm5, xmm5
psubsb xmm3, xmm2
psllq mm4, 0xc0
push edx
paddsb xmm4, xmm0
punpcklbw mm7, mm6
por mm6, mm5
paddw mm6, mm6
psrlw mm6, 0xcc
pxor xmm3, xmm5
paddb xmm0, xmm6
psubusb xmm7, xmm7
pand xmm1, xmm2
add edx, 0xd
psubb xmm6, xmm2
psrad mm5, mm4
punpckhdq mm6, mm1
psrlq mm1, 0x42
pmulhw mm0, mm0
push edx
push esp
punpckhbw xmm3, xmm5
psubsb xmm0, xmm0
packuswb mm5, mm4
pmullw xmm7, xmm2
packssdw xmm1, xmm3
psrlq mm6, 0xd6
pcmpgtd xmm4, xmm0
psubusb mm6, mm6
pcmpgtw xmm0, xmm7
paddsb mm5, mm0
pcmpgtb mm2, mm4
call eax
psubb xmm2, xmm4
psrlw xmm3, 0x9f
pmaddwd mm4, mm6
pand mm2, mm2
paddw mm6, mm7
pcmpgtw xmm7, xmm7
psubd mm3, mm1
packuswb xmm6, xmm4
psubusb mm5, mm1
psllw xmm3, 0x79
punpcklwd xmm7, xmm3
add esp, 0x1c
punpckhbw mm5, mm2
psllw mm5, 0x1f
psrld mm4, 0xa0
paddd mm4, mm5
paddw xmm1, xmm3
pcmpeqb xmm6, xmm2
paddusw xmm6, xmm3
pslld xmm0, 0xf
mov dword [ebp + 4], eax
punpckhwd mm2, mm3
pmulhw mm3, mm6
pcmpeqw mm4, mm3
pmullw mm6, mm2
punpcklbw xmm4, xmm2
pmaddwd xmm2, xmm4
pcmpgtw mm3, mm1
push 4
punpckldq xmm1, xmm5
psraw xmm0, xmm3
punpcklbw mm3, mm2
psubw xmm0, xmm5
punpckhdq mm7, mm1
push 0x1000
pmaddwd xmm7, xmm1
pcmpgtb mm6, mm0
psubusb xmm1, xmm3
packsswb xmm5, xmm5
psubsb xmm3, xmm2
psllq mm4, 0xc0
psubd xmm5, xmm4
pxor xmm1, xmm7
push 0x1000
por mm6, mm5
paddw mm6, mm6
psrlw mm6, 0xcc
pxor xmm3, xmm5
paddb xmm0, xmm6
psubusb xmm7, xmm7
pand xmm1, xmm2
psubusb xmm4, xmm6
psrld mm3, 0x25
punpckhbw mm3, mm6
paddb xmm3, xmm1
push 0x1000000
pcmpgtb mm0, mm0
psrld xmm6, 0x52
psubd xmm7, xmm0
psrld xmm3, 0x62
psubsw mm7, mm7
psrlw xmm7, 0x72
psubw xmm0, xmm6
psrlw mm4, 0x83
psubsb xmm0, xmm6
psllq mm6, 0x2c
punpckhwd mm1, mm5
call dword [ebp + 4]
pcmpgtb mm2, mm4
psubsb mm4, mm2
pxor xmm7, xmm3
cmp eax, 0x1000000
jne 0x4057ad
paddw mm4, mm6
pand mm2, mm2
paddw mm6, mm7
pcmpgtw xmm7, xmm7
psubd mm3, mm1
packuswb xmm6, xmm4
psubusb mm5, mm1
mov ebx, 0xaeffffff
psubusb mm1, mm3
pcmpgtb xmm3, xmm4
punpckhbw mm5, mm2
psllw mm5, 0x1f
psrld mm4, 0xa0
push ebx
psubd xmm5, xmm5
punpckhbw mm3, mm5
psubd xmm2, xmm1
psubb xmm3, xmm4
pmulhw mm6, mm3
punpckhwd mm2, mm3
pmulhw mm3, mm6
pcmpeqw mm4, mm3
pmullw mm6, mm2
punpcklbw xmm4, xmm2
xor eax, eax
pand mm4, mm6
psubd mm1, mm1
punpckldq xmm1, xmm5
psraw xmm0, xmm3
punpcklbw mm3, mm2
psubw xmm0, xmm5
punpckhdq mm7, mm1
paddw xmm7, xmm7
packuswb xmm2, xmm6
mov esi, eax
psubusb xmm1, xmm3
packsswb xmm5, xmm5
psubsb xmm3, xmm2
psllq mm4, 0xc0
rdtsc
paddsb xmm4, xmm0
punpcklbw mm7, mm6
por mm6, mm5
paddw mm6, mm6
psrlw mm6, 0xcc
pxor xmm3, xmm5
paddb xmm0, xmm6
psubusb xmm7, xmm7
pand xmm1, xmm2
mov esi, eax
psubb xmm6, xmm2
psrad mm5, mm4
punpckhdq mm6, mm1
psrlq mm1, 0x42
pmulhw mm0, mm0
rdtsc
punpckhbw xmm3, xmm5
psubsb xmm0, xmm0
packuswb mm5, mm4
pmullw xmm7, xmm2
packssdw xmm1, xmm3
psrlq mm6, 0xd6
pcmpgtd xmm4, xmm0
psubusb mm6, mm6
pcmpgtw xmm0, xmm7
paddsb mm5, mm0
pcmpgtb mm2, mm4
sub eax, esi
psubb xmm2, xmm4
psrlw xmm3, 0x9f
pmaddwd mm4, mm6
pand mm2, mm2
paddw mm6, mm7
pcmpgtw xmm7, xmm7
psubd mm3, mm1
packuswb xmm6, xmm4
psubusb mm5, mm1
psllw xmm3, 0x79
punpcklwd xmm7, xmm3
cdq
punpckhbw mm5, mm2
psllw mm5, 0x1f
psrld mm4, 0xa0
paddd mm4, mm5
paddw xmm1, xmm3
pcmpeqb xmm6, xmm2
paddusw xmm6, xmm3
pslld xmm0, 0xf
mov ebx, 0xf
punpckhwd mm2, mm3
pmulhw mm3, mm6
pcmpeqw mm4, mm3
pmullw mm6, mm2
punpcklbw xmm4, xmm2
pmaddwd xmm2, xmm4
pcmpgtw mm3, mm1
idiv ebx
punpckldq xmm1, xmm5
psraw xmm0, xmm3
punpcklbw mm3, mm2
psubw xmm0, xmm5
punpckhdq mm7, mm1
add ecx, eax
pmaddwd xmm7, xmm1
pcmpgtb mm6, mm0
psubusb xmm1, xmm3
packsswb xmm5, xmm5
psubsb xmm3, xmm2
psllq mm4, 0xc0
psubd xmm5, xmm4
pxor xmm1, xmm7
pop ebx
por mm6, mm5
paddw mm6, mm6
psrlw mm6, 0xcc
pxor xmm3, xmm5
paddb xmm0, xmm6
psubusb xmm7, xmm7
pand xmm1, xmm2
psubusb xmm4, xmm6
psrld mm3, 0x25
punpckhbw mm3, mm6
paddb xmm3, xmm1
dec ebx
pcmpgtb mm0, mm0
psrld xmm6, 0x52
psubd xmm7, xmm0
psrld xmm3, 0x62
psubsw mm7, mm7
psrlw xmm7, 0x72
psubw xmm0, xmm6
psrlw mm4, 0x83
psubsb xmm0, xmm6
psllq mm6, 0x2c
punpckhwd mm1, mm5
cmp ebx, 0
jne 0x4055fa
pcmpgtb mm2, mm4
psubsb mm0, mm7
psrld xmm3, 0x26
mov ebp, dword [edi]
packsswb mm1, mm2
psrad xmm6, xmm7
psubusb xmm3, xmm4
inc esi
punpckhdq mm3, mm6
paddusb xmm6, xmm1
punpckldq mm0, mm5
psubd mm5, mm6
paddsw mm5, mm7
psrlw mm7, 0xd0
psubb xmm2, xmm6
paddsb xmm1, xmm5
pcmpgtw xmm1, xmm6
xor ebp, esi
paddsw mm2, mm1
pcmpgtb xmm0, xmm1
paddusw mm6, mm5
punpckhwd mm7, mm0
paddd xmm3, xmm0
cmp ebp, 0xff21ff21
jne 0x4057b8
punpckldq xmm7, xmm5
psrlw xmm2, 0xdd
pmaddwd mm7, mm7
psrlq mm6, 0x16
pandn mm6, mm1
psraw xmm0, xmm2
paddusw xmm5, xmm5
pcmpgtd mm5, mm1
psubusb mm5, mm7
pcmpgtw mm7, mm6
punpcklwd mm4, mm2
pcmpeqw xmm4, xmm5
pop ebp
psubsb mm4, mm5
psllq xmm2, 0x3c
psllw mm6, 0xf7
push esi
paddsw mm1, mm1
paddw mm7, mm0
pcmpgtb mm6, mm1
psubsw mm0, mm4
pcmpeqd xmm3, xmm2
psrlq xmm2, 0xe7
psrad xmm2, xmm2
pmaddwd xmm2, xmm5
punpckhdq mm7, mm1
psubw mm4, mm2
push 0x40
pcmpeqb xmm3, xmm7
pmulhw xmm7, xmm6
punpckhdq mm3, mm6
pmulhw mm1, mm0
pcmpeqw xmm2, xmm5
push 0x1000
pcmpgtw xmm3, xmm4
psubw xmm5, xmm2
pcmpgtb mm7, mm1
push 0x6000
punpcklbw xmm4, xmm3
psllw mm0, 0x6d
psrlq mm6, 0xf4
psrad xmm7, xmm2
push 0
psraw mm5, mm0
punpcklwd xmm1, xmm4
pmullw mm6, mm2
pxor mm6, mm6
pslld xmm0, 0xf1
paddw mm3, mm5
paddusb xmm0, xmm4
pcmpeqd xmm0, xmm5
pmulhw mm2, mm0
call dword [ebp + 4]
por xmm6, xmm7
paddusb xmm5, xmm1
packsswb mm6, mm6
paddusb xmm1, xmm4
pxor mm5, mm6
psraw xmm6, xmm0
packuswb xmm7, xmm3
paddw xmm0, xmm2
pcmpeqb mm6, mm2
cld
pxor xmm7, xmm6
pmullw xmm2, xmm7
pand mm1, mm3
paddsw mm1, mm1
psllw xmm5, 0x40
paddd xmm0, xmm3
pslld mm0, 0xf
psubsw xmm7, xmm5
psrlw xmm2, 0xdd
mov ecx, 0x4000
psubw xmm7, xmm6
paddsb xmm3, xmm3
paddd xmm1, xmm0
psrld mm2, 0x63
punpckhbw xmm5, xmm2
pandn xmm1, xmm4
punpckhdq xmm7, xmm1
pmaddwd xmm6, xmm1
packssdw xmm2, xmm3
psraw xmm5, xmm0
mov esi, edi
psubsw xmm5, xmm1
punpcklwd mm5, mm2
psrlq xmm7, 0xf7
mov edi, eax
packsswb mm1, mm2
psubsw xmm0, xmm4
por xmm1, xmm1
psubsw mm4, mm1
packuswb mm2, mm1
psubusb mm1, mm3
rep movsb byte es:[edi], byte [esi]
psubw mm0, mm6
psrld xmm7, 0x36
psrlw mm7, 0x90
pcmpgtd mm2, mm1
paddd mm7, mm2
psraw xmm6, xmm0
pmulhw mm6, mm6
pcmpeqd mm0, mm5
paddw mm5, mm0
sub edi, 0x4000
paddw mm4, mm4
paddsw xmm2, xmm1
psrlq xmm1, 0x43
punpcklbw xmm4, xmm3
psllw mm0, 0x6d
psrlq mm6, 0xf4
psrad xmm7, xmm2
pcmpeqd mm0, mm5
paddusb mm4, mm1
psubb mm2, mm6
psrlw xmm3, 0x83
pcmpgtd mm4, mm0
pop esi
pcmpeqw mm3, mm5
paddusb xmm0, xmm4
pcmpeqd xmm0, xmm5
pmulhw mm2, mm0
packsswb xmm7, xmm6
psllq mm4, 0xe0
paddusw mm3, mm6
paddusb xmm6, xmm1
punpckldq mm0, mm5
psubd mm5, mm6
paddsw mm5, mm7
psrlw mm7, 0xd0
push edi
pcmpeqb mm6, mm2
paddsw mm5, mm7
punpckhdq mm6, mm2
paddsw mm2, mm1
pcmpgtb xmm0, xmm1
paddusw mm6, mm5
xor dword [edi], esi
psubusb xmm0, xmm3
pslld mm0, 0xf
psubsw xmm7, xmm5
psrlw xmm2, 0xdd
pmaddwd mm7, mm7
add edi, 4
paddsb xmm3, xmm3
paddd xmm1, xmm0
psrld mm2, 0x63
punpckhbw xmm5, xmm2
pandn xmm1, xmm4
punpckhdq xmm7, xmm1
pmaddwd xmm6, xmm1
packssdw xmm2, xmm3
psraw xmm5, xmm0
psubsb mm4, mm5
psllq xmm2, 0x3c
cmp dword [edi - 4], 0x70707070
jne 0x4059e5
psrlq xmm7, 0xf7
psraw mm1, mm1
paddw mm7, mm0
pcmpgtb mm6, mm1
psubsw mm0, mm4
pop edi
packuswb mm2, mm1
psubusb mm1, mm3
pxor mm2, mm0
psubusb mm5, mm7
jmp edi