Function at 0x46d700
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov ebp, esi
sub esp, 0x90
mov eax, dword [ebp + 0xd8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov esi, dword [ebp + 0xe4]
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x10]
movups xmm2, xmmword [esi + 0x20]
movups xmm3, xmmword [esi + 0x30]
mov esi, dword [esp + 4]
mov edi, dword [ebp + 0xec]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
add dword [edi], eax
adc dword [edi + 4], ebx
adc dword [edi + 8], ecx
adc dword [edi + 0xc], edx
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
adc dword [edi + 0x10], eax
adc dword [edi + 0x14], ebx
adc dword [edi + 0x18], ecx
adc dword [edi + 0x1c], edx
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
adc dword [edi + 0x20], eax
adc dword [edi + 0x24], ebx
adc dword [edi + 0x28], ecx
adc dword [edi + 0x2c], edx
mov eax, dword [esi + 0x30]
mov ebx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
adc dword [edi + 0x30], eax
adc dword [edi + 0x34], ebx
adc dword [edi + 0x38], ecx
adc dword [edi + 0x3c], edx
mov edi, dword [ebp + 0xe8]
movups xmm4, xmmword [edi]
movups xmm5, xmmword [edi + 0x10]
movups xmm6, xmmword [edi + 0x20]
movups xmm7, xmmword [edi + 0x30]
add dword [edi], 0x200
jae 0x46d7c5
mov esi, 1
add dword [edi + esi*4], 1
jae 0x46d7c5
inc esi
cmp esi, 0x10
jne 0x46d7b9
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
mov edi, dword [ebp + 0xf0]
mov dword [esp + 0xc], edi
mov ebp, dword [ebp + 0xe0]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
movq mm0, qword [ebp + esi*8 + 0x3800]
movq mm1, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm0, qword [ebp + esi*8 + 0x2800]
pxor mm1, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm0, qword [ebp + esi*8 + 0x1800]
pxor mm1, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm0, qword [ebp + esi*8 + 0x800]
pxor mm1, qword [ebp + edi*8 + 0x800]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
movq mm2, qword [ebp + esi*8 + 0x3800]
movq mm3, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm2, qword [ebp + esi*8 + 0x2800]
pxor mm3, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm2, qword [ebp + esi*8 + 0x1800]
pxor mm3, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm2, qword [ebp + esi*8 + 0x800]
pxor mm3, qword [ebp + edi*8 + 0x800]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
movq mm4, qword [ebp + esi*8 + 0x3800]
movq mm5, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm4, qword [ebp + esi*8 + 0x2800]
pxor mm5, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm4, qword [ebp + esi*8 + 0x1800]
pxor mm5, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm4, qword [ebp + esi*8 + 0x800]
pxor mm5, qword [ebp + edi*8 + 0x800]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
movq mm6, qword [ebp + esi*8 + 0x3800]
movq mm7, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm6, qword [ebp + esi*8 + 0x2800]
pxor mm7, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm6, qword [ebp + esi*8 + 0x1800]
pxor mm7, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm6, qword [ebp + esi*8 + 0x800]
pxor mm7, qword [ebp + edi*8 + 0x800]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
pxor mm0, qword [ebp + esi*8 + 0x3000]
pxor mm1, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm0, qword [ebp + esi*8 + 0x2000]
pxor mm1, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm0, qword [ebp + esi*8 + 0x1000]
pxor mm1, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm0, qword [ebp + esi*8]
pxor mm1, qword [ebp + edi*8]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
pxor mm2, qword [ebp + esi*8 + 0x3000]
pxor mm3, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm2, qword [ebp + esi*8 + 0x2000]
pxor mm3, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm2, qword [ebp + esi*8 + 0x1000]
pxor mm3, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm2, qword [ebp + esi*8]
pxor mm3, qword [ebp + edi*8]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
movzx esi, al
movzx edi, ah
pxor mm4, qword [ebp + esi*8 + 0x3000]
pxor mm5, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm4, qword [ebp + esi*8 + 0x2000]
pxor mm5, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm4, qword [ebp + esi*8 + 0x1000]
pxor mm5, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm4, qword [ebp + esi*8]
pxor mm5, qword [ebp + edi*8]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
pxor mm6, qword [ebp + esi*8 + 0x3000]
pxor mm7, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm6, qword [ebp + esi*8 + 0x2000]
pxor mm7, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm6, qword [ebp + esi*8 + 0x1000]
pxor mm7, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm6, qword [ebp + esi*8]
pxor mm7, qword [ebp + edi*8]
movq2dq xmm0, mm0
movq2dq xmm4, mm1
movq2dq xmm1, mm2
movq2dq xmm5, mm3
movq2dq xmm2, mm4
movq2dq xmm6, mm5
movq2dq xmm3, mm6
movq2dq xmm7, mm7
movlhps xmm0, xmm4
movlhps xmm1, xmm5
movlhps xmm2, xmm6
movlhps xmm3, xmm7
mov eax, dword [esp + 4]
movups xmm4, xmmword [eax]
movups xmm5, xmmword [eax + 0x10]
movups xmm6, xmmword [eax + 0x20]
movups xmm7, xmmword [eax + 0x30]
mov esi, 0xc
mov dword [esp + 8], esi
movups xmmword [esp + 0x10], xmm0
movups xmmword [esp + 0x20], xmm1
movups xmmword [esp + 0x30], xmm2
movups xmmword [esp + 0x40], xmm3
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
movq mm0, qword [ebp + esi*8 + 0x3800]
movq mm1, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm0, qword [ebp + esi*8 + 0x2800]
pxor mm1, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm0, qword [ebp + esi*8 + 0x1800]
pxor mm1, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm0, qword [ebp + esi*8 + 0x800]
pxor mm1, qword [ebp + edi*8 + 0x800]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
movq mm2, qword [ebp + esi*8 + 0x3800]
movq mm3, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm2, qword [ebp + esi*8 + 0x2800]
pxor mm3, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm2, qword [ebp + esi*8 + 0x1800]
pxor mm3, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm2, qword [ebp + esi*8 + 0x800]
pxor mm3, qword [ebp + edi*8 + 0x800]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
movq mm4, qword [ebp + esi*8 + 0x3800]
movq mm5, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm4, qword [ebp + esi*8 + 0x2800]
pxor mm5, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm4, qword [ebp + esi*8 + 0x1800]
pxor mm5, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm4, qword [ebp + esi*8 + 0x800]
pxor mm5, qword [ebp + edi*8 + 0x800]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
movq mm6, qword [ebp + esi*8 + 0x3800]
movq mm7, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm6, qword [ebp + esi*8 + 0x2800]
pxor mm7, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm6, qword [ebp + esi*8 + 0x1800]
pxor mm7, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm6, qword [ebp + esi*8 + 0x800]
pxor mm7, qword [ebp + edi*8 + 0x800]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
pxor mm0, qword [ebp + esi*8 + 0x3000]
pxor mm1, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm0, qword [ebp + esi*8 + 0x2000]
pxor mm1, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm0, qword [ebp + esi*8 + 0x1000]
pxor mm1, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm0, qword [ebp + esi*8]
pxor mm1, qword [ebp + edi*8]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
pxor mm2, qword [ebp + esi*8 + 0x3000]
pxor mm3, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm2, qword [ebp + esi*8 + 0x2000]
pxor mm3, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm2, qword [ebp + esi*8 + 0x1000]
pxor mm3, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm2, qword [ebp + esi*8]
pxor mm3, qword [ebp + edi*8]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
movzx esi, al
movzx edi, ah
pxor mm4, qword [ebp + esi*8 + 0x3000]
pxor mm5, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm4, qword [ebp + esi*8 + 0x2000]
pxor mm5, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm4, qword [ebp + esi*8 + 0x1000]
pxor mm5, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm4, qword [ebp + esi*8]
pxor mm5, qword [ebp + edi*8]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
pxor mm6, qword [ebp + esi*8 + 0x3000]
pxor mm7, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm6, qword [ebp + esi*8 + 0x2000]
pxor mm7, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm6, qword [ebp + esi*8 + 0x1000]
pxor mm7, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm6, qword [ebp + esi*8]
pxor mm7, qword [ebp + edi*8]
movq2dq xmm0, mm0
movq2dq xmm4, mm1
movq2dq xmm1, mm2
movq2dq xmm5, mm3
movq2dq xmm2, mm4
movq2dq xmm6, mm5
movq2dq xmm3, mm6
movq2dq xmm7, mm7
movlhps xmm0, xmm4
movlhps xmm1, xmm5
movlhps xmm2, xmm6
movlhps xmm3, xmm7
movups xmmword [esp + 0x50], xmm0
movups xmmword [esp + 0x60], xmm1
movups xmmword [esp + 0x70], xmm2
movups xmmword [esp + 0x80], xmm3
mov edi, dword [esp + 0xc]
movups xmm0, xmmword [esp + 0x10]
movups xmm1, xmmword [esp + 0x20]
movups xmm2, xmmword [esp + 0x30]
movups xmm3, xmmword [esp + 0x40]
movups xmm4, xmmword [edi]
movups xmm5, xmmword [edi + 0x10]
movups xmm6, xmmword [edi + 0x20]
movups xmm7, xmmword [edi + 0x30]
add edi, 0x40
mov dword [esp + 0xc], edi
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
movq mm0, qword [ebp + esi*8 + 0x3800]
movq mm1, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm0, qword [ebp + esi*8 + 0x2800]
pxor mm1, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm0, qword [ebp + esi*8 + 0x1800]
pxor mm1, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm0, qword [ebp + esi*8 + 0x800]
pxor mm1, qword [ebp + edi*8 + 0x800]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
movq mm2, qword [ebp + esi*8 + 0x3800]
movq mm3, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm2, qword [ebp + esi*8 + 0x2800]
pxor mm3, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm2, qword [ebp + esi*8 + 0x1800]
pxor mm3, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm2, qword [ebp + esi*8 + 0x800]
pxor mm3, qword [ebp + edi*8 + 0x800]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
movq mm4, qword [ebp + esi*8 + 0x3800]
movq mm5, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm4, qword [ebp + esi*8 + 0x2800]
pxor mm5, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm4, qword [ebp + esi*8 + 0x1800]
pxor mm5, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm4, qword [ebp + esi*8 + 0x800]
pxor mm5, qword [ebp + edi*8 + 0x800]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
movq mm6, qword [ebp + esi*8 + 0x3800]
movq mm7, qword [ebp + edi*8 + 0x3800]
movzx esi, bl
movzx edi, bh
pxor mm6, qword [ebp + esi*8 + 0x2800]
pxor mm7, qword [ebp + edi*8 + 0x2800]
movzx esi, cl
movzx edi, ch
pxor mm6, qword [ebp + esi*8 + 0x1800]
pxor mm7, qword [ebp + edi*8 + 0x1800]
movzx esi, dl
movzx edi, dh
pxor mm6, qword [ebp + esi*8 + 0x800]
pxor mm7, qword [ebp + edi*8 + 0x800]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
pshufd xmm0, xmm0, 0x39
pshufd xmm1, xmm1, 0x39
pshufd xmm2, xmm2, 0x39
pshufd xmm3, xmm3, 0x39
movzx esi, al
movzx edi, ah
pxor mm0, qword [ebp + esi*8 + 0x3000]
pxor mm1, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm0, qword [ebp + esi*8 + 0x2000]
pxor mm1, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm0, qword [ebp + esi*8 + 0x1000]
pxor mm1, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm0, qword [ebp + esi*8]
pxor mm1, qword [ebp + edi*8]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
pxor mm2, qword [ebp + esi*8 + 0x3000]
pxor mm3, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm2, qword [ebp + esi*8 + 0x2000]
pxor mm3, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm2, qword [ebp + esi*8 + 0x1000]
pxor mm3, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm2, qword [ebp + esi*8]
pxor mm3, qword [ebp + edi*8]
movd eax, xmm0
movd ebx, xmm1
movd ecx, xmm2
movd edx, xmm3
movzx esi, al
movzx edi, ah
pxor mm4, qword [ebp + esi*8 + 0x3000]
pxor mm5, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm4, qword [ebp + esi*8 + 0x2000]
pxor mm5, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm4, qword [ebp + esi*8 + 0x1000]
pxor mm5, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm4, qword [ebp + esi*8]
pxor mm5, qword [ebp + edi*8]
shr eax, 0x10
shr ebx, 0x10
shr ecx, 0x10
shr edx, 0x10
movzx esi, al
movzx edi, ah
pxor mm6, qword [ebp + esi*8 + 0x3000]
pxor mm7, qword [ebp + edi*8 + 0x3000]
movzx esi, bl
movzx edi, bh
pxor mm6, qword [ebp + esi*8 + 0x2000]
pxor mm7, qword [ebp + edi*8 + 0x2000]
movzx esi, cl
movzx edi, ch
pxor mm6, qword [ebp + esi*8 + 0x1000]
pxor mm7, qword [ebp + edi*8 + 0x1000]
movzx esi, dl
movzx edi, dh
pxor mm6, qword [ebp + esi*8]
pxor mm7, qword [ebp + edi*8]
movq2dq xmm0, mm0
movq2dq xmm4, mm1
movq2dq xmm1, mm2
movq2dq xmm5, mm3
movq2dq xmm2, mm4
movq2dq xmm6, mm5
movq2dq xmm3, mm6
movq2dq xmm7, mm7
movlhps xmm0, xmm4
movlhps xmm1, xmm5
movlhps xmm2, xmm6
movlhps xmm3, xmm7
movups xmm4, xmmword [esp + 0x50]
movups xmm5, xmmword [esp + 0x60]
movups xmm6, xmmword [esp + 0x70]
movups xmm7, xmmword [esp + 0x80]
mov esi, dword [esp + 8]
dec esi
jne 0x46db7d
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
mov ebp, dword [esp]
mov esi, dword [ebp + 0xe4]
mov edi, dword [esp + 4]
movups xmm4, xmmword [esi]
movups xmm5, xmmword [esi + 0x10]
movups xmm6, xmmword [esi + 0x20]
movups xmm7, xmmword [esi + 0x30]
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
movups xmm4, xmmword [edi]
movups xmm5, xmmword [edi + 0x10]
movups xmm6, xmmword [edi + 0x20]
movups xmm7, xmmword [edi + 0x30]
pxor xmm0, xmm4
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
add edi, 0x40
mov dword [esp + 4], edi
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm1
movups xmmword [esi + 0x20], xmm2
movups xmmword [esi + 0x30], xmm3
dec dword [ebp + 0xdc]
jne 0x46d72f
add esp, 0x90
pop esi
pop ebx
pop ebp
emms
ret