Function at 0x4600f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov edi, dword [ebp + 8]
mov ebx, edi
mov eax, edi
and ebx, 3
shr eax, 2
lea esi, [ebx + ebx*2]
mov dword [ebp - 0x10], eax
lea eax, [eax + eax*2]
shr esi, 2
add esi, eax
cmp esi, dword [ebp + 0x10]
jbe 0x460128
mov byte [ecx + 4], 1
mov dword [ecx], 0
jmp 0x460580
mov dword [ebp - 0x30], ecx
mov ecx, edi
mov dword [ebp - 0x38], ebx
mov ebx, edx
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2c], esi
and ecx, 0xfffffffc
mov dword [ebp - 0x28], ebx
lea eax, [edx + ecx]
mov edx, 0xaaaaaaab
mov dword [ebp - 0x34], eax
mov eax, esi
mul edx
shr edx, 1
lea edx, [edx + edx*2]
sub esi, edx
test ecx, ecx
lea eax, [edi + edx]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], eax
je 0x46031f
mov eax, dword [ebp - 0x10]
movdqa xmm1, xmmword [0x55f760]
movdqa xmm5, xmmword [0x55f7f0]
movdqa xmm7, xmmword [0x55f820]
movdqa xmm2, xmmword [0x55f830]
mov ecx, ebx
xor ebx, ebx
shl eax, 2
neg eax
nop word cs:[eax + eax]
nop dword [eax + eax]
sub edx, 3
jb 0x460321
movd xmm4, dword [ecx]
pxor xmm0, xmm0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x44], edx
punpcklbw xmm4, xmm0
movdqa xmm0, xmm1
movdqa xmm3, xmm4
movdqa xmm6, xmm4
psubw xmm0, xmm4
paddw xmm3, xmmword [0x55f770]
paddw xmm6, xmmword [0x55f780]
pand xmm3, xmm0
movdqa xmm0, xmmword [0x55f790]
psraw xmm3, 8
pand xmm6, xmm3
movdqa xmm3, xmm4
paddw xmm3, xmmword [0x55f7a0]
psubw xmm0, xmm4
pand xmm3, xmm0
movdqa xmm0, xmm4
paddw xmm0, xmmword [0x55f7b0]
psraw xmm3, 8
pand xmm0, xmm3
movdqa xmm3, xmmword [0x55f7c0]
paddw xmm0, xmm6
movdqa xmm6, xmm4
paddw xmm6, xmmword [0x55f7d0]
psubw xmm3, xmm4
pand xmm6, xmm3
movdqa xmm3, xmm4
paddw xmm3, xmmword [0x55f7e0]
psraw xmm6, 8
pand xmm3, xmm6
movdqa xmm6, xmm5
paddw xmm3, xmm0
movdqa xmm0, xmm4
psubw xmm6, xmm4
paddw xmm0, xmmword [0x55f800]
pand xmm0, xmm6
pcmpeqd xmm6, xmm6
psrlw xmm0, 8
paddw xmm3, xmm6
pand xmm0, xmmword [0x55f810]
paddw xmm0, xmm3
movdqa xmm3, xmm7
psubw xmm3, xmm4
paddw xmm4, xmm2
movd eax, xmm0
pextrw ebx, xmm0, 1
pextrw esi, xmm0, 2
pand xmm4, xmm3
shl eax, 2
shl ebx, 4
shl esi, 6
psrlw xmm4, 8
pand xmm4, xmm1
paddw xmm4, xmm0
pextrw ecx, xmm4, 1
pshufd xmm0, xmm4, 0x55
pextrw edx, xmm4, 3
shr ecx, 4
por xmm0, xmm4
or edx, esi
or ecx, eax
pextrw eax, xmm4, 2
movdqa xmm3, xmm0
psrld xmm3, 0x10
shr eax, 2
mov byte [edi], cl
or eax, ebx
por xmm3, xmm0
mov ebx, dword [ebp - 0x1c]
movd ecx, xmm3
mov byte [edi + 1], al
mov eax, dword [ebp - 0x10]
mov byte [edi + 2], dl
mov edx, dword [ebp - 0x44]
add edi, 3
shr ecx, 8
and ecx, 1
or ebx, ecx
mov ecx, dword [ebp - 0x24]
add ecx, 4
add eax, 4
jne 0x4601a0
jmp 0x460321
xor ebx, ebx
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x48], 0x41414141
cmp ecx, 1
sete al
mov edi, eax
lea eax, [ebp - 0x48]
push ecx
push dword [ebp - 0x34]
push eax
call sym._memcpy
add esp, 0xc
movd xmm0, dword [ebp - 0x48]
pxor xmm1, xmm1
movdqa xmm4, xmmword [0x55f770]
movdqa xmm3, xmmword [0x55f780]
movdqa xmm7, xmmword [0x55f7c0]
movdqa xmm5, xmmword [0x55f7d0]
movdqa xmm6, xmmword [0x55f7e0]
or ebx, edi
punpcklbw xmm0, xmm1
movdqa xmm1, xmmword [0x55f760]
paddw xmm4, xmm0
paddw xmm3, xmm0
psubw xmm7, xmm0
paddw xmm5, xmm0
paddw xmm6, xmm0
pand xmm5, xmm7
psraw xmm5, 8
movdqa xmm2, xmm1
pand xmm6, xmm5
psubw xmm2, xmm0
pand xmm4, xmm2
movdqa xmm2, xmmword [0x55f790]
psraw xmm4, 8
pand xmm3, xmm4
movdqa xmm4, xmmword [0x55f7a0]
psubw xmm2, xmm0
paddw xmm4, xmm0
pand xmm4, xmm2
movdqa xmm2, xmmword [0x55f7b0]
psraw xmm4, 8
paddw xmm2, xmm0
pand xmm2, xmm4
pcmpeqd xmm4, xmm4
paddw xmm2, xmm3
paddw xmm6, xmm2
movdqa xmm2, xmmword [0x55f800]
paddw xmm6, xmm4
movdqa xmm4, xmmword [0x55f7f0]
paddw xmm2, xmm0
psubw xmm4, xmm0
pand xmm2, xmm4
movdqa xmm4, xmmword [0x55f820]
psrlw xmm2, 8
pand xmm2, xmmword [0x55f810]
psubw xmm4, xmm0
paddw xmm0, xmmword [0x55f830]
paddw xmm2, xmm6
movd eax, xmm2
pand xmm0, xmm4
shl eax, 2
psrlw xmm0, 8
pand xmm0, xmm1
paddw xmm0, xmm2
pextrw ecx, xmm0, 1
pshufd xmm1, xmm0, 0x55
shr ecx, 4
por xmm1, xmm0
or ecx, eax
pextrw eax, xmm2, 1
mov byte [ebp - 0x1f], cl
pextrw ecx, xmm0, 2
shl eax, 4
shr ecx, 2
or ecx, eax
pextrw eax, xmm2, 2
movdqa xmm2, xmm1
psrld xmm2, 0x10
mov byte [ebp - 0x1e], cl
shl eax, 6
pextrw ecx, xmm0, 3
por xmm2, xmm1
or ecx, eax
lea eax, [ebp - 0x1f]
movd esi, xmm2
mov byte [ebp - 0x1d], cl
shr esi, 8
and esi, 1
push dword [ebp - 0x40]
push eax
push dword [ebp - 0x3c]
call sym._memcpy
add esp, 0xc
or bx, si
je 0x4604cb
mov eax, dword [ebp - 0x30]
mov byte [eax + 4], 0
jmp 0x46057a
mov edx, dword [ebp - 0x2c]
mov edi, dword [ebp + 8]
mov eax, edx
or eax, edi
je 0x460d70
mov eax, edi
mov edx, dword [ebp - 0x28]
xor esi, esi
mov ecx, edi
sub eax, 1
cmovb eax, esi
and eax, 0xfffffffc
add edx, eax
sub ecx, eax
cmovb ecx, esi
mov ebx, ecx
and ebx, 1
cmp eax, edi
cmovbe ebx, ecx
cmova edx, esi
ja 0x460537
mov edi, dword [ebp - 0x2c]
mov ecx, 0xaaaaaaab
mov dword [ebp - 0x28], edx
mov eax, edi
sub eax, 1
cmovb eax, esi
mul ecx
mov eax, edi
shr edx, 1
lea ecx, [edx + edx*2]
sub eax, ecx
cmovb eax, esi
mov edx, eax
and edx, 1
cmp ecx, edi
cmovbe edx, eax
jbe 0x46053c
and dl, 1
mov ebx, edx
jmp 0x460574
and bl, 1
jmp 0x460574
cmp edx, 0x3fffffff
mov dword [ebp - 0x14], 0
ja 0x460572
lea eax, [edx*4]
mov edi, 0xaaaaaaab
mov esi, edx
mul edi
imul eax, esi, 0xaaaaaaac
mov edi, edx
shr edi, 1
cmp eax, 0x55555556
sbb edi, 0xffffffff
cmp edi, 4
jbe 0x460588
mov bl, 1
mov eax, dword [ebp - 0x30]
mov byte [eax + 4], bl
mov dword [eax], 0
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, esi
mov edx, 0xaaaaaaab
add ecx, dword [ebp + 0xc]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x24], edi
mul edx
shr edx, 1
lea ebx, [edx + edx*2]
sub esi, ebx
lea eax, [ecx + ebx]
mov dword [ebp - 0x34], esi
mov esi, edi
and edi, 0xfffffffc
mov dword [ebp - 0x4c], eax
and esi, 3
lea edx, [ebp + edi - 0x14]
cmp ebx, 3
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], edx
jb 0x460b59
mov esi, dword [ebp - 0x24]
lea eax, [ebx - 3]
mov edx, 0xaaaaaaab
mul edx
shr edx, 1
shr esi, 2
cmp esi, edx
cmovb edx, esi
cmp edx, 8
jae 0x4605ec
lea eax, [ebp - 0x14]
mov dword [ebp - 0x1c], eax
jmp 0x460a52
lea esi, [edx + 1]
mov dword [ebp - 0x10], edi
mov edi, 8
not edx
mov eax, esi
and eax, 7
cmovne edi, eax
sub esi, edi
add edx, edi
lea eax, [esi*4]
sub dword [ebp - 0x10], eax
lea eax, [ebp + esi*4 - 0x14]
lea esi, [esi + esi*2]
sub ebx, esi
mov dword [ebp - 0x1c], eax
add esi, ecx
mov eax, ebx
lea ebx, [ebp - 0x14]
movdqu xmm0, xmmword [ecx]
movdqa xmm1, xmmword [0x55f840]
movq xmm3, qword [ecx + 0x10]
movdqa xmm4, xmmword [0x55f860]
add ecx, 0x18
movdqa xmm2, xmm1
movdqa xmm5, xmm0
movdqa xmm7, xmm0
pand xmm5, xmm1
pandn xmm2, xmm3
pxor xmm1, xmm1
por xmm5, xmm2
movdqa xmm2, xmmword [0x55f850]
punpckhbw xmm7, xmm1
punpcklbw xmm5, xmm1
pand xmm5, xmm2
pandn xmm2, xmm7
por xmm2, xmm5
movdqa xmm5, xmm0
pshufd xmm2, xmm2, 0xd8
pand xmm5, xmm4
pshufhw xmm2, xmm2, 0x6c
pshufd xmm2, xmm2, 0x6c
pshuflw xmm2, xmm2, 0x6c
pshufhw xmm6, xmm2, 0xc6
movdqa xmm2, xmm4
movdqa xmm4, xmmword [0x55f880]
pandn xmm2, xmm3
packuswb xmm6, xmm6
por xmm5, xmm2
movdqa xmm2, xmmword [0x55f870]
punpcklbw xmm5, xmm1
pand xmm5, xmm2
pandn xmm2, xmm7
por xmm2, xmm5
pshuflw xmm2, xmm2, 0xc6
pshufhw xmm2, xmm2, 0xc6
pshufd xmm2, xmm2, 0x6c
pshuflw xmm2, xmm2, 0x39
pshufhw xmm5, xmm2, 0x39
movdqa xmm2, xmm4
packuswb xmm5, xmm5
pand xmm0, xmm4
pandn xmm2, xmm3
movdqa xmm4, xmmword [0x55f8d0]
por xmm0, xmm2
movdqa xmm2, xmmword [0x55f890]
punpcklbw xmm0, xmm1
movdqa xmm1, xmmword [0x55f900]
pand xmm0, xmm2
pandn xmm2, xmm7
por xmm2, xmm0
pshufd xmm0, xmm2, 0x27
movdqa xmm2, xmmword [0x55f8b0]
pshufhw xmm0, xmm0, 0x6c
pshufd xmm0, xmm0, 0x27
pshuflw xmm0, xmm0, 0xc6
pshufhw xmm3, xmm0, 0xc6
packuswb xmm3, xmm3
pxor xmm0, xmm0
punpcklbw xmm6, xmm0
punpcklbw xmm5, xmm0
movdqa xmm0, xmmword [0x55f8a0]
movdqa xmm7, xmm6
psllw xmm6, 4
psrlw xmm7, 2
pand xmm6, xmmword [0x55f930]
psubw xmm4, xmm7
psubw xmm0, xmm7
psrlw xmm4, 8
psrlw xmm0, 8
pand xmm0, xmm2
movdqa xmm2, xmmword [0x55f8e0]
paddw xmm0, xmm7
pand xmm4, xmm2
movdqa xmm2, xmmword [0x55f8f0]
psubw xmm2, xmm7
psrlw xmm2, 8
pand xmm2, xmm1
movdqa xmm1, xmmword [0x55f8c0]
paddw xmm2, xmm4
movdqa xmm4, xmmword [0x55f920]
paddw xmm2, xmm0
movdqa xmm0, xmmword [0x55f910]
psubw xmm0, xmm7
movdqa xmm7, xmm5
psllw xmm5, 2
psrlw xmm0, 8
psrlw xmm7, 4
pand xmm5, xmmword [0x55f950]
pand xmm0, xmm4
por xmm7, xmm6
movdqa xmm6, xmmword [0x55f8a0]
movdqa xmm4, xmmword [0x55f8d0]
paddw xmm0, xmm1
paddw xmm0, xmm2
pxor xmm2, xmm2
punpcklbw xmm3, xmm2
movdqa xmm2, xmmword [0x55f8f0]
psubw xmm6, xmm7
psubw xmm4, xmm7
psrlw xmm6, 8
psrlw xmm4, 8
pand xmm6, xmmword [0x55f8b0]
pand xmm4, xmmword [0x55f8e0]
psubw xmm2, xmm7
psrlw xmm2, 8
pand xmm2, xmmword [0x55f900]
paddw xmm6, xmm7
paddw xmm2, xmm4
movdqa xmm4, xmmword [0x55f920]
paddw xmm2, xmm6
movdqa xmm6, xmmword [0x55f910]
psubw xmm6, xmm7
movdqa xmm7, xmm3
pand xmm3, xmmword [0x55f960]
psrlw xmm6, 8
psrlw xmm7, 6
pand xmm6, xmm4
por xmm7, xmm5
movdqa xmm5, xmmword [0x55f8a0]
movdqa xmm4, xmmword [0x55f8d0]
paddw xmm6, xmm1
movdqa xmm1, xmmword [0x55f940]
paddw xmm6, xmm2
movdqa xmm2, xmmword [0x55f8b0]
psubw xmm5, xmm7
psubw xmm4, xmm7
psrlw xmm5, 8
psrlw xmm4, 8
pand xmm6, xmm1
movdqa xmm1, xmmword [0x55f900]
pand xmm5, xmm2
movdqa xmm2, xmmword [0x55f8e0]
paddw xmm5, xmm7
pand xmm4, xmm2
movdqa xmm2, xmmword [0x55f8f0]
psubw xmm2, xmm7
psrlw xmm2, 8
pand xmm2, xmm1
movdqa xmm1, xmmword [0x55f920]
paddw xmm2, xmm4
movdqa xmm4, xmmword [0x55f8c0]
paddw xmm2, xmm5
movdqa xmm5, xmmword [0x55f910]
psubw xmm5, xmm7
movdqa xmm7, xmmword [0x55f8a0]
psrlw xmm5, 8
pand xmm5, xmm1
paddw xmm5, xmm4
movdqa xmm4, xmmword [0x55f8d0]
paddw xmm5, xmm2
movdqa xmm2, xmmword [0x55f8f0]
psubw xmm7, xmm3
psrlw xmm7, 8
pand xmm7, xmmword [0x55f8b0]
psubw xmm4, xmm3
psubw xmm2, xmm3
psrlw xmm4, 8
psrlw xmm2, 8
pand xmm4, xmmword [0x55f8e0]
pand xmm2, xmmword [0x55f900]
paddw xmm7, xmm3
paddw xmm2, xmm4
movdqa xmm4, xmmword [0x55f970]
paddw xmm2, xmm7
movdqa xmm7, xmmword [0x55f910]
psubw xmm7, xmm3
psrlw xmm7, 8
pand xmm7, xmm1
movdqa xmm1, xmmword [0x55f940]
paddw xmm7, xmmword [0x55f8c0]
pand xmm5, xmm1
pand xmm0, xmm1
paddw xmm7, xmm2
movdqa xmm2, xmm5
pand xmm7, xmm1
punpcklwd xmm2, xmm7
punpckhwd xmm5, xmm7
movdqa xmm7, xmmword [0x55f970]
pshufd xmm3, xmm2, 0xfa
pshufd xmm2, xmm2, 0x50
packuswb xmm2, xmm3
pandn xmm4, xmm2
movdqa xmm2, xmm0
punpckhwd xmm0, xmm6
punpcklwd xmm2, xmm6
pshufd xmm1, xmm2, 0xf6
pshufd xmm3, xmm2, 0xd4
pshufd xmm2, xmm5, 0x50
packuswb xmm3, xmm1
pshufd xmm1, xmm5, 0xfa
pshufd xmm5, xmm0, 0xf6
pshufd xmm0, xmm0, 0xd4
pand xmm3, xmmword [0x55f970]
packuswb xmm0, xmm5
packuswb xmm2, xmm1
movdqa xmm1, xmm7
pandn xmm1, xmm2
pand xmm0, xmm7
por xmm0, xmm1
movdqu xmmword [ebx + 0x10], xmm0
por xmm3, xmm4
movdqu xmmword [ebx], xmm3
add ebx, 0x20
add edx, 8
jne 0x460622
mov edi, dword [ebp - 0x10]
mov ecx, esi
mov ebx, eax
movdqa xmm5, xmmword [0x55f9e0]
movdqa xmm7, xmmword [0x55f9f0]
movdqa xmm1, xmmword [0x55fa00]
movdqa xmm0, xmmword [0x55f940]
sub edi, 4
jb 0x460b59
movzx edx, byte [ecx]
mov dword [ebp - 0x10], edi
movzx edi, byte [ecx + 1]
movzx eax, byte [ecx + 2]
mov dword [ebp - 0x44], ebx
movdqa xmm6, xmmword [0x55f9a0]
movdqa xmm4, xmmword [0x55f9c0]
movdqa xmm2, xmmword [0x55f980]
add ecx, 3
mov esi, edx
mov ebx, edi
shl edx, 4
and edi, 0xf
shr ebx, 4
and edx, 0x30
shr esi, 2
or edx, ebx
mov ebx, eax
movd xmm3, esi
and eax, 0x3f
shr ebx, 6
pinsrw xmm3, edx, 1
lea edi, [ebx + edi*4]
mov ebx, dword [ebp - 0x44]
pinsrw xmm3, edi, 2
mov edi, dword [ebp - 0x10]
pinsrw xmm3, eax, 3
mov eax, dword [ebp - 0x1c]
psubw xmm6, xmm3
psubw xmm4, xmm3
psubw xmm2, xmm3
psrlw xmm6, 8
psrlw xmm4, 8
psrlw xmm2, 8
add ebx, 0xfffffffd
pand xmm6, xmmword [0x55f9b0]
pand xmm4, xmmword [0x55f9d0]
pand xmm2, xmmword [0x55f990]
cmp ebx, 2
paddw xmm4, xmm6
movdqa xmm6, xmm5
psubw xmm6, xmm3
psrlw xmm6, 8
pand xmm6, xmm7
paddw xmm6, xmm3
paddw xmm6, xmm4
paddw xmm6, xmm2
paddw xmm6, xmm1
pand xmm6, xmm0
packuswb xmm6, xmm6
movd dword [eax], xmm6
lea eax, [eax + 4]
mov dword [ebp - 0x1c], eax
ja 0x460a72
mov byte [ebp - 0x16], 0
mov word [ebp - 0x18], 0
lea eax, [ebp - 0x18]
push dword [ebp - 0x34]
push dword [ebp - 0x4c]
push eax
call sym._memcpy
add esp, 0xc
movzx ecx, byte [ebp - 0x18]
movzx esi, byte [ebp - 0x17]
movzx eax, byte [ebp - 0x16]
movdqa xmm3, xmmword [0x55f9c0]
movdqa xmm2, xmmword [0x55f9a0]
movdqa xmm1, xmmword [0x55f9e0]
mov edx, ecx
mov edi, esi
shl ecx, 4
and esi, 0xf
shr edi, 4
and ecx, 0x30
shr edx, 2
or ecx, edi
mov edi, eax
movd xmm0, edx
and eax, 0x3f
shr edi, 6
pinsrw xmm0, ecx, 1
lea esi, [edi + esi*4]
pinsrw xmm0, esi, 2
pinsrw xmm0, eax, 3
lea eax, [ebp - 0x50]
psubw xmm3, xmm0
psubw xmm2, xmm0
psubw xmm1, xmm0
psrlw xmm3, 8
psrlw xmm2, 8
psrlw xmm1, 8
pand xmm3, xmmword [0x55f9d0]
pand xmm2, xmmword [0x55f9b0]
pand xmm1, xmmword [0x55f9f0]
paddw xmm2, xmm3
movdqa xmm3, xmmword [0x55f980]
paddw xmm1, xmm0
paddw xmm2, xmm1
psubw xmm3, xmm0
psrlw xmm3, 8
pand xmm3, xmmword [0x55f990]
paddw xmm3, xmm2
paddw xmm3, xmmword [0x55fa00]
pand xmm3, xmmword [0x55f940]
packuswb xmm3, xmm3
movd dword [ebp - 0x50], xmm3
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x38]
call sym._memcpy
add esp, 0xc
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
cmp eax, ebx
cmovb ebx, eax
test ebx, ebx
je 0x460d70
mov esi, dword [ebp - 0x28]
xor ecx, ecx
mov edi, edx
cmp ebx, 8
mov eax, 0
jb 0x460d54
xor ecx, ecx
cmp ebx, 0x20
jb 0x460d01
mov eax, ebx
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
and eax, 0x7fffffe0
movdqu xmm2, xmmword [ebp + ecx - 0x14]
movdqu xmm4, xmmword [esi + ecx]
movdqu xmm3, xmmword [ebp + ecx - 4]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm4, xmmword [esi + ecx + 0x10]
add ecx, 0x20
cmp eax, ecx
pxor xmm4, xmm3
por xmm1, xmm4
jne 0x460c96
por xmm1, xmm0
cmp ebx, eax
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
je 0x460d63
test bl, 0x18
je 0x460d54
mov edx, eax
mov eax, ebx
movzx ecx, cl
and eax, 0x7ffffff8
movd xmm0, ecx
movq xmm1, qword [ebp + edx - 0x14]
movq xmm2, qword [esi + edx]
add edx, 8
cmp eax, edx
pxor xmm2, xmm1
por xmm0, xmm2
jne 0x460d11
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
jmp 0x460d5f
movzx edx, byte [esi + eax]
xor dl, byte [ebp + eax - 0x14]
inc eax
or cl, dl
cmp ebx, eax
jne 0x460d54
test cl, cl
mov edx, edi
je 0x460d70
xor ebx, ebx
jmp 0x460574
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], edx
jmp 0x460580