Function at 0x710d70
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x78
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x10], edx
mov eax, edi
inc eax
je 0x712848
mov ebp, dword [ecx + 4]
mov esi, ecx
mov dword [esp + 8], edi
mov dword [esp + 0x24], esi
lea ebx, [ebp + 1]
mov dword [esp + 0x20], ebp
mov edx, ebx
mov ecx, ebx
shr edx, 3
and ecx, 0xfffffff8
sub ecx, edx
cmp ebp, 8
cmovb ecx, ebp
mov edx, ecx
shr edx, 1
cmp eax, edx
jbe 0x710dd8
inc ecx
mov dword [esp + 0x18], ebx
cmp eax, ecx
cmova ecx, eax
cmp ecx, 8
jae 0x710e41
xor eax, eax
cmp ecx, 4
setae al
lea ebp, [eax*4 + 4]
jmp 0x710e7a
mov ecx, ebx
mov ebx, dword [esi]
xor eax, eax
mov edx, ecx
mov edi, ecx
shr edx, 4
test cl, 0xf
setne al
add eax, edx
je 0x710e16
movdqa xmm0, xmmword [0x725600]
mov ecx, ebx
nop dword [eax]
pxor xmm1, xmm1
dec eax
pcmpgtb xmm1, xmmword [ecx]
por xmm1, xmm0
movdqa xmmword [ecx], xmm1
lea ecx, [ecx + 0x10]
jne 0x710e00
cmp edi, 0x10
jae 0x710f00
lea eax, [ebx + 0x10]
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp ebp, 0xffffffff
jne 0x710f14
mov edi, dword [esp + 8]
xor eax, eax
jmp 0x712668
cmp ecx, 0x20000000
jae 0x712848
shl ecx, 3
mov ebp, 1
cmp ecx, 0xe
jb 0x710e7a
mov edx, 0x24924925
mov eax, ecx
mov ebp, 0xffffffff
mul edx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 2
dec ecx
bsr ecx, ecx
not ecx
shr ebp, cl
inc ebp
mov ecx, 0x28
mov eax, ebp
mul ecx
jo 0x712848
mov esi, eax
lea ecx, [ebp + 0x10]
add esi, 0xf
and esi, 0xfffffff0
mov ebx, esi
add ebx, ecx
jb 0x712848
cmp ebx, 0x7ffffff1
jae 0x712848
test ebx, ebx
je 0x712672
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov edi, ecx
test eax, eax
jne 0x710ed7
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x71284f
mov dword [0x919820], eax
lea ecx, [ebx + 0x10]
push ecx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x71284f
mov ebx, ebp
mov ebp, eax
mov ecx, edi
and ebp, 0xfffffff0
mov dword [ebp + 0xc], eax
add ebp, 0x10
jmp 0x712679
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx + edi + 8], xmm1
movq qword [ebx + edi], xmm0
mov eax, dword [esp + 0x10]
movdqa xmm2, xmmword [str.arenegylmodnaroduespemosarenegylmodnarodsetybdet]
xor edx, edx
mov dword [esp + 0x34], ebx
movdqu xmm1, xmmword [eax]
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
pxor xmm2, xmm1
pshufd xmm3, xmm1, 0xee
pshufd xmm1, xmm1, 0xff
xor ecx, 0x70736575
movd edi, xmm3
movd eax, xmm0
pshufd xmm0, xmm2, 0x4e
movd dword [esp + 0x50], xmm2
mov dword [esp + 0x38], ecx
movd ecx, xmm1
xor edi, 0x79746573
pshufd xmm1, xmm2, 0x55
movdqu xmmword [esp + 0x58], xmm0
xor eax, 0x736f6d65
xor ecx, 0x74656462
movd dword [esp + 0x4c], xmm1
movd xmm1, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], edi
movd xmm2, ecx
mov dword [esp + 0x40], ecx
punpcklqdq xmm2, xmm1
shufps xmm0, xmm2, 0x24
movdqa xmm2, xmmword [0x725fb0]
movups xmmword [esp + 0x68], xmm0
jmp 0x710fd2
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
shr eax, 0x19
lea ecx, [edx - 0x10]
mov byte [ebx + edx], al
and ecx, ebp
mov byte [ecx + ebx + 0x10], al
cmp edx, ebp
lea edx, [edx + 1]
je 0x71264f
cmp byte [ebx + edx], 0x80
jne 0x710fc7
mov eax, edx
mov dword [esp + 0x2c], edx
neg edx
not eax
mov dword [esp + 0x54], edx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x38]
movupd xmm3, xmmword [esp + 0x68]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x10], ebx
lea ecx, [eax + eax*4]
mov eax, dword [ebx + ecx*8 - 0x24]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + ecx*8 - 0x1c]
xor ebx, ebx
mov edx, ecx
mov dword [esp + 0x1c], ecx
and edx, 7
and ecx, 0xfffffff8
mov dword [esp + 4], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], ecx
mov ecx, 0
je 0x711163
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
movups xmm4, xmmword [esp + 0x58]
xor edi, edi
dec ecx
and ecx, 0xfffffff8
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x40]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ebx, dword [eax + edi]
movd xmm3, ebp
movd xmm0, esi
punpckldq xmm3, xmm0
movaps xmm0, xmm4
xor edx, ebx
movd xmm5, edx
mov edx, dword [eax + edi + 4]
add edi, 8
movdqa xmm7, xmm5
xor ecx, edx
movd xmm6, ecx
punpckldq xmm7, xmm6
punpcklqdq xmm6, xmm5
shufps xmm0, xmm6, 0x24
punpcklqdq xmm3, xmm7
movaps xmm6, xmm4
movaps xmm5, xmm0
paddq xmm3, xmm4
psrlq xmm6, 0x33
psllq xmm0, 0x10
psllq xmm4, 0xd
psrlq xmm5, 0x30
shufps xmm4, xmm0, 0xe4
shufps xmm6, xmm5, 0xe4
pshufd xmm5, xmm3, 0x1e
orps xmm4, xmm6
pxor xmm4, xmm3
movdqa xmm0, xmm4
movdqa xmm3, xmm4
paddq xmm5, xmm4
psrlq xmm0, 0x2f
psrlq xmm3, 0x2b
movsd xmm3, xmm0
movdqa xmm0, xmm4
psllq xmm4, 0x15
psllq xmm0, 0x11
movsd xmm4, xmm0
pshufd xmm0, xmm5, 0xee
movd ebp, xmm0
pshufd xmm0, xmm5, 0xff
orpd xmm4, xmm3
movd esi, xmm0
movapd xmm3, xmm4
xor ebp, ebx
xor esi, edx
cmp edi, dword [esp + 0xc]
xorpd xmm3, xmm5
movapd xmm4, xmm3
pshufd xmm0, xmm3, 0xff
pshufd xmm1, xmm3, 0xee
shufps xmm4, xmm5, 0x14
movd ecx, xmm0
movd edx, xmm1
jb 0x711070
mov ecx, dword [esp + 0x18]
pshufd xmm4, xmm5, 0x55
movd edi, xmm5
xor ebx, ebx
movd edx, xmm4
add ecx, 8
cmp dword [esp + 4], 3
mov dword [esp + 0xc], edx
mov edx, edi
mov dword [esp + 0x18], ecx
jbe 0x711190
mov ecx, dword [eax + ecx]
mov dword [esp], 0
mov ebx, 4
mov dword [esp + 8], ecx
jmp 0x71119f
mov dword [esp + 8], 0
mov dword [esp], 0
mov ecx, ebx
mov edi, ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x14], edx
or ecx, 1
cmp ecx, ebx
jae 0x711200
mov ecx, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x48], edi
add ecx, edi
movzx edx, word [eax + ecx]
lea ecx, [edi*8]
shld ebx, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne ebx, edx
cmovne edx, ecx
mov ecx, dword [esp + 4]
or dword [esp], ebx
mov ebx, dword [esp + 8]
mov edi, ecx
mov ecx, dword [esp + 0x48]
or ebx, edx
mov edx, dword [esp + 0x28]
or ecx, 2
jmp 0x71120c
mov ecx, edi
mov edi, ebx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 8]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x10]
cmp ecx, edi
lea edx, [ebx + edx*8]
mov dword [esp + 0x10], edx
jae 0x711250
mov edx, dword [esp + 0x18]
add edx, ecx
shl ecx, 3
movzx eax, byte [eax + edx]
xor edx, edx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne edx, eax
cmovne eax, ecx
mov ecx, dword [esp]
or ecx, edx
mov edx, dword [esp + 8]
or edx, eax
jmp 0x71125f
mov edx, dword [esp + 8]
mov ecx, dword [esp]
test edi, edi
je 0x7113a1
mov eax, dword [esp + 4]
mov dword [esp], ecx
xor ebx, ebx
mov edi, 0xff
lea ecx, [eax*8]
mov eax, 0xff
shld ebx, eax, cl
shl edi, cl
test cl, 0x20
mov ecx, dword [esp + 4]
mov eax, 0
cmovne ebx, edi
cmovne edi, eax
or ebx, dword [esp]
or edi, edx
cmp ecx, 7
jne 0x711390
mov eax, 8
pshufd xmm4, xmm3, 0xff
movss xmm0, dword [esp + 0xc]
movss xmm5, dword [esp + 0x14]
movd xmm1, esi
sub eax, ecx
movd ecx, xmm4
pshufd xmm4, xmm3, 0xee
xor ecx, ebx
movd xmm6, ecx
movd ecx, xmm4
movd xmm4, ebp
xor ecx, edi
movlhps xmm5, xmm0
movapd xmm0, xmm3
punpckldq xmm4, xmm1
movd xmm7, ecx
shufps xmm0, xmm5, 0x24
mov ecx, ebx
movdqa xmm5, xmm7
punpckldq xmm5, xmm6
punpcklqdq xmm6, xmm7
punpcklqdq xmm4, xmm5
movdqa xmm5, xmm3
paddq xmm4, xmm0
movapd xmm0, xmm3
psrlq xmm5, 0x33
psllq xmm3, 0xd
shufps xmm0, xmm6, 0x24
movaps xmm1, xmm0
psllq xmm0, 0x10
psrlq xmm1, 0x30
shufps xmm3, xmm0, 0xe4
shufps xmm5, xmm1, 0xe4
orps xmm3, xmm5
pxor xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x15
psllq xmm0, 0x11
movsd xmm3, xmm0
pshufd xmm0, xmm4, 0x55
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0xee
movd dword [esp + 0xc], xmm0
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0xff
movd ebp, xmm1
movd esi, xmm4
xor ebp, edi
xor esi, ecx
jmp 0x7113a7
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp], ebx
movzx eax, byte [eax - 0x28]
jmp 0x711580
mov ebx, dword [esp + 0x14]
xor eax, eax
mov ecx, 1
sub ecx, eax
mov edx, ecx
and ecx, 0xfffffff8
and edx, 7
cmp eax, ecx
mov dword [esp + 4], edx
jae 0x7114e0
mov edi, dword [esp + 0xc]
nop word cs:[eax + eax]
pshufd xmm5, xmm3, 0xee
movd xmm1, edi
movd xmm4, ebx
pshufd xmm0, xmm3, 0xff
movapd xmm6, xmm3
add eax, 8
pxor xmm5, xmm2
punpcklqdq xmm4, xmm1
movapd xmm1, xmm3
shufps xmm1, xmm4, 0x24
shufps xmm6, xmm5, 0xc7
punpckldq xmm5, xmm0
movd xmm4, ebp
movd xmm0, esi
punpckldq xmm4, xmm0
movapd xmm0, xmm3
punpcklqdq xmm4, xmm5
shufps xmm0, xmm6, 0x24
movdqa xmm5, xmm3
paddq xmm4, xmm1
movdqa xmm1, xmm3
psrlq xmm5, 0x30
psllq xmm0, 0x10
psllq xmm3, 0xd
psrlq xmm1, 0x33
shufpd xmm3, xmm0, 2
movsd xmm5, xmm1
orpd xmm3, xmm5
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
paddq xmm4, xmm3
psllq xmm3, 0x15
psllq xmm5, 0x11
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm3, xmm5
movsd xmm1, xmm0
pshufd xmm5, xmm4, 0xff
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0x55
movd esi, xmm5
movd edi, xmm1
pshufd xmm1, xmm4, 0xee
xorpd xmm3, xmm4
movd ebp, xmm1
xor ebp, 0xff
cmp eax, ecx
jb 0x7113d0
mov ecx, dword [esp + 4]
xor edx, edx
mov dword [esp + 0xc], edi
mov edi, 0
mov eax, 0xff
mov dword [esp], 0
cmp ecx, 4
setae dl
cmovae edi, eax
shl edx, 2
jmp 0x7114ef
mov ecx, dword [esp + 4]
xor edi, edi
mov dword [esp], 0
xor edx, edx
mov eax, edx
mov dword [esp + 0x14], ebx
or eax, 1
cmp eax, ecx
jae 0x711529
lea ecx, [edx*8]
xor eax, eax
mov ebx, 0xff
shld eax, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, ebx
cmovne ebx, ecx
mov ecx, dword [esp + 4]
or edx, 2
or dword [esp], eax
or edi, ebx
cmp edx, ecx
jae 0x711570
shl edx, 3
xor eax, eax
mov ebx, 0xff
mov ecx, edx
shld eax, ebx, cl
shl ebx, cl
test dl, 0x20
mov ecx, 0
cmovne eax, ebx
cmovne ebx, ecx
mov ecx, dword [esp + 4]
or dword [esp], eax
mov eax, dword [esp + 0x10]
or edi, ebx
mov dword [esp + 8], edi
xor edi, edi
movzx eax, byte [eax - 0x28]
jmp 0x711586
mov eax, dword [esp + 0x10]
test ecx, ecx
movzx eax, byte [eax - 0x28]
je 0x7116c9
mov dword [esp + 8], edi
xor edi, edi
mov edx, ecx
movzx ebx, al
mov byte [esp + 0x18], al
mov eax, ecx
lea ecx, [ecx*8]
sub edx, 8
cmove ebx, edi
xor edi, edi
neg edx
shld edi, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, ebx
cmovne ebx, ecx
or edi, dword [esp]
or ebx, dword [esp + 8]
cmp edx, 1
jbe 0x7115e0
inc eax
mov ecx, eax
mov eax, dword [esp + 0x10]
test ecx, ecx
movzx eax, byte [eax - 0x27]
je 0x71182a
mov dword [esp], edi
jmp 0x7118c6
pshufd xmm1, xmm3, 0xff
movss xmm0, dword [esp + 0xc]
movss xmm4, dword [esp + 0x14]
movd xmm7, esi
movd eax, xmm1
pshufd xmm1, xmm3, 0xee
xor eax, edi
movd xmm5, eax
movd eax, xmm1
xor eax, ebx
movlhps xmm4, xmm0
movapd xmm0, xmm3
movd xmm1, eax
shufps xmm0, xmm4, 0x24
movd xmm4, ebp
mov eax, ebx
movdqa xmm6, xmm1
punpckldq xmm4, xmm7
punpckldq xmm6, xmm5
punpcklqdq xmm5, xmm1
punpcklqdq xmm4, xmm6
paddq xmm4, xmm0
movapd xmm0, xmm3
shufps xmm0, xmm5, 0x24
movdqa xmm5, xmm3
psllq xmm3, 0xd
movaps xmm1, xmm0
psllq xmm0, 0x10
psrlq xmm5, 0x33
psrlq xmm1, 0x30
shufps xmm3, xmm0, 0xe4
shufps xmm5, xmm1, 0xe4
orps xmm3, xmm5
pxor xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x15
psllq xmm0, 0x11
movsd xmm3, xmm0
pshufd xmm0, xmm4, 0x55
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0xee
movd dword [esp + 0xc], xmm0
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0xff
movd ebp, xmm1
movd esi, xmm4
xor ebp, eax
xor esi, edi
jmp 0x7116d3
mov ebx, dword [esp + 0x14]
xor edx, edx
mov byte [esp + 0x18], al
mov ecx, 1
sub ecx, edx
mov eax, ecx
and ecx, 0xfffffff8
and eax, 7
cmp edx, ecx
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x18]
jae 0x711840
mov edi, dword [esp + 0xc]
nop word [eax + eax]
pshufd xmm0, xmm3, 0xee
movd xmm1, edi
movd xmm4, ebp
pshufd xmm5, xmm3, 0xff
movapd xmm6, xmm3
add edx, 8
movd edi, xmm0
movd xmm0, ebx
punpcklqdq xmm0, xmm1
movapd xmm1, xmm3
xor edi, eax
shufps xmm1, xmm0, 0x24
movd xmm0, esi
punpckldq xmm4, xmm0
movd xmm0, edi
shufps xmm6, xmm0, 0xc7
punpckldq xmm0, xmm5
movdqa xmm5, xmm3
punpcklqdq xmm4, xmm0
movapd xmm0, xmm3
psrlq xmm5, 0x30
shufps xmm0, xmm6, 0x24
paddq xmm4, xmm1
movdqa xmm1, xmm3
psllq xmm3, 0xd
psrlq xmm1, 0x33
psllq xmm0, 0x10
movsd xmm5, xmm1
shufpd xmm3, xmm0, 2
orpd xmm3, xmm5
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
paddq xmm4, xmm3
psllq xmm3, 0x15
psllq xmm5, 0x11
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm3, xmm5
movsd xmm1, xmm0
pshufd xmm5, xmm4, 0xff
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0x55
movd esi, xmm5
movd edi, xmm1
pshufd xmm1, xmm4, 0xee
xorpd xmm3, xmm4
movd ebp, xmm1
xor ebp, eax
cmp edx, ecx
jb 0x711700
mov edx, dword [esp + 4]
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ebx
xor edi, edi
xor ebx, ebx
mov ecx, 0
cmp edx, 4
setae bl
cmovae ecx, eax
shl ebx, 2
mov dword [esp + 8], ecx
mov ecx, ebx
or ecx, 1
cmp ecx, edx
jb 0x71185d
mov ecx, edx
cmp ebx, ecx
jb 0x711895
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x10]
test ecx, ecx
movzx eax, byte [eax - 0x27]
jne 0x7115d4
mov ebx, dword [esp + 0x14]
xor edx, edx
mov byte [esp + 8], al
jmp 0x711a05
mov edx, dword [esp + 4]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0
xor edi, edi
xor ebx, ebx
mov ecx, ebx
or ecx, 1
cmp ecx, edx
jae 0x711810
lea ecx, [ebx*8]
xor edx, edx
mov dword [esp], edi
shld edx, eax, cl
mov edi, edx
mov edx, eax
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, edx
cmovne edx, ecx
mov ecx, dword [esp + 4]
or ebx, 2
or dword [esp], edi
or dword [esp + 8], edx
mov edi, dword [esp]
cmp ebx, ecx
jae 0x711816
shl ebx, 3
xor edx, edx
mov ecx, ebx
shld edx, eax, cl
shl eax, cl
test bl, 0x20
mov ebx, 0
mov ecx, dword [esp + 4]
cmovne edx, eax
cmovne eax, ebx
mov ebx, dword [esp + 8]
or edi, edx
mov dword [esp], edi
or ebx, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 0x27]
mov edx, ecx
mov byte [esp + 8], al
movzx edi, al
mov eax, 0
mov dword [esp + 4], ecx
lea ecx, [ecx*8]
sub edx, 8
cmove edi, eax
xor eax, eax
neg edx
shld eax, edi, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edi
cmovne edi, ecx
or eax, dword [esp]
or edi, ebx
cmp edx, 1
jbe 0x711920
mov ecx, dword [esp + 4]
mov dword [esp + 8], eax
mov dword [esp], edi
inc ecx
jmp 0x711b4b
pshufd xmm1, xmm3, 0xff
movss xmm0, dword [esp + 0xc]
movss xmm4, dword [esp + 0x14]
movd xmm7, esi
movd ecx, xmm1
pshufd xmm1, xmm3, 0xee
movd ebx, xmm1
xor ecx, eax
xor ebx, edi
movd xmm5, ecx
movd xmm1, ebx
movlhps xmm4, xmm0
movapd xmm0, xmm3
movdqa xmm6, xmm1
shufps xmm0, xmm4, 0x24
movd xmm4, ebp
punpckldq xmm6, xmm5
punpckldq xmm4, xmm7
punpcklqdq xmm5, xmm1
punpcklqdq xmm4, xmm6
paddq xmm4, xmm0
movapd xmm0, xmm3
shufps xmm0, xmm5, 0x24
movdqa xmm5, xmm3
psllq xmm3, 0xd
movaps xmm1, xmm0
psllq xmm0, 0x10
psrlq xmm5, 0x33
psrlq xmm1, 0x30
shufps xmm3, xmm0, 0xe4
shufps xmm5, xmm1, 0xe4
orps xmm3, xmm5
pxor xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x15
psllq xmm0, 0x11
movsd xmm3, xmm0
pshufd xmm0, xmm4, 0x55
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0xee
movd dword [esp + 0xc], xmm0
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0xff
movd ebp, xmm1
movd esi, xmm4
xor ebp, edi
xor esi, eax
mov ecx, 1
sub ecx, edx
mov eax, ecx
and ecx, 0xfffffff8
and eax, 7
cmp edx, ecx
mov dword [esp + 4], eax
movzx eax, byte [esp + 8]
jae 0x711b70
mov edi, dword [esp + 0xc]
nop dword [eax]
pshufd xmm0, xmm3, 0xee
movd xmm1, edi
movd xmm4, ebp
pshufd xmm5, xmm3, 0xff
movapd xmm6, xmm3
add edx, 8
movd edi, xmm0
movd xmm0, ebx
punpcklqdq xmm0, xmm1
movapd xmm1, xmm3
xor edi, eax
shufps xmm1, xmm0, 0x24
movd xmm0, esi
punpckldq xmm4, xmm0
movd xmm0, edi
shufps xmm6, xmm0, 0xc7
punpckldq xmm0, xmm5
movdqa xmm5, xmm3
punpcklqdq xmm4, xmm0
movapd xmm0, xmm3
psrlq xmm5, 0x30
shufps xmm0, xmm6, 0x24
paddq xmm4, xmm1
movdqa xmm1, xmm3
psllq xmm3, 0xd
psrlq xmm1, 0x33
psllq xmm0, 0x10
movsd xmm5, xmm1
shufpd xmm3, xmm0, 2
orpd xmm3, xmm5
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
paddq xmm4, xmm3
psllq xmm3, 0x15
psllq xmm5, 0x11
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm3, xmm5
movsd xmm1, xmm0
pshufd xmm5, xmm4, 0xff
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0x55
movd esi, xmm5
movd edi, xmm1
pshufd xmm1, xmm4, 0xee
xorpd xmm3, xmm4
movd ebp, xmm1
xor ebp, eax
cmp edx, ecx
jb 0x711a30
mov edx, dword [esp + 4]
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov dword [esp + 0xc], edi
mov edi, 0
mov dword [esp + 8], 0
cmp edx, 4
setae bl
cmovae edi, eax
shl ebx, 2
mov ecx, ebx
or ecx, 1
cmp ecx, edx
jb 0x711b8d
mov ecx, edx
cmp ebx, ecx
mov dword [esp], edi
jb 0x711bc7
mov eax, dword [esp + 0x10]
test ecx, ecx
movzx edx, byte [eax - 0x26]
je 0x711d30
xor edi, edi
jmp 0x711bf4
mov edx, dword [esp + 4]
mov dword [esp + 0x14], ebx
xor edi, edi
mov dword [esp + 8], 0
xor ebx, ebx
mov ecx, ebx
or ecx, 1
cmp ecx, edx
jae 0x711b42
lea ecx, [ebx*8]
xor edx, edx
mov dword [esp], edi
shld edx, eax, cl
mov edi, edx
mov edx, eax
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, edx
cmovne edx, ecx
mov ecx, dword [esp + 4]
or ebx, 2
or dword [esp + 8], edi
mov edi, dword [esp]
or edi, edx
cmp ebx, ecx
mov dword [esp], edi
jae 0x711b4b
shl ebx, 3
xor edx, edx
mov edi, 0
mov ecx, ebx
shld edx, eax, cl
shl eax, cl
test bl, 0x20
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 4]
cmovne edx, eax
cmovne eax, edi
or dword [esp + 8], edx
or dword [esp], eax
movzx edx, byte [ebx - 0x26]
mov eax, ecx
mov byte [esp + 0x18], dl
movzx edx, dl
mov ebx, ecx
lea ecx, [ecx*8]
sub eax, 8
cmove edx, edi
xor edi, edi
neg eax
shld edi, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, edx
cmovne edx, ecx
or edi, dword [esp + 8]
or edx, dword [esp]
cmp eax, 1
jbe 0x711c40
inc ebx
mov dword [esp], edx
mov ecx, ebx
jmp 0x711e89
pshufd xmm1, xmm3, 0xff
movss xmm0, dword [esp + 0xc]
movss xmm4, dword [esp + 0x14]
movd xmm7, esi
movd ecx, xmm1
pshufd xmm1, xmm3, 0xee
movd ebx, xmm1
xor ecx, edi
xor ebx, edx
movd xmm5, ecx
movd xmm1, ebx
movlhps xmm4, xmm0
movapd xmm0, xmm3
movdqa xmm6, xmm1
shufps xmm0, xmm4, 0x24
movd xmm4, ebp
punpckldq xmm6, xmm5
punpckldq xmm4, xmm7
punpcklqdq xmm5, xmm1
punpcklqdq xmm4, xmm6
paddq xmm4, xmm0
movapd xmm0, xmm3
shufps xmm0, xmm5, 0x24
movdqa xmm5, xmm3
psllq xmm3, 0xd
movaps xmm1, xmm0
psllq xmm0, 0x10
psrlq xmm5, 0x33
psrlq xmm1, 0x30
shufps xmm3, xmm0, 0xe4
shufps xmm5, xmm1, 0xe4
orps xmm3, xmm5
pxor xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x15
psllq xmm0, 0x11
movsd xmm3, xmm0
pshufd xmm0, xmm4, 0x55
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0xee
movd dword [esp + 0xc], xmm0
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0xff
movd ebp, xmm1
movd esi, xmm4
xor ebp, edx
xor esi, edi
jmp 0x711d3a
mov ebx, dword [esp + 0x14]
xor eax, eax
mov byte [esp + 0x18], dl
mov ecx, 1
sub ecx, eax
mov edx, ecx
and ecx, 0xfffffff8
and edx, 7
cmp eax, ecx
mov dword [esp + 4], edx
movzx edx, byte [esp + 0x18]
jae 0x711eb0
mov edi, dword [esp + 0xc]
nop
pshufd xmm0, xmm3, 0xee
movd xmm1, edi
movd xmm4, ebp
pshufd xmm5, xmm3, 0xff
movapd xmm6, xmm3
add eax, 8
movd edi, xmm0
movd xmm0, ebx
punpcklqdq xmm0, xmm1
movapd xmm1, xmm3
xor edi, edx
shufps xmm1, xmm0, 0x24
movd xmm0, esi
punpckldq xmm4, xmm0
movd xmm0, edi
shufps xmm6, xmm0, 0xc7
punpckldq xmm0, xmm5
movdqa xmm5, xmm3
punpcklqdq xmm4, xmm0
movapd xmm0, xmm3
psrlq xmm5, 0x30
shufps xmm0, xmm6, 0x24
paddq xmm4, xmm1
movdqa xmm1, xmm3
psllq xmm3, 0xd
psrlq xmm1, 0x33
psllq xmm0, 0x10
movsd xmm5, xmm1
shufpd xmm3, xmm0, 2
orpd xmm3, xmm5
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
paddq xmm4, xmm3
psllq xmm3, 0x15
psllq xmm5, 0x11
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm3, xmm5
movsd xmm1, xmm0
pshufd xmm5, xmm4, 0xff
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0x55
movd esi, xmm5
movd edi, xmm1
pshufd xmm1, xmm4, 0xee
xorpd xmm3, xmm4
movd ebp, xmm1
xor ebp, edx
cmp eax, ecx
jb 0x711d60
mov eax, dword [esp + 4]
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov ecx, 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
cmp eax, 4
setae bl
cmovae ecx, edx
shl ebx, 2
mov dword [esp], ecx
mov ecx, ebx
or ecx, 1
cmp ecx, eax
jb 0x711ed2
mov edi, dword [esp]
mov ecx, eax
cmp ebx, ecx
mov dword [esp], edi
jb 0x711f0b
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x10]
add dword [esp + 0x1c], 5
test ecx, ecx
movzx eax, byte [eax - 0x25]
mov byte [esp + 0x10], al
je 0x712080
xor ebx, ebx
mov dword [esp + 8], edi
jmp 0x711f41
mov eax, dword [esp + 4]
mov dword [esp + 0x14], ebx
mov dword [esp], 0
mov dword [esp + 8], 0
xor ebx, ebx
mov ecx, ebx
or ecx, 1
cmp ecx, eax
jae 0x711e75
lea ecx, [ebx*8]
xor edi, edi
mov eax, edx
shld edi, edx, cl
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne edi, eax
cmovne eax, ecx
mov ecx, dword [esp + 4]
or ebx, 2
or dword [esp + 8], edi
mov edi, dword [esp]
or edi, eax
cmp ebx, ecx
mov dword [esp], edi
jae 0x711e85
shl ebx, 3
xor eax, eax
mov ecx, ebx
shld eax, edx, cl
shl edx, cl
test bl, 0x20
mov ebx, 0
mov ecx, dword [esp + 4]
cmovne eax, edx
cmovne edx, ebx
add dword [esp + 0x1c], 5
or dword [esp + 8], eax
mov eax, dword [esp + 0x10]
or dword [esp], edx
movzx eax, byte [eax - 0x25]
mov byte [esp + 0x10], al
movzx edx, byte [esp + 0x10]
mov eax, ecx
mov edi, dword [esp + 0xc]
sub eax, 8
movzx edx, dl
cmove edx, ebx
shl ecx, 3
xor ebx, ebx
neg eax
shld ebx, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne ebx, edx
cmovne edx, ecx
or ebx, dword [esp + 8]
or edx, dword [esp]
cmp eax, 1
jbe 0x711f90
mov eax, edx
jmp 0x712270
pshufd xmm1, xmm3, 0xff
movd xmm4, dword [esp + 0x14]
movd xmm0, edi
movd xmm7, esi
movd ecx, xmm1
pshufd xmm1, xmm3, 0xee
xor ecx, ebx
movd xmm5, ecx
movd ecx, xmm1
xor ecx, edx
punpcklqdq xmm4, xmm0
movapd xmm0, xmm3
movd xmm1, ecx
shufps xmm0, xmm4, 0x24
movd xmm4, ebp
mov ecx, ebx
movdqa xmm6, xmm1
punpckldq xmm4, xmm7
punpckldq xmm6, xmm5
punpcklqdq xmm5, xmm1
punpcklqdq xmm4, xmm6
paddq xmm4, xmm0
movapd xmm0, xmm3
shufps xmm0, xmm5, 0x24
movdqa xmm5, xmm3
psllq xmm3, 0xd
movaps xmm1, xmm0
psllq xmm0, 0x10
psrlq xmm5, 0x33
psrlq xmm1, 0x30
shufps xmm3, xmm0, 0xe4
shufps xmm5, xmm1, 0xe4
orps xmm3, xmm5
pxor xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x15
psllq xmm0, 0x11
movsd xmm3, xmm0
pshufd xmm0, xmm4, 0x55
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0xee
movd edi, xmm0
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0xff
movd ebp, xmm1
movd esi, xmm4
xor ebp, edx
xor esi, ecx
jmp 0x71208a
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
xor eax, eax
mov ecx, 1
sub ecx, eax
mov edx, ecx
and ecx, 0xfffffff8
and edx, 7
cmp eax, ecx
mov dword [esp], edx
movzx edx, byte [esp + 0x10]
jae 0x7121e0
nop dword [eax]
pshufd xmm0, xmm3, 0xee
movd xmm1, edi
movd xmm4, ebp
pshufd xmm5, xmm3, 0xff
movapd xmm6, xmm3
add eax, 8
movd edi, xmm0
movd xmm0, ebx
punpcklqdq xmm0, xmm1
movapd xmm1, xmm3
xor edi, edx
shufps xmm1, xmm0, 0x24
movd xmm0, esi
punpckldq xmm4, xmm0
movd xmm0, edi
shufps xmm6, xmm0, 0xc7
punpckldq xmm0, xmm5
movdqa xmm5, xmm3
punpcklqdq xmm4, xmm0
movapd xmm0, xmm3
psrlq xmm5, 0x30
shufps xmm0, xmm6, 0x24
paddq xmm4, xmm1
movdqa xmm1, xmm3
psllq xmm3, 0xd
psrlq xmm1, 0x33
psllq xmm0, 0x10
movsd xmm5, xmm1
shufpd xmm3, xmm0, 2
orpd xmm3, xmm5
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x1e
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
paddq xmm4, xmm3
psllq xmm3, 0x15
psllq xmm5, 0x11
psrlq xmm0, 0x2f
psrlq xmm1, 0x2b
movd ebx, xmm4
movsd xmm3, xmm5
movsd xmm1, xmm0
pshufd xmm5, xmm4, 0xff
orpd xmm3, xmm1
pshufd xmm1, xmm4, 0x55
movd esi, xmm5
movd edi, xmm1
pshufd xmm1, xmm4, 0xee
xorpd xmm3, xmm4
movd ebp, xmm1
xor ebp, edx
cmp eax, ecx
jb 0x7120b0
mov eax, dword [esp]
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov ecx, 0
mov dword [esp + 0xc], 0
cmp eax, 4
setae bl
cmovae ecx, edx
shl ebx, 2
mov dword [esp + 4], ecx
mov ecx, ebx
or ecx, 1
cmp ecx, eax
jb 0x712202
mov ecx, eax
mov eax, dword [esp + 4]
cmp ebx, ecx
jb 0x712246
mov ebx, dword [esp + 0xc]
jmp 0x712270
mov eax, dword [esp]
mov dword [esp + 0x14], ebx
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
xor ebx, ebx
mov ecx, ebx
or ecx, 1
cmp ecx, eax
jae 0x7121c1
lea ecx, [ebx*8]
xor eax, eax
shld eax, edx, cl
mov dword [esp + 0x10], eax
mov eax, edx
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 0x10]
cmovne ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, 0
cmovne eax, ecx
mov ecx, dword [esp + 0x10]
or ebx, 2
or dword [esp + 4], eax
mov eax, dword [esp + 4]
or dword [esp + 0xc], ecx
mov ecx, dword [esp]
cmp ebx, ecx
jae 0x7121cb
shl ebx, 3
mov dword [esp + 4], eax
xor eax, eax
mov ecx, ebx
shld eax, edx, cl
shl edx, cl
test bl, 0x20
mov ebx, dword [esp + 0xc]
mov ecx, 0
cmovne eax, edx
cmovne edx, ecx
or ebx, eax
mov eax, dword [esp + 4]
or eax, edx
mov ecx, dword [esp + 0x1c]
pshufd xmm1, xmm3, 0xff
pshufd xmm0, xmm3, 0xee
mov dword [esp + 4], eax
movd edx, xmm1
shl ecx, 0x18
or ecx, ebx
movd ebx, xmm3
xor edx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edx
movd edx, xmm0
pshufd xmm0, xmm3, 0x55
xor edx, eax
add ebp, ebx
movd ecx, xmm0
mov eax, ebx
adc esi, ecx
shld eax, ecx, 0xd
shld ecx, ebx, 0xd
mov ebx, edx
xor eax, ebp
xor ecx, esi
add edi, edx
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
adc edi, dword [esp + 0x10]
shld ebx, eax, 0x10
mov eax, dword [esp + 0x10]
xor ebx, dword [esp + 0xc]
shrd edx, eax, 0x10
mov eax, dword [esp]
xor edx, edi
add esi, ebx
mov dword [esp + 0x14], ebx
adc ebp, edx
shld dword [esp + 0x14], edx, 0x15
shrd ebx, edx, 0xb
movd xmm7, dword [esp + 0x14]
movd xmm6, ebx
mov ebx, dword [esp + 0x34]
add dword [esp + 0xc], eax
mov edx, eax
movd xmm4, dword [esp + 0xc]
punpckldq xmm7, xmm6
adc edi, ecx
shld edx, ecx, 0x11
shrd eax, ecx, 0xf
mov ecx, dword [esp + 4]
movd xmm0, eax
movd xmm1, edx
mov eax, dword [esp + 0x1c]
movd xmm3, edi
xor edi, 0xff
punpckldq xmm1, xmm0
movdqa xmm0, xmm4
movd xmm5, edi
punpcklqdq xmm7, xmm1
punpckldq xmm0, xmm3
movd xmm1, ebp
movd xmm3, esi
punpcklqdq xmm4, xmm5
punpckldq xmm3, xmm1
xor ecx, esi
punpcklqdq xmm3, xmm0
xor eax, ebp
movd xmm1, ecx
mov ebp, dword [esp + 0x20]
movd xmm0, eax
pxor xmm3, xmm7
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm3
shufps xmm4, xmm3, 0xe2
shufps xmm1, xmm0, 0x24
movdqa xmm0, xmm3
paddq xmm4, xmm1
movdqa xmm1, xmm3
psrlq xmm0, 0x30
psrlq xmm1, 0x33
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0xd
psllq xmm0, 0x10
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x4b
movapd xmm0, xmm3
movapd xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2b
psrlq xmm1, 0x2f
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x11
psllq xmm0, 0x15
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x4b
movapd xmm0, xmm3
movapd xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x30
psrlq xmm1, 0x33
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0xd
psllq xmm0, 0x10
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x4b
movapd xmm0, xmm3
movapd xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x2b
psrlq xmm1, 0x2f
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0x11
psllq xmm0, 0x15
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
pshufd xmm4, xmm4, 0x4b
movapd xmm0, xmm3
movapd xmm1, xmm3
paddq xmm4, xmm3
psrlq xmm0, 0x30
psrlq xmm1, 0x33
movsd xmm1, xmm0
movdqa xmm0, xmm3
psllq xmm3, 0xd
psllq xmm0, 0x10
movsd xmm3, xmm0
orpd xmm3, xmm1
xorpd xmm3, xmm4
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm5, xmm3
psrlq xmm0, 0x2b
psrlq xmm1, 0x2f
psllq xmm5, 0x11
movsd xmm1, xmm0
movapd xmm0, xmm3
psllq xmm0, 0x15
movsd xmm5, xmm0
orpd xmm5, xmm1
movapd xmm0, xmm5
shufpd xmm0, xmm4, 1
xorpd xmm5, xmm0
paddq xmm0, xmm3
pshufd xmm1, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd eax, xmm5
movd edx, xmm0
movd ecx, xmm1
xor eax, edx
xor eax, ecx
mov ecx, ebp
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
mov esi, ecx
pmovmskb edx, xmm0
test edx, edx
jne 0x712534
mov edi, 0x10
mov esi, ecx
nop word cs:[eax + eax]
nop dword [eax]
add esi, edi
add edi, 0x10
and esi, ebp
movdqu xmm0, xmmword [ebx + esi]
pmovmskb edx, xmm0
test edx, edx
je 0x712520
tzcnt edx, edx
add edx, esi
and edx, ebp
cmp byte [ebx + edx], 0
js 0x71254e
movdqa xmm0, xmmword [ebx]
pmovmskb edx, xmm0
tzcnt edx, edx
mov esi, dword [esp + 0x2c]
mov edi, edx
sub edi, ecx
sub esi, ecx
xor edi, esi
and edi, ebp
cmp edi, 0x10
jb 0x710fb0
mov ecx, edx
lea esi, [edx - 0x10]
mov edi, ebx
shr eax, 0x19
not ecx
and esi, ebp
lea ecx, [ecx + ecx*4]
lea ecx, [ebx + ecx*8]
movzx ebx, byte [ebx + edx]
mov byte [edi + edx], al
mov byte [esi + edi + 0x10], al
mov esi, dword [esp + 0x24]
cmp bl, 0xff
je 0x712600
mov eax, dword [esp + 0x30]
movsd xmm1, qword [ecx]
movsd xmm0, qword [eax]
movsd qword [eax], xmm1
movsd qword [ecx], xmm0
movsd xmm0, qword [eax + 8]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movsd qword [ecx + 8], xmm0
movsd xmm0, qword [eax + 0x10]
movsd xmm1, qword [ecx + 0x10]
movsd qword [eax + 0x10], xmm1
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [eax + 0x18]
movsd xmm1, qword [ecx + 0x18]
movsd qword [eax + 0x18], xmm1
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [eax + 0x20]
movq xmm1, qword [ecx + 0x20]
movq qword [eax + 0x20], xmm1
movsd qword [ecx + 0x20], xmm0
mov ebx, dword [esi]
jmp 0x710ff0
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
lea eax, [edx - 0x10]
mov byte [ebx + edx], 0xff
and eax, ebp
mov byte [eax + ebx + 0x10], 0xff
movsd xmm0, qword [edi + 0x20]
movsd qword [ecx + 0x20], xmm0
movsd xmm0, qword [edi + 0x18]
movsd qword [ecx + 0x18], xmm0
movsd xmm0, qword [edi + 0x10]
movsd qword [ecx + 0x10], xmm0
movsd xmm0, qword [edi]
movq xmm1, qword [edi + 8]
movq qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
jmp 0x710fc7
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0xc]
lea eax, [ecx + 1]
mov edx, eax
and eax, 0xfffffff8
shr edx, 3
sub eax, edx
cmp ecx, 8
cmovb eax, ecx
sub eax, edi
mov dword [esi + 8], eax
jmp 0x71283b
mov ebx, ebp
mov ebp, 0x10
mov eax, ebx
lea edi, [ebx - 1]
and ebx, 0xfffffff8
shr eax, 3
sub ebx, eax
cmp edi, 8
cmovb ebx, edi
add ebp, esi
push ecx
push 0xff
push ebp
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x24]
sub ebx, ecx
mov esi, dword [eax]
cmp dword [esp + 0x20], 0xffffffff
mov dword [esp], esi
je 0x7127fe
lea eax, [esi - 0x28]
mov dword [esp + 0x28], ebx
xor ebx, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
jmp 0x712754
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, edi
mov byte [ebp + edx], al
not edx
mov byte [ecx + ebp + 0x10], al
mov eax, ebx
lea ecx, [edx + edx*4]
not eax
lea eax, [eax + eax*4]
movsd xmm0, qword [esi + eax*8 + 0x20]
movsd qword [ebp + ecx*8 + 0x20], xmm0
movsd xmm0, qword [esi + eax*8 + 0x18]
movsd qword [ebp + ecx*8 + 0x18], xmm0
movsd xmm0, qword [esi + eax*8 + 0x10]
movsd qword [ebp + ecx*8 + 0x10], xmm0
movq xmm0, qword [esi + eax*8]
movq xmm1, qword [esi + eax*8 + 8]
movq qword [ebp + ecx*8 + 8], xmm1
movq qword [ebp + ecx*8], xmm0
cmp ebx, dword [esp + 0x20]
lea ebx, [ebx + 1]
je 0x7127dd
cmp byte [esi + ebx], 0
js 0x712747
mov ecx, dword [esp + 0xc]
mov eax, ebx
mov edx, dword [esp + 0x14]
neg eax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 4]
push eax
push dword [esp + 0x20]
push dword [esp + 0x18]
call fcn.0056d0c0
add esp, 0xc
mov ecx, edi
and ecx, eax
movdqu xmm0, xmmword [ebp + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x7127b8
mov esi, 0x10
nop dword [eax + eax]
add ecx, esi
add esi, 0x10
and ecx, edi
movdqu xmm0, xmmword [ebp + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x7127a0
mov esi, dword [esp]
tzcnt edx, edx
add edx, ecx
and edx, edi
cmp byte [ebp + edx], 0
js 0x7126f0
movdqa xmm0, xmmword [ebp]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x7126f0
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 8]
test esi, esi
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jne 0x71280d
jmp 0x71283b
mov esi, dword [esp + 0x20]
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x18]
mov ecx, 0x28
mul ecx
add eax, 0xf
and eax, 0xfffffff0
add esi, eax
cmp esi, 0xffffffef
je 0x71283b
mov ecx, dword [esp]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 0x80000001
add esp, 0x78
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.005df3b0
ud2
mov ecx, ebx
call fcn.005df3f0
ud2