Function at 0x7174b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [ecx + 0xc]
add edx, eax
mov dword [esp + 0x14], eax
jb 0x7181f6
mov ebp, dword [ecx + 4]
mov esi, ecx
mov dword [esp + 0x24], esi
lea eax, [ebp + 1]
mov dword [esp + 0x20], ebp
mov ecx, eax
mov edi, eax
shr ecx, 3
and edi, 0xfffffff8
sub edi, ecx
cmp ebp, 8
cmovb edi, ebp
mov ecx, edi
shr ecx, 1
cmp edx, ecx
jbe 0x717515
inc edi
cmp edx, edi
cmova edi, edx
cmp edi, 8
mov esi, edi
jae 0x717581
xor eax, eax
cmp esi, 4
setae al
lea ebp, [eax*4 + 4]
jmp 0x7175c6
mov edx, eax
mov ebx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x38], edi
shr edx, 4
test al, 0xf
setne cl
add ecx, edx
je 0x717556
movdqa xmm0, xmmword [0x725600]
mov edx, ebx
nop word cs:[eax + eax]
nop
pxor xmm1, xmm1
dec ecx
pcmpgtb xmm1, xmmword [edx]
por xmm1, xmm0
movdqa xmmword [edx], xmm1
lea edx, [edx + 0x10]
jne 0x717540
cmp eax, 0x10
jae 0x71764a
lea ecx, [ebx + 0x10]
push eax
push ebx
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x14]
cmp ebp, 0xffffffff
jne 0x717662
xor edx, edx
jmp 0x71805b
cmp esi, 0x20000000
jae 0x7181f6
shl esi, 3
mov ebp, 1
cmp esi, 0xe
jb 0x7175c6
mov ecx, 0x24924925
mov eax, esi
mov ebp, 0xffffffff
mul ecx
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 2
dec esi
bsr ecx, esi
not ecx
shr ebp, cl
inc ebp
cmp ebp, 0x1fffffff
ja 0x7181f6
lea ebx, [ebp*8]
add ebx, 0xf
jb 0x7181f6
and ebx, 0xfffffff0
lea ecx, [ebp + 0x10]
mov edi, ebx
add edi, ecx
jb 0x7181f6
cmp edi, 0x7ffffff1
jae 0x7181f6
test edi, edi
je 0x718069
mov dword [esp + 4], ecx
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x717621
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x7181fd
mov dword [0x919820], eax
lea ecx, [edi + 0x10]
push ecx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x7181fd
mov ecx, dword [esp + 4]
mov esi, eax
and esi, 0xfffffff0
mov dword [esi + 0xc], eax
add esi, 0x10
jmp 0x71806e
mov ecx, dword [esp + 0x14]
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx + eax + 8], xmm1
movq qword [ebx + eax], xmm0
mov eax, dword [esp + 0x7c]
movdqa xmm3, xmmword [str.arenegylmodnaroduespemosarenegylmodnarodsetybdet]
mov dword [esp + 0x50], ebx
movdqu xmm1, xmmword [eax]
pshufd xmm0, xmm1, 0x55
movd edx, xmm1
pxor xmm3, xmm1
pshufd xmm2, xmm1, 0xee
pshufd xmm1, xmm1, 0xff
movd eax, xmm0
xor edx, 0x70736575
movd dword [esp + 0x4c], xmm3
movdqu xmmword [esp + 0x58], xmm3
xor eax, 0x736f6d65
mov dword [esp + 0x30], edx
movd edx, xmm1
pshufd xmm1, xmm3, 0x55
mov dword [esp + 0x34], eax
movd eax, xmm2
xor edx, 0x74656462
movd dword [esp + 0x48], xmm1
xor eax, 0x79746573
movd xmm1, edx
mov dword [esp + 0x3c], edx
xor edx, edx
movd xmm2, eax
mov dword [esp + 0x40], eax
punpcklqdq xmm1, xmm2
shufps xmm1, xmm3, 0xe2
jmp 0x717712
mov edx, dword [esp + 0x28]
shr eax, 0x19
lea ecx, [edx - 0x10]
mov byte [ebx + edx], al
and ecx, ebp
mov byte [ecx + ebx + 0x10], al
mov ecx, dword [esp + 0x14]
cmp edx, ebp
lea edx, [edx + 1]
je 0x718057
cmp byte [ebx + edx], 0x80
jne 0x717707
mov eax, edx
mov dword [esp + 0x28], edx
neg edx
not eax
mov dword [esp + 0x54], edx
shl eax, 3
mov dword [esp + 0x2c], eax
nop dword [eax]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
movaps xmm2, xmm1
mov ecx, dword [ebx + eax*8 - 8]
mov eax, dword [ebx + eax*8 - 4]
mov ebx, 0
mov dword [esp + 4], ecx
mov ecx, eax
mov dword [esp + 0x10], eax
and ecx, 7
and eax, 0xfffffff8
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov esi, ecx
mov dword [esp + 8], ecx
je 0x71789a
mov eax, dword [esp]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
movups xmm3, xmmword [esp + 0x58]
xor esi, esi
dec eax
and eax, 0xfffffff8
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
nop word cs:[eax + eax]
nop
mov edi, dword [esp + 4]
movd xmm6, ebp
movd xmm7, edx
punpckldq xmm6, xmm7
mov ebx, dword [edi + esi]
xor ecx, ebx
movd xmm5, ecx
movd xmm2, ecx
mov ecx, dword [edi + esi + 4]
add esi, 8
xor eax, ecx
movd xmm4, eax
punpckldq xmm2, xmm4
punpcklqdq xmm4, xmm5
shufps xmm4, xmm3, 0xe2
punpcklqdq xmm2, xmm6
movaps xmm6, xmm3
movaps xmm5, xmm4
paddq xmm2, xmm3
psrlq xmm6, 0x33
psllq xmm4, 0x10
psllq xmm3, 0xd
psrlq xmm5, 0x30
movsd xmm3, xmm4
pshufd xmm4, xmm2, 0x4b
movsd xmm6, xmm5
orpd xmm3, xmm6
xorpd xmm3, xmm2
movapd xmm2, xmm3
movapd xmm5, xmm3
paddq xmm4, xmm3
psrlq xmm2, 0x2b
psrlq xmm5, 0x2f
movd ebp, xmm4
movsd xmm5, xmm2
movdqa xmm2, xmm3
psllq xmm3, 0x11
xor ebp, ebx
psllq xmm2, 0x15
movsd xmm3, xmm2
orpd xmm3, xmm5
movapd xmm2, xmm3
pshufd xmm3, xmm4, 0xff
movd edi, xmm3
pshufd xmm3, xmm4, 0x55
xorpd xmm2, xmm4
movd edx, xmm3
movd xmm5, edi
movapd xmm3, xmm4
xor edx, ecx
cmp esi, dword [esp]
shufpd xmm3, xmm5, 1
pshufd xmm5, xmm2, 0x55
movd ecx, xmm2
shufps xmm3, xmm2, 0xe2
movd eax, xmm5
jb 0x7177a0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
pshufd xmm3, xmm4, 0xee
movd eax, xmm3
add ebx, 8
cmp ecx, 3
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], ebx
jbe 0x7178f0
mov esi, dword [esp + 4]
mov dword [esp], 0
mov eax, dword [esi + ebx]
mov ebx, 4
mov dword [esp + 0x18], eax
mov eax, ebx
or eax, 1
cmp eax, ecx
jb 0x71790e
mov esi, dword [esp]
cmp ebx, ecx
jb 0x71794e
inc dword [esp + 0x10]
test ecx, ecx
je 0x717aa7
mov dword [esp], esi
jmp 0x717984
mov esi, dword [esp + 4]
xor ebx, ebx
mov dword [esp + 0x18], 0
mov dword [esp], 0
mov eax, ebx
or eax, 1
cmp eax, ecx
jae 0x7178c7
mov eax, dword [esp + 0xc]
lea ecx, [ebx*8]
add eax, ebx
movzx eax, word [esi + eax]
xor esi, esi
shld esi, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 8]
cmovne esi, eax
mov dword [esp + 0x44], esi
mov esi, 0
cmovne eax, esi
mov esi, dword [esp]
or ebx, 2
or dword [esp + 0x18], eax
or esi, dword [esp + 0x44]
cmp ebx, ecx
jae 0x7178d2
mov dword [esp], esi
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
add esi, ebx
shl ebx, 3
movzx eax, byte [eax + esi]
xor esi, esi
mov ecx, ebx
shld esi, eax, cl
shl eax, cl
test bl, 0x20
mov ecx, 0
cmovne esi, eax
cmovne eax, ecx
inc dword [esp + 0x10]
or dword [esp], esi
or dword [esp + 0x18], eax
mov eax, dword [esp + 8]
xor esi, esi
mov ebx, 0
lea ecx, [eax*8]
mov eax, 0xff
shld esi, eax, cl
mov eax, esi
mov esi, 0xff
shl esi, cl
test cl, 0x20
mov ecx, dword [esp + 8]
cmovne eax, esi
cmovne esi, ebx
or eax, dword [esp]
or esi, dword [esp + 0x18]
cmp ecx, 7
jne 0x717c83
mov ebx, eax
mov eax, 8
pshufd xmm4, xmm2, 0x55
movd xmm6, dword [esp + 0x1c]
movd xmm5, edi
movd xmm0, edx
sub eax, ecx
movd ecx, xmm2
mov edi, ebx
xor ecx, esi
movd xmm7, ecx
movd xmm3, ecx
movd ecx, xmm4
xor ecx, ebx
punpcklqdq xmm6, xmm5
movd xmm5, ebp
movd xmm4, ecx
punpckldq xmm5, xmm0
shufps xmm6, xmm2, 0xe2
punpckldq xmm3, xmm4
punpcklqdq xmm4, xmm7
shufps xmm4, xmm2, 0xe2
punpcklqdq xmm3, xmm5
movdqa xmm5, xmm2
psllq xmm2, 0xd
movaps xmm0, xmm4
psllq xmm4, 0x10
psrlq xmm5, 0x33
paddq xmm3, xmm6
psrlq xmm0, 0x30
movsd xmm2, xmm4
movsd xmm5, xmm0
orpd xmm2, xmm5
xorpd xmm2, xmm3
pshufd xmm3, xmm3, 0x4b
movapd xmm0, xmm2
movapd xmm4, xmm2
paddq xmm3, xmm2
psrlq xmm0, 0x2b
psrlq xmm4, 0x2f
pshufd xmm5, xmm3, 0x55
movd ebp, xmm3
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0x11
movd edx, xmm5
xor ebp, esi
psllq xmm0, 0x15
xor edx, edi
movsd xmm2, xmm0
pshufd xmm0, xmm3, 0xee
orpd xmm2, xmm4
movd ebx, xmm0
pshufd xmm0, xmm3, 0xff
xorpd xmm2, xmm3
movd edi, xmm0
jmp 0x717aad
mov ebx, dword [esp + 0x1c]
xor eax, eax
mov ecx, 1
sub ecx, eax
mov esi, ecx
and ecx, 0xfffffff8
and esi, 7
cmp eax, ecx
mov dword [esp + 4], esi
jae 0x717be0
nop dword [eax + eax]
movd esi, xmm2
movd xmm0, edi
movd xmm6, ebx
movd xmm3, edx
pshufd xmm5, xmm2, 0x55
add eax, 8
punpcklqdq xmm6, xmm0
movd xmm0, ebp
xor esi, 0xff
punpckldq xmm0, xmm3
movd xmm3, esi
movd xmm4, esi
shufps xmm6, xmm2, 0xe2
punpckldq xmm3, xmm5
movdqa xmm5, xmm2
punpcklqdq xmm3, xmm0
movaps xmm0, xmm2
psrlq xmm5, 0x33
movss xmm0, xmm4
movdqa xmm4, xmm2
psllq xmm2, 0xd
paddq xmm3, xmm6
psrlq xmm4, 0x30
psllq xmm0, 0x10
movsd xmm5, xmm4
movsd xmm2, xmm0
orpd xmm2, xmm5
xorpd xmm2, xmm3
pshufd xmm3, xmm3, 0x4b
movapd xmm0, xmm2
movapd xmm4, xmm2
movapd xmm5, xmm2
paddq xmm3, xmm2
psllq xmm2, 0x11
psllq xmm5, 0x15
psrlq xmm0, 0x2b
psrlq xmm4, 0x2f
movd ebp, xmm3
movsd xmm2, xmm5
movsd xmm4, xmm0
pshufd xmm5, xmm3, 0xff
xor ebp, 0xff
cmp eax, ecx
orpd xmm2, xmm4
pshufd xmm4, xmm3, 0xee
movd edi, xmm5
movd ebx, xmm4
pshufd xmm4, xmm3, 0x55
xorpd xmm2, xmm3
movd edx, xmm4
jb 0x717ad0
xor eax, eax
cmp dword [esp + 4], 4
mov esi, 0
mov ecx, 0xff
mov dword [esp + 0xc], 0
setae al
cmovae esi, ecx
shl eax, 2
mov dword [esp + 8], eax
jmp 0x717bf2
xor esi, esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], ebx
or ecx, 1
cmp ecx, eax
jae 0x717c50
mov eax, dword [esp + 8]
mov dword [esp], esi
xor esi, esi
mov ebx, 0xff
lea ecx, [eax*8]
shld esi, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne esi, ebx
cmovne ebx, ecx
or eax, 2
or dword [esp + 0xc], esi
mov esi, dword [esp]
mov ecx, eax
mov eax, dword [esp + 4]
or esi, ebx
cmp ecx, eax
jb 0x717c58
mov eax, dword [esp + 0xc]
jmp 0x717c83
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x717c43
mov dword [esp], esi
shl ecx, 3
xor esi, esi
mov ebx, 0xff
mov eax, 0
shld esi, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne esi, ebx
cmovne ebx, eax
mov eax, dword [esp + 0xc]
or eax, esi
mov esi, dword [esp]
or esi, ebx
mov ecx, dword [esp + 0x10]
pshufd xmm0, xmm2, 0x55
movd ebx, xmm2
mov dword [esp], esi
xor ebx, esi
shl ecx, 0x18
or ecx, eax
movd eax, xmm0
pshufd xmm0, xmm2, 0xff
pshufd xmm2, xmm2, 0xee
xor eax, ecx
movd esi, xmm2
mov dword [esp + 0x10], ecx
movd ecx, xmm0
add ebp, esi
mov dword [esp + 8], eax
mov eax, esi
adc edx, ecx
shld eax, ecx, 0xd
shld ecx, esi, 0xd
mov esi, ebx
xor eax, ebp
xor ecx, edx
add edi, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 8]
adc eax, edi
shld esi, edi, 0x10
shrd ebx, edi, 0x10
xor esi, dword [esp + 4]
xor ebx, eax
add edx, esi
mov edi, esi
adc ebp, ebx
shld edi, ebx, 0x15
shrd esi, ebx, 0xb
mov ebx, dword [esp + 0xc]
mov dword [esp + 8], edi
movd xmm6, esi
movd xmm7, dword [esp + 8]
add dword [esp + 4], ebx
mov edi, ebx
movd xmm3, dword [esp + 4]
punpckldq xmm7, xmm6
adc eax, ecx
shld edi, ecx, 0x11
shrd ebx, ecx, 0xf
mov ecx, dword [esp]
movd xmm2, eax
xor eax, 0xff
movd xmm0, ebx
movd xmm5, edi
mov ebx, dword [esp + 0x50]
movd xmm4, eax
mov eax, dword [esp + 0x10]
punpckldq xmm5, xmm0
movdqa xmm0, xmm3
punpcklqdq xmm7, xmm5
punpckldq xmm0, xmm2
movd xmm5, ebp
movd xmm2, edx
punpcklqdq xmm3, xmm4
punpckldq xmm2, xmm5
xor ecx, edx
punpcklqdq xmm2, xmm0
movd xmm5, ecx
xor eax, ebp
pxor xmm2, xmm7
mov ebp, dword [esp + 0x20]
movd xmm0, eax
movdqa xmm4, xmm2
shufps xmm3, xmm2, 0xe2
punpcklqdq xmm0, xmm5
movaps xmm5, xmm2
psrlq xmm4, 0x33
shufps xmm5, xmm0, 0x24
movdqa xmm0, xmm2
psrlq xmm0, 0x30
paddq xmm3, xmm5
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0xd
psllq xmm0, 0x10
movsd xmm2, xmm0
orpd xmm2, xmm4
xorpd xmm2, xmm3
pshufd xmm3, xmm3, 0x4b
movapd xmm0, xmm2
movapd xmm4, xmm2
paddq xmm3, xmm2
psrlq xmm0, 0x2b
psrlq xmm4, 0x2f
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0x11
psllq xmm0, 0x15
movsd xmm2, xmm0
orpd xmm2, xmm4
xorpd xmm2, xmm3
pshufd xmm3, xmm3, 0x4b
movapd xmm0, xmm2
movapd xmm4, xmm2
paddq xmm3, xmm2
psrlq xmm0, 0x30
psrlq xmm4, 0x33
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0xd
psllq xmm0, 0x10
movsd xmm2, xmm0
orpd xmm2, xmm4
xorpd xmm2, xmm3
pshufd xmm3, xmm3, 0x4b
movapd xmm0, xmm2
movapd xmm4, xmm2
paddq xmm3, xmm2
psrlq xmm0, 0x2b
psrlq xmm4, 0x2f
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0x11
psllq xmm0, 0x15
movsd xmm2, xmm0
orpd xmm2, xmm4
xorpd xmm2, xmm3
pshufd xmm3, xmm3, 0x4b
movapd xmm0, xmm2
movapd xmm4, xmm2
paddq xmm3, xmm2
psrlq xmm0, 0x30
psrlq xmm4, 0x33
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0xd
psllq xmm0, 0x10
movsd xmm2, xmm0
orpd xmm2, xmm4
xorpd xmm2, xmm3
movapd xmm0, xmm2
movapd xmm4, xmm2
movapd xmm5, xmm2
psrlq xmm0, 0x2b
psrlq xmm4, 0x2f
psllq xmm5, 0x11
movsd xmm4, xmm0
movapd xmm0, xmm2
psllq xmm0, 0x15
movsd xmm5, xmm0
orpd xmm5, xmm4
movapd xmm0, xmm5
shufpd xmm0, xmm3, 1
xorpd xmm5, xmm0
paddq xmm0, xmm2
pshufd xmm2, xmm0, 0xee
pshufd xmm0, xmm0, 0xff
movd eax, xmm5
movd edx, xmm0
movd ecx, xmm2
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 0x717f34
mov edi, 0x10
mov esi, ecx
nop
add esi, edi
add edi, 0x10
and esi, ebp
movdqu xmm0, xmmword [ebx + esi]
pmovmskb edx, xmm0
test edx, edx
je 0x717f20
tzcnt edx, edx
add edx, esi
and edx, ebp
cmp byte [ebx + edx], 0
js 0x717f4e
movdqa xmm0, xmmword [ebx]
pmovmskb edx, xmm0
tzcnt edx, edx
mov esi, dword [esp + 0x28]
mov edi, edx
sub edi, ecx
sub esi, ecx
xor edi, esi
and edi, ebp
cmp edi, 0x10
jb 0x7176f0
mov edi, ebx
movzx ebx, byte [ebx + edx]
mov ecx, edx
lea esi, [edx - 0x10]
shr eax, 0x19
not ecx
and esi, ebp
mov byte [edi + edx], al
shl ecx, 3
mov byte [esi + edi + 0x10], al
cmp bl, 0xff
je 0x718030
mov esi, dword [esp + 0x2c]
movzx edx, byte [edi + ecx]
mov ebx, edi
movzx eax, byte [edi + esi]
mov byte [edi + esi], dl
mov byte [edi + ecx], al
movzx eax, byte [edi + esi + 1]
movzx edx, byte [edi + ecx + 1]
mov byte [edi + esi + 1], dl
mov byte [edi + ecx + 1], al
movzx eax, byte [edi + esi + 2]
movzx edx, byte [edi + ecx + 2]
mov byte [edi + esi + 2], dl
mov byte [edi + ecx + 2], al
movzx eax, byte [edi + esi + 3]
movzx edx, byte [edi + ecx + 3]
mov byte [edi + esi + 3], dl
mov byte [edi + ecx + 3], al
movzx eax, byte [edi + esi + 4]
movzx edx, byte [edi + ecx + 4]
mov byte [edi + esi + 4], dl
mov byte [edi + ecx + 4], al
movzx eax, byte [edi + esi + 5]
movzx edx, byte [edi + ecx + 5]
mov byte [edi + esi + 5], dl
mov byte [edi + ecx + 5], al
movzx eax, byte [edi + esi + 6]
movzx edx, byte [edi + ecx + 6]
mov byte [edi + esi + 6], dl
mov byte [edi + ecx + 6], al
movzx eax, byte [edi + esi + 7]
movzx edx, byte [edi + ecx + 7]
mov byte [edi + esi + 7], dl
mov byte [edi + ecx + 7], al
jmp 0x717730
mov edx, dword [esp + 0x28]
mov ebx, edi
lea eax, [edx - 0x10]
mov byte [edi + edx], 0xff
and eax, ebp
mov byte [eax + edi + 0x10], 0xff
mov eax, dword [esp + 0x2c]
movq xmm0, qword [edi + eax]
movq qword [edi + ecx], xmm0
jmp 0x717703
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
sub edx, ecx
mov dword [eax + 8], edx
jmp 0x7181e9
mov esi, 0x10
mov edi, ebp
dec ebp
mov eax, edi
and edi, 0xfffffff8
shr eax, 3
sub edi, eax
cmp ebp, 8
cmovb edi, ebp
add esi, ebx
push ecx
push 0xff
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
sub edi, ecx
cmp dword [esp + 0x20], 0xffffffff
mov edx, dword [eax]
mov dword [esp], edx
je 0x7181b3
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x18], edi
xor ebx, ebx
mov edi, dword [edx]
mov dword [esp + 0x10], edi
mov edi, dword [edx + 4]
mov dword [esp + 8], edi
mov edi, dword [edx + 0xc]
mov edx, dword [edx + 8]
mov dword [esp + 0xc], edi
mov edi, dword [esp]
mov dword [esp + 0x1c], edx
jmp 0x718118
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, ebp
mov byte [esi + edx], al
shl edx, 3
mov byte [ecx + esi + 0x10], al
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x14]
neg edx
movq xmm0, qword [eax - 8]
mov eax, dword [esp + 0x24]
movq qword [esi + edx - 8], xmm0
cmp ebx, dword [esp + 0x20]
lea ebx, [ebx + 1]
je 0x71819a
cmp byte [edi + ebx], 0
js 0x71810b
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
lea eax, [ebx*8]
sub edi, eax
push dword [edi - 4]
mov dword [esp + 8], edi
push dword [edi - 8]
push dword [esp + 0x14]
push dword [esp + 0x28]
call fcn.005d71b0
add esp, 0x10
mov ecx, ebp
and ecx, eax
movdqu xmm0, xmmword [esi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x718174
mov edi, 0x10
nop
add ecx, edi
add edi, 0x10
and ecx, ebp
movdqu xmm0, xmmword [esi + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x718160
tzcnt edx, edx
mov edi, dword [esp]
add edx, ecx
and edx, ebp
cmp byte [esi + edx], 0
js 0x7180e0
movdqa xmm0, xmmword [esi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x7180e0
mov edx, dword [esp + 0x18]
mov dword [eax], esi
mov dword [eax + 4], ebp
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x7181c5
jmp 0x7181e9
mov dword [eax], esi
mov dword [eax + 4], ebp
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x20]
mov edi, dword [esp]
lea eax, [ecx*8 + 0x17]
and eax, 0xfffffff0
add ecx, eax
cmp ecx, 0xffffffef
je 0x7181e9
sub edi, eax
push dword [edi - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 0x80000001
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.005df3b0
ud2
mov ecx, edi
call fcn.005df3f0
ud2