Function at 0x449df0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov esi, dword [edx + 4]
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0xc]
or esi, dword [edx + 0xc]
jne 0x449e24
mov esi, dword [edx + 0x20]
cmp esi, dword [edx + 0x1c]
jne 0x449e24
mov edx, dword [ebp + 8]
push eax
push dword [ebp + 0x10]
push ebx
call fcn.00448e50
add esp, 0x50
jmp 0x44a2ae
mov edi, ebx
mov edx, ebx
and edi, 3
shr edx, 2
mov dword [ebp - 0x2c], edi
lea edi, [edi + edi*2]
mov dword [ebp - 0x24], edx
lea edx, [edx + edx*2]
shr edi, 2
add edi, edx
cmp edi, eax
jbe 0x449e52
mov byte [ecx + 4], 1
mov dword [ecx], 0
jmp 0x44a2ab
mov esi, dword [ebp + 8]
and ebx, 0xfffffffc
mov edx, 0xaaaaaaab
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], ecx
lea eax, [esi + ebx]
mov dword [ebp - 0x3c], eax
mov eax, edi
mul edx
shr edx, 1
lea eax, [edx + edx*2]
sub edi, eax
test ebx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x44], edi
lea eax, [ebx + eax]
mov dword [ebp - 0x40], eax
je 0x44a033
mov edx, dword [ebp - 0x24]
movdqa xmm3, xmmword [0x519340]
xor edi, edi
mov ecx, esi
pcmpeqd xmm2, xmm2
mov dword [ebp - 0x34], ebx
shl edx, 2
neg edx
nop word cs:[eax + eax]
sub dword [ebp - 0x30], 3
jb 0x44a035
movd xmm0, dword [ecx]
pxor xmm1, xmm1
movdqa xmm5, xmmword [0x519390]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], edx
punpcklbw xmm0, xmm1
movdqa xmm1, xmmword [str.....]
movdqa xmm6, xmm0
movdqa xmm4, xmm0
movdqa xmm7, xmm0
psubw xmm5, xmm0
paddw xmm6, xmmword [0x519330]
paddw xmm4, xmmword [0x519360]
paddw xmm7, xmmword [0x5193a0]
psubw xmm1, xmm0
pand xmm6, xmm1
movdqa xmm1, xmmword [0x519350]
psrlw xmm6, 8
pand xmm6, xmm3
psubw xmm1, xmm0
pand xmm4, xmm1
movdqa xmm1, xmm0
paddw xmm1, xmmword [0x519380]
psrlw xmm4, 8
pand xmm4, xmmword [0x519370]
pand xmm5, xmm1
movdqa xmm1, xmm0
psraw xmm5, 8
paddw xmm1, xmmword [0x5193b0]
pand xmm7, xmm5
movdqa xmm5, xmmword [0x5193c0]
psubw xmm5, xmm0
pand xmm5, xmm1
movdqa xmm1, xmm0
paddw xmm1, xmmword [0x5193d0]
psraw xmm5, 8
pand xmm1, xmm5
movdqa xmm5, xmm3
paddw xmm1, xmm7
psubw xmm5, xmm0
paddw xmm1, xmm4
paddw xmm1, xmm6
movdqa xmm6, xmm0
paddw xmm0, xmmword [0x5193f0]
paddw xmm6, xmmword [0x5193e0]
paddw xmm1, xmm2
pand xmm5, xmm6
psraw xmm5, 8
pand xmm0, xmm5
paddw xmm0, xmm1
pshufd xmm1, xmm0, 0x55
pextrw esi, xmm0, 1
movd edi, xmm0
pextrw ecx, xmm0, 2
pextrw ebx, xmm0, 3
por xmm1, xmm0
mov edx, esi
shl edi, 2
shl esi, 4
movdqa xmm0, xmm1
shr edx, 4
psrld xmm0, 0x10
or edx, edi
por xmm0, xmm1
mov byte [eax], dl
mov edx, ecx
shl ecx, 6
movd edi, xmm0
shr edx, 2
or ebx, ecx
mov ecx, dword [ebp - 0x20]
shr edi, 8
or edx, esi
and edi, 1
mov byte [eax + 1], dl
mov edx, dword [ebp - 0x24]
mov byte [eax + 2], bl
add eax, 3
or dword [ebp - 0x14], edi
mov dword [ebp - 0x34], eax
mov edi, dword [ebp - 0x14]
add ecx, 4
add edx, 4
jne 0x449eb0
jmp 0x44a035
xor edi, edi
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x48], 0x41414141
lea eax, [ebp - 0x48]
push esi
push dword [ebp - 0x3c]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movd xmm0, dword [ebp - 0x48]
movdqa xmm4, xmmword [0x519350]
movdqa xmm3, xmmword [0x519360]
pxor xmm1, xmm1
movdqa xmm6, xmmword [0x519390]
movdqa xmm5, xmmword [0x5193a0]
movdqa xmm2, xmmword [0x519330]
movdqa xmm7, xmmword [0x5193d0]
punpcklbw xmm0, xmm1
movdqa xmm1, xmmword [str.....]
psubw xmm4, xmm0
paddw xmm3, xmm0
psubw xmm6, xmm0
paddw xmm5, xmm0
paddw xmm2, xmm0
paddw xmm7, xmm0
pand xmm3, xmm4
movdqa xmm4, xmmword [0x519380]
psrlw xmm3, 8
psubw xmm1, xmm0
pand xmm3, xmmword [0x519370]
pand xmm2, xmm1
movdqa xmm1, xmmword [0x519340]
paddw xmm4, xmm0
psrlw xmm2, 8
pand xmm6, xmm4
movdqa xmm4, xmmword [0x5193b0]
psraw xmm6, 8
pand xmm5, xmm6
movdqa xmm6, xmmword [0x5193c0]
pand xmm2, xmm1
psubw xmm1, xmm0
paddw xmm4, xmm0
psubw xmm6, xmm0
pand xmm6, xmm4
psraw xmm6, 8
pand xmm7, xmm6
paddw xmm7, xmm5
paddw xmm7, xmm3
paddw xmm7, xmm2
movdqa xmm2, xmmword [0x5193e0]
paddw xmm2, xmm0
paddw xmm0, xmmword [0x5193f0]
pand xmm1, xmm2
psraw xmm1, 8
pand xmm0, xmm1
pcmpeqd xmm1, xmm1
paddw xmm1, xmm7
paddw xmm1, xmm0
pextrw eax, xmm1, 1
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
mov edx, eax
shl ecx, 2
por xmm0, xmm1
shl eax, 4
shr edx, 4
movdqa xmm2, xmm0
or edx, ecx
pextrw ecx, xmm1, 2
psrld xmm2, 0x10
mov byte [ebp - 0x27], dl
mov edx, ecx
shl ecx, 6
por xmm2, xmm0
shr edx, 2
or edx, eax
pextrw eax, xmm1, 3
or eax, ecx
mov byte [ebp - 0x26], dl
mov byte [ebp - 0x25], al
xor eax, eax
cmp esi, 1
movd esi, xmm2
sete al
shr esi, 8
or edi, eax
and esi, 1
lea eax, [ebp - 0x27]
push dword [ebp - 0x44]
push eax
push dword [ebp - 0x40]
call sub.msvcrt.dll_memcpy
add esp, 0xc
or di, si
je 0x44a1d3
mov eax, dword [ebp - 0x18]
mov byte [eax + 4], 0
jmp 0x44a2a5
mov edi, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp + 0x10]
mov eax, edi
or eax, ecx
mov eax, dword [ebp - 0x18]
jne 0x44a1ef
mov dword [eax], esi
mov dword [eax + 4], ecx
jmp 0x44a2ab
mov eax, edi
mov ebx, dword [ebp + 8]
xor esi, esi
mov ecx, edi
sub eax, 1
cmovb eax, esi
and eax, 0xfffffffc
add ebx, eax
sub ecx, eax
cmovb ecx, esi
mov edx, ecx
and edx, 1
cmp eax, edi
cmovbe edx, ecx
cmova ebx, esi
jbe 0x44a21f
and dl, 1
jmp 0x44a29f
mov esi, dword [ebp - 0x38]
mov ecx, 0
mov dword [ebp - 0x20], edx
mov eax, esi
sub eax, 1
cmovb eax, ecx
mov ecx, 0xaaaaaaab
mul ecx
mov ecx, esi
shr edx, 1
lea edi, [edx + edx*2]
mov edx, 0
sub ecx, edi
cmovb ecx, edx
mov edx, 0
mov eax, ecx
and eax, 1
cmp edi, esi
cmovbe eax, ecx
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx + edi]
cmovbe edx, ecx
jbe 0x44a26a
and al, 1
mov edx, eax
jmp 0x44a29f
mov dword [ebp - 0x30], edx
mov edx, 4
mov esi, eax
mov dword [ebp - 0x10], 0
mul edx
jo 0x44a29d
mov edi, eax
mov edx, 0xaaaaaaab
mul edx
imul eax, edi, 0xaaaaaaab
shr edx, 1
cmp eax, 0x55555556
sbb edx, 0xffffffff
cmp edx, 4
jbe 0x44a2b3
mov dl, 1
mov eax, dword [ebp - 0x18]
mov byte [eax + 4], dl
mov dword [eax], 0
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x4c], ebx
mov ebx, esi
mov eax, esi
mov esi, 0xaaaaaaab
mov edi, edx
mul esi
mov esi, edi
mov dword [ebp - 0x2c], edi
and edi, 0x7ffffffc
shr edx, 1
and esi, 3
lea eax, [edx + edx*2]
lea edx, [ebp + edi - 0x10]
mov dword [ebp - 0x44], esi
sub ebx, eax
add dword [ebp - 0x30], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ebx
mov ebx, eax
cmp ebx, 3
jb 0x44a873
mov esi, dword [ebp - 0x2c]
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 0x44a317
lea eax, [ebp - 0x10]
jmp 0x44a766
lea eax, [edx + 1]
mov dword [ebp - 0x14], edi
mov edi, 8
not edx
mov esi, eax
and esi, 7
cmovne edi, esi
sub eax, edi
add edx, edi
lea edi, [ebp - 0x10]
lea esi, [eax*4]
sub dword [ebp - 0x14], esi
lea esi, [eax + eax*2]
lea eax, [ebp + eax*4 - 0x10]
sub ebx, esi
add esi, ecx
movdqu xmm0, xmmword [ecx]
movdqa xmm4, xmmword [0x519400]
movq xmm6, qword [ecx + 0x10]
movdqa xmm5, xmmword [0x519420]
pxor xmm1, xmm1
add ecx, 0x18
movdqa xmm2, xmm4
movdqa xmm3, xmm0
movdqa xmm7, xmm0
pand xmm3, xmm4
pandn xmm2, xmm6
movdqa xmm4, xmm0
pand xmm7, xmm5
por xmm3, xmm2
movdqa xmm2, xmmword [0x519410]
punpckhbw xmm4, xmm1
punpcklbw xmm3, xmm1
pand xmm3, xmm2
pandn xmm2, xmm4
por xmm2, xmm3
movdqa xmm3, xmm5
movdqa xmm5, xmmword [0x519440]
pandn xmm3, xmm6
pshufd xmm2, xmm2, 0xd8
por xmm7, xmm3
movdqa xmm3, xmmword [0x519430]
pshufhw xmm2, xmm2, 0x6c
punpcklbw xmm7, xmm1
pshufd xmm2, xmm2, 0x6c
pshuflw xmm2, xmm2, 0x6c
pshufhw xmm2, xmm2, 0xc6
pand xmm7, xmm3
pandn xmm3, xmm4
packuswb xmm2, xmm2
por xmm3, xmm7
movdqa xmm7, xmm5
punpcklbw xmm2, xmm1
pshuflw xmm3, xmm3, 0xc6
pandn xmm7, xmm6
movdqa xmm6, xmmword [0x519450]
pshufhw xmm3, xmm3, 0xc6
pshufd xmm3, xmm3, 0x6c
pshuflw xmm3, xmm3, 0x39
pshufhw xmm3, xmm3, 0x39
packuswb xmm3, xmm3
pand xmm0, xmm5
movdqa xmm5, xmmword [0x519470]
por xmm0, xmm7
movdqa xmm7, xmmword [0x519460]
punpcklbw xmm3, xmm1
punpcklbw xmm0, xmm1
pand xmm0, xmm6
pandn xmm6, xmm4
movdqa xmm4, xmm2
psllw xmm2, 4
por xmm6, xmm0
psrlw xmm4, 2
pand xmm2, xmmword [0x5194f0]
pshufd xmm0, xmm6, 0x27
psubw xmm7, xmm4
movdqa xmm6, xmmword [0x5194c0]
pshufhw xmm0, xmm0, 0x6c
psrlw xmm7, 8
pshufd xmm0, xmm0, 0x27
pand xmm7, xmm5
movdqa xmm5, xmmword [str.33333333]
pshuflw xmm0, xmm0, 0xc6
pshufhw xmm0, xmm0, 0xc6
psubw xmm6, xmm4
packuswb xmm0, xmm0
psrlw xmm6, 8
punpcklbw xmm0, xmm1
movdqa xmm1, xmmword [0x5194b0]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [0x5194d0]
pand xmm6, xmm1
movdqa xmm1, xmmword [0x519490]
paddw xmm6, xmm5
movdqa xmm5, xmmword [0x519480]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [str.AAAAAAAA00000000]
paddw xmm6, xmm5
movdqa xmm5, xmmword [str.33333333]
paddw xmm6, xmm7
movdqa xmm7, xmmword [0x519460]
paddw xmm6, xmm1
paddw xmm6, xmm4
movdqa xmm4, xmm3
psllw xmm3, 2
psrlw xmm4, 4
pand xmm3, xmmword [str.________________]
por xmm4, xmm2
movdqa xmm2, xmmword [0x5194c0]
psubw xmm5, xmm4
psubw xmm7, xmm4
psrlw xmm5, 8
psrlw xmm7, 8
pand xmm5, xmmword [0x5194b0]
pand xmm7, xmmword [0x519470]
psubw xmm2, xmm4
psrlw xmm2, 8
pand xmm2, xmmword [0x5194d0]
paddw xmm2, xmm5
movdqa xmm5, xmmword [0x519480]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmmword [0x519490]
paddw xmm2, xmm5
movdqa xmm5, xmmword [str.33333333]
paddw xmm2, xmm7
movdqa xmm7, xmmword [0x519460]
paddw xmm2, xmm1
movdqa xmm1, xmmword [0x519500]
paddw xmm2, xmm4
movdqa xmm4, xmm0
pand xmm0, xmmword [0x519520]
psrlw xmm4, 6
por xmm4, xmm3
movdqa xmm3, xmmword [0x5194c0]
pand xmm2, xmm1
movdqa xmm1, xmmword [0x519470]
psubw xmm7, xmm4
psubw xmm5, xmm4
psrlw xmm7, 8
psrlw xmm5, 8
psubw xmm3, xmm4
pand xmm7, xmm1
movdqa xmm1, xmmword [0x5194b0]
psrlw xmm3, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [0x5194d0]
pand xmm3, xmm1
movdqa xmm1, xmmword [0x519490]
paddw xmm3, xmm5
movdqa xmm5, xmmword [0x519480]
psubw xmm5, xmm4
psrlw xmm5, 8
pand xmm5, xmm1
movdqa xmm1, xmmword [str.AAAAAAAA00000000]
paddw xmm3, xmm5
movdqa xmm5, xmmword [str.33333333]
paddw xmm3, xmm7
movdqa xmm7, xmmword [0x519460]
paddw xmm3, xmm1
paddw xmm3, xmm4
movdqa xmm4, xmmword [0x5194c0]
psubw xmm5, xmm0
psrlw xmm5, 8
psubw xmm7, xmm0
pand xmm5, xmmword [0x5194b0]
psrlw xmm7, 8
pand xmm7, xmmword [0x519470]
psubw xmm4, xmm0
psrlw xmm4, 8
pand xmm4, xmmword [0x5194d0]
paddw xmm4, xmm5
movdqa xmm5, xmmword [0x519480]
psubw xmm5, xmm0
psrlw xmm5, 8
pand xmm5, xmmword [0x519490]
paddw xmm4, xmm5
paddw xmm4, xmm7
paddw xmm4, xmm1
movdqa xmm1, xmmword [0x519530]
paddw xmm4, xmm0
movdqa xmm0, xmmword [0x519500]
pand xmm3, xmm0
movdqa xmm7, xmm0
pand xmm4, xmm0
movdqa xmm0, xmm3
pand xmm6, xmm7
punpckhwd xmm3, xmm4
punpcklwd xmm0, xmm4
pshufd xmm4, xmm3, 0xfa
pshufd xmm3, xmm3, 0x50
pshufd xmm5, xmm0, 0xfa
pshufd xmm0, xmm0, 0x50
packuswb xmm3, xmm4
movdqa xmm4, xmm1
packuswb xmm0, xmm5
movdqa xmm5, xmm1
pandn xmm4, xmm3
pandn xmm5, xmm0
movdqa xmm0, xmm6
punpckhwd xmm6, xmm2
punpcklwd xmm0, xmm2
pshufd xmm2, xmm6, 0xf6
pshufd xmm3, xmm6, 0xd4
pshufd xmm7, xmm0, 0xf6
pshufd xmm0, xmm0, 0xd4
packuswb xmm3, xmm2
packuswb xmm0, xmm7
pand xmm3, xmm1
pand xmm0, xmm1
por xmm3, xmm4
por xmm0, xmm5
movdqu xmmword [edi + 0x10], xmm3
movdqu xmmword [edi], xmm0
add edi, 0x20
add edx, 8
jne 0x44a348
mov edi, dword [ebp - 0x14]
mov ecx, esi
movdqa xmm5, xmmword [str.3333]
movdqa xmm2, xmmword [0x5195a0]
movdqa xmm7, xmmword [0x5195b0]
movdqa xmm1, xmmword [str.AAAA]
movdqa xmm0, xmmword [0x519500]
test edi, edi
je 0x44a873
mov dword [ebp - 0x14], edi
movzx edi, byte [ecx]
movzx esi, byte [ecx + 1]
mov dword [ebp - 0x34], eax
movzx eax, byte [ecx + 2]
mov dword [ebp - 0x24], ebx
movdqa xmm4, xmm5
movdqa xmm6, xmm2
add ecx, 3
mov edx, edi
mov ebx, esi
shl edi, 4
and esi, 0xf
and edi, 0x30
shr ebx, 4
shr edx, 2
or ebx, edi
mov edi, eax
movd xmm3, edx
and eax, 0x3f
shr edi, 6
pinsrw xmm3, ebx, 1
mov ebx, dword [ebp - 0x24]
lea esi, [edi + esi*4]
mov edi, dword [ebp - 0x14]
pinsrw xmm3, esi, 2
pinsrw xmm3, eax, 3
mov eax, dword [ebp - 0x34]
psubw xmm4, xmm3
psubw xmm6, xmm3
add ebx, 0xfffffffd
psrlw xmm4, 8
psrlw xmm6, 8
add edi, 0xfffffffc
cmp ebx, 3
pand xmm4, xmmword [0x519590]
pand xmm6, xmm7
paddw xmm6, xmm4
movdqa xmm4, xmmword [0x519560]
psubw xmm4, xmm3
psrlw xmm4, 8
pand xmm4, xmmword [0x519570]
paddw xmm6, xmm4
movdqa xmm4, xmmword [str.____]
psubw xmm4, xmm3
psrlw xmm4, 8
pand xmm4, xmmword [0x519550]
paddw xmm6, xmm4
paddw xmm6, xmm3
paddw xmm6, xmm1
pand xmm6, xmm0
packuswb xmm6, xmm6
movd dword [eax], xmm6
lea eax, [eax + 4]
jae 0x44a78e
mov esi, dword [ebp - 0x3c]
mov eax, esi
lea ecx, [ebp + esi - 0x1b]
xor eax, 3
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1b]
push esi
push dword [ebp - 0x30]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx edi, byte [ebp - 0x1b]
movzx edx, byte [ebp - 0x1a]
movzx eax, byte [ebp - 0x19]
movdqa xmm4, xmmword [str.3333]
movdqa xmm3, xmmword [0x5195a0]
movdqa xmm2, xmmword [0x519560]
movdqa xmm1, xmmword [str.____]
mov ecx, edi
mov esi, edx
shl edi, 4
mov ebx, eax
and edx, 0xf
and eax, 0x3f
shr ecx, 2
and edi, 0x30
shr esi, 4
shr ebx, 6
or esi, edi
movd xmm0, ecx
lea edx, [ebx + edx*4]
pinsrw xmm0, esi, 1
pinsrw xmm0, edx, 2
pinsrw xmm0, eax, 3
lea eax, [ebp - 0x50]
psubw xmm4, xmm0
psubw xmm3, xmm0
psubw xmm2, xmm0
psubw xmm1, xmm0
psrlw xmm4, 8
psrlw xmm3, 8
psrlw xmm2, 8
psrlw xmm1, 8
pand xmm4, xmmword [0x519590]
pand xmm3, xmmword [0x5195b0]
pand xmm2, xmmword [0x519570]
pand xmm1, xmmword [0x519550]
paddw xmm3, xmm4
paddw xmm3, xmm2
paddw xmm3, xmm1
paddw xmm3, xmm0
paddw xmm3, xmmword [str.AAAA]
pand xmm3, xmmword [0x519500]
packuswb xmm3, xmm3
movd dword [ebp - 0x50], xmm3
push dword [ebp - 0x44]
push eax
push dword [ebp - 0x40]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x10]
cmp eax, edx
cmovb edx, eax
mov eax, dword [ebp - 0x18]
test edx, edx
je 0x44aaab
mov ebx, dword [ebp - 0x4c]
mov edi, eax
xor ecx, ecx
cmp edx, 8
mov eax, 0
mov esi, edx
jb 0x44aa8a
xor ecx, ecx
cmp edx, 0x20
mov eax, 0
jb 0x44aa31
mov eax, edx
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
and eax, 0x7fffffe0
movdqu xmm2, xmmword [ebp + ecx - 0x10]
movdqu xmm4, xmmword [ebx + ecx]
movdqu xmm3, xmmword [ebp + ecx]
pxor xmm4, xmm2
por xmm0, xmm4
movdqu xmm4, xmmword [ebx + ecx + 0x10]
add ecx, 0x20
cmp eax, ecx
pxor xmm4, xmm3
por xmm1, xmm4
jne 0x44a9c6
por xmm1, xmm0
cmp edx, 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 0x44aa9b
test dl, 0x18
je 0x44aa8a
mov dword [ebp - 0x20], edx
mov edx, eax
movzx ecx, cl
mov eax, dword [ebp - 0x20]
movd xmm0, ecx
and eax, 0x7ffffff8
movq xmm1, qword [ebp + edx - 0x10]
movq xmm2, qword [ebx + edx]
add edx, 8
cmp eax, edx
pxor xmm2, xmm1
por xmm0, xmm2
jne 0x44aa45
pshufd xmm1, xmm0, 0x55
mov edx, esi
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 0x44aa97
movzx edx, byte [ebx + eax]
xor dl, byte [ebp + eax - 0x10]
inc eax
or cl, dl
mov edx, esi
cmp esi, eax
jne 0x44aa8a
mov esi, dword [ebp + 0x10]
test cl, cl
mov eax, edi
je 0x44aaab
xor edx, edx
jmp 0x44a2a2
mov ecx, dword [ebp - 0x38]
jmp 0x44a1e5