Function at 0x70cdc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
inc eax
je 0x70db26
mov ebx, dword [ecx + 4]
mov ebp, ecx
mov esi, edx
mov dword [esp + 0x24], ebp
lea ecx, [ebx + 1]
mov dword [esp + 0x20], ebx
mov edx, ecx
mov edi, ecx
and ecx, 0xfffffff8
shr edx, 3
sub ecx, edx
cmp ebx, 8
cmovb ecx, ebx
mov edx, ecx
shr edx, 1
cmp eax, edx
jbe 0x70ce2c
inc ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
cmp eax, ecx
cmova ecx, eax
cmp ecx, 8
jae 0x70ceb1
xor eax, eax
cmp ecx, 4
setae al
lea ebp, [eax*4 + 4]
jmp 0x70ceea
mov eax, dword [ebp]
mov edx, edi
mov ecx, edi
shr edx, 4
mov dword [esp + 0x14], eax
xor eax, eax
test cl, 0xf
setne al
add eax, edx
je 0x70ce76
movdqa xmm0, xmmword [0x725600]
mov ecx, dword [esp + 0x14]
nop word cs:[eax + eax]
nop dword [eax]
pxor xmm1, xmm1
dec eax
pcmpgtb xmm1, xmmword [ecx]
por xmm1, xmm0
movdqa xmmword [ecx], xmm1
lea ecx, [ecx + 0x10]
jne 0x70ce60
mov edx, edi
cmp edi, 0x10
jae 0x70cf70
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x14]
lea eax, [esi + 0x10]
push edx
push esi
push eax
call sub.VCRUNTIME140.dll_memmove
mov ecx, esi
mov esi, dword [esp + 0x1c]
add esp, 0xc
cmp ebx, 0xffffffff
jne 0x70cf88
mov esi, dword [esp + 0x18]
xor eax, eax
jmp 0x70d95c
cmp ecx, 0x20000000
jae 0x70db26
shl ecx, 3
mov ebp, 1
cmp ecx, 0xe
jb 0x70ceea
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, 0x18
mov eax, ebp
mul ecx
jo 0x70db26
mov esi, eax
lea ecx, [ebp + 0x10]
add esi, 0xf
and esi, 0xfffffff0
mov ebx, esi
add ebx, ecx
jb 0x70db26
cmp ebx, 0x7ffffff1
jae 0x70db26
test ebx, ebx
je 0x70d966
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov edi, ecx
test eax, eax
jne 0x70cf47
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x70db2d
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 0x70db2d
mov ebx, ebp
mov ebp, eax
mov ecx, edi
and ebp, 0xfffffff0
mov dword [ebp + 0xc], eax
add ebp, 0x10
jmp 0x70d96d
mov ecx, dword [esp + 0x14]
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
movq qword [ecx + edx + 8], xmm1
movq qword [ecx + edx], xmm0
movdqu xmm1, xmmword [esi]
movdqa xmm3, xmmword [str.arenegylmodnaroduespemosarenegylmodnarodsetybdet]
xor ebp, ebp
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 + 0x48], xmm3
movdqu xmmword [esp + 0x50], xmm3
xor eax, 0x736f6d65
mov dword [esp + 0x34], edx
movd edx, xmm1
pshufd xmm1, xmm3, 0x55
mov dword [esp + 0x28], eax
movd eax, xmm2
xor edx, 0x74656462
movd dword [esp + 0x44], xmm1
xor eax, 0x79746573
movd xmm1, edx
mov dword [esp + 0x38], edx
movd xmm2, eax
mov dword [esp + 0x3c], eax
punpcklqdq xmm1, xmm2
shufps xmm1, xmm3, 0xe2
jmp 0x70d030
mov edx, dword [esp + 0x14]
lea ecx, [ebp - 0x10]
shr eax, 0x19
and ecx, ebx
mov byte [edx + ebp], al
mov byte [ecx + edx + 0x10], al
mov ecx, edx
cmp ebp, ebx
lea ebp, [ebp + 1]
je 0x70d93f
cmp byte [ecx + ebp], 0x80
jne 0x70d025
mov eax, ebp
mov dword [esp + 0x30], ebp
neg ebp
not eax
mov dword [esp + 0x4c], ebp
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov dword [esp + 0x2c], eax
mov eax, ecx
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x48]
movaps xmm2, xmm1
mov ebx, 0
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + ecx*8 - 0x18]
mov eax, dword [eax + ecx*8 - 0x10]
mov ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 4], edx
mov edx, dword [esp + 0x34]
and ecx, 7
and eax, 0xfffffff8
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov edi, ecx
mov dword [esp + 8], ecx
je 0x70d1bb
mov eax, dword [esp]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
movups xmm3, xmmword [esp + 0x50]
xor edi, edi
dec eax
and eax, 0xfffffff8
mov dword [esp + 0xc], eax
nop dword [eax + eax]
mov ebp, dword [esp + 4]
movd xmm6, edx
movd xmm7, esi
punpckldq xmm6, xmm7
mov eax, dword [ebp + edi]
xor ecx, eax
movd xmm5, ecx
movd xmm2, ecx
mov ecx, dword [ebp + edi + 4]
add edi, 8
xor ebx, ecx
movd xmm4, ebx
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 edx, xmm4
movsd xmm5, xmm2
movdqa xmm2, xmm3
psllq xmm3, 0x11
xor edx, eax
psllq xmm2, 0x15
movsd xmm3, xmm2
orpd xmm3, xmm5
movapd xmm2, xmm3
pshufd xmm3, xmm4, 0xff
movd ebp, xmm3
pshufd xmm3, xmm4, 0x55
xorpd xmm2, xmm4
movd esi, xmm3
movd xmm5, ebp
movapd xmm3, xmm4
xor esi, ecx
cmp edi, dword [esp]
shufpd xmm3, xmm5, 1
pshufd xmm5, xmm2, 0x55
movd ecx, xmm2
shufps xmm3, xmm2, 0xe2
movd ebx, xmm5
jb 0x70d0c0
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 + 0x10], eax
mov dword [esp + 0xc], ebx
jbe 0x70d210
mov edi, dword [esp + 4]
mov dword [esp], 0
mov eax, dword [edi + ebx]
mov ebx, 4
mov dword [esp + 0x18], eax
mov eax, ebx
or eax, 1
cmp eax, ecx
jb 0x70d22e
mov edi, dword [esp]
cmp ebx, ecx
jb 0x70d26e
inc dword [esp + 0x1c]
test ecx, ecx
je 0x70d3c7
mov dword [esp], edi
jmp 0x70d2a4
mov edi, 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 0x70d1e8
mov eax, dword [esp + 0xc]
lea ecx, [ebx*8]
add eax, ebx
movzx eax, word [edi + eax]
xor edi, edi
shld edi, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 8]
cmovne edi, eax
mov dword [esp + 0x40], edi
mov edi, 0
cmovne eax, edi
mov edi, dword [esp]
or ebx, 2
or dword [esp + 0x18], eax
or edi, dword [esp + 0x40]
cmp ebx, ecx
jae 0x70d1ef
mov dword [esp], edi
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 4]
add edi, ebx
shl ebx, 3
movzx eax, byte [eax + edi]
xor edi, edi
mov ecx, ebx
shld edi, eax, cl
shl eax, cl
test bl, 0x20
mov ecx, 0
cmovne edi, eax
cmovne eax, ecx
inc dword [esp + 0x1c]
or dword [esp], edi
or dword [esp + 0x18], eax
mov eax, dword [esp + 8]
xor edi, edi
mov ebx, 0
lea ecx, [eax*8]
mov eax, 0xff
shld edi, eax, cl
mov eax, edi
mov edi, 0xff
shl edi, cl
test cl, 0x20
mov ecx, dword [esp + 8]
cmovne eax, edi
cmovne edi, ebx
or eax, dword [esp]
or edi, dword [esp + 0x18]
cmp ecx, 7
jne 0x70d5a3
mov ebx, eax
mov eax, 8
pshufd xmm4, xmm2, 0x55
movd xmm6, dword [esp + 0x10]
movd xmm5, ebp
movd xmm0, esi
sub eax, ecx
movd ecx, xmm2
mov ebp, ebx
xor ecx, edi
movd xmm7, ecx
movd xmm3, ecx
movd ecx, xmm4
xor ecx, ebx
punpcklqdq xmm6, xmm5
movd xmm5, edx
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 edx, xmm3
movsd xmm4, xmm0
movdqa xmm0, xmm2
psllq xmm2, 0x11
movd esi, xmm5
xor edx, edi
psllq xmm0, 0x15
xor esi, ebp
movsd xmm2, xmm0
pshufd xmm0, xmm3, 0xee
orpd xmm2, xmm4
movd ebx, xmm0
pshufd xmm0, xmm3, 0xff
xorpd xmm2, xmm3
movd ebp, xmm0
jmp 0x70d3cd
mov ebx, dword [esp + 0x10]
xor eax, eax
mov ecx, 1
sub ecx, eax
mov edi, ecx
and ecx, 0xfffffff8
and edi, 7
cmp eax, ecx
mov dword [esp + 4], edi
jae 0x70d500
nop dword [eax + eax]
movd edi, xmm2
movd xmm0, ebp
movd xmm6, ebx
movd xmm3, esi
pshufd xmm5, xmm2, 0x55
add eax, 8
punpcklqdq xmm6, xmm0
movd xmm0, edx
xor edi, 0xff
punpckldq xmm0, xmm3
movd xmm3, edi
movd xmm4, edi
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 edx, xmm3
movsd xmm2, xmm5
movsd xmm4, xmm0
pshufd xmm5, xmm3, 0xff
xor edx, 0xff
cmp eax, ecx
orpd xmm2, xmm4
pshufd xmm4, xmm3, 0xee
movd ebp, xmm5
movd ebx, xmm4
pshufd xmm4, xmm3, 0x55
xorpd xmm2, xmm3
movd esi, xmm4
jb 0x70d3f0
xor eax, eax
cmp dword [esp + 4], 4
mov edi, 0
mov ecx, 0xff
mov dword [esp + 0xc], 0
setae al
cmovae edi, ecx
shl eax, 2
mov dword [esp + 8], eax
jmp 0x70d512
xor edi, edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 4]
mov dword [esp + 0x10], ebx
or ecx, 1
cmp ecx, eax
jae 0x70d570
mov eax, dword [esp + 8]
mov dword [esp], edi
xor edi, edi
mov ebx, 0xff
lea ecx, [eax*8]
shld edi, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne edi, ebx
cmovne ebx, ecx
or eax, 2
or dword [esp + 0xc], edi
mov edi, dword [esp]
mov ecx, eax
mov eax, dword [esp + 4]
or edi, ebx
cmp ecx, eax
jb 0x70d578
mov eax, dword [esp + 0xc]
jmp 0x70d5a3
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x70d563
mov dword [esp], edi
shl ecx, 3
xor edi, edi
mov ebx, 0xff
mov eax, 0
shld edi, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne edi, ebx
cmovne ebx, eax
mov eax, dword [esp + 0xc]
or eax, edi
mov edi, dword [esp]
or edi, ebx
mov ecx, dword [esp + 0x1c]
pshufd xmm0, xmm2, 0x55
movd ebx, xmm2
mov dword [esp], edi
xor ebx, edi
shl ecx, 0x18
or ecx, eax
movd eax, xmm0
pshufd xmm0, xmm2, 0xff
pshufd xmm2, xmm2, 0xee
xor eax, ecx
movd edi, xmm2
mov dword [esp + 0x1c], ecx
movd ecx, xmm0
add edx, edi
mov dword [esp + 8], eax
mov eax, edi
adc esi, ecx
shld eax, ecx, 0xd
shld ecx, edi, 0xd
mov edi, ebx
xor eax, edx
xor ecx, esi
add ebp, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 8]
adc eax, ebp
shld edi, ebp, 0x10
shrd ebx, ebp, 0x10
xor edi, dword [esp + 4]
xor ebx, eax
add esi, edi
mov ebp, edi
adc edx, ebx
shld ebp, ebx, 0x15
shrd edi, ebx, 0xb
mov ebx, dword [esp + 0xc]
mov dword [esp + 8], ebp
movd xmm6, edi
movd xmm7, dword [esp + 8]
add dword [esp + 4], ebx
mov ebp, ebx
movd xmm3, dword [esp + 4]
punpckldq xmm7, xmm6
adc eax, ecx
shld ebp, ecx, 0x11
shrd ebx, ecx, 0xf
mov ecx, dword [esp]
movd xmm2, eax
xor eax, 0xff
movd xmm0, ebx
movd xmm5, ebp
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
movd xmm4, eax
mov eax, dword [esp + 0x1c]
punpckldq xmm5, xmm0
movdqa xmm0, xmm3
punpcklqdq xmm7, xmm5
punpckldq xmm0, xmm2
movd xmm5, edx
movd xmm2, esi
punpcklqdq xmm3, xmm4
punpckldq xmm2, xmm5
xor ecx, esi
punpcklqdq xmm2, xmm0
movd xmm5, ecx
xor eax, edx
pxor xmm2, xmm7
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, ebx
and ecx, eax
movdqu xmm0, xmmword [ebp + ecx]
mov esi, ecx
pmovmskb edx, xmm0
test edx, edx
jne 0x70d855
mov edi, 0x10
mov esi, ecx
nop
add esi, edi
add edi, 0x10
and esi, ebx
movdqu xmm0, xmmword [ebp + esi]
pmovmskb edx, xmm0
test edx, edx
je 0x70d840
tzcnt edx, edx
add edx, esi
and edx, ebx
cmp byte [ebp + edx], 0
js 0x70d871
movdqa xmm0, xmmword [ebp]
pmovmskb edx, xmm0
tzcnt edx, edx
mov ebp, dword [esp + 0x30]
mov edi, edx
sub edi, ecx
mov esi, ebp
sub esi, ecx
xor edi, esi
and edi, ebx
cmp edi, 0x10
jb 0x70d010
mov ebp, dword [esp + 0x14]
mov edi, ebx
mov ecx, edx
lea esi, [edx - 0x10]
shr eax, 0x19
not ecx
and esi, edi
lea ecx, [ecx + ecx*2]
movzx ebx, byte [ebp + edx]
lea ecx, [ebp + ecx*8]
mov byte [ebp + edx], al
mov byte [esi + ebp + 0x10], al
cmp bl, 0xff
je 0x70d900
mov eax, dword [esp + 0x2c]
movsd xmm2, qword [ecx]
movsd xmm0, qword [eax]
movsd qword [eax], xmm2
movsd qword [ecx], xmm0
movsd xmm0, qword [eax + 8]
movsd xmm2, qword [ecx + 8]
movsd qword [eax + 8], xmm2
movsd qword [ecx + 8], xmm0
movq xmm2, qword [ecx + 0x10]
movq xmm0, qword [eax + 0x10]
movq qword [eax + 0x10], xmm2
mov eax, dword [esp + 0x24]
movq qword [ecx + 0x10], xmm0
mov eax, dword [eax]
jmp 0x70d050
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
lea eax, [ebp - 0x10]
mov byte [edx + ebp], 0xff
and eax, ebx
mov byte [eax + edx + 0x10], 0xff
movsd xmm0, qword [esi + 0x10]
movsd qword [ecx + 0x10], xmm0
movq xmm0, qword [esi]
movq xmm2, qword [esi + 8]
movq qword [ecx + 8], xmm2
movq qword [ecx], xmm0
jmp 0x70d023
mov ebp, dword [esp + 0x24]
mov ecx, dword [ebp + 4]
mov esi, dword [ebp + 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, esi
mov dword [ebp + 8], eax
jmp 0x70db19
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 eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov edx, dword [eax]
sub ebx, ecx
cmp esi, 0xffffffff
mov dword [esp + 4], edx
je 0x70dadf
lea eax, [edx - 0x18]
mov dword [esp + 0x28], ebx
xor ebx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], esi
mov esi, edx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
jmp 0x70da2c
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*2]
not eax
lea eax, [eax + eax*2]
movsd xmm0, qword [esi + eax*8 + 0x10]
movsd qword [ebp + ecx*8 + 0x10], xmm0
movq xmm0, qword [esi + eax*8]
movsd xmm1, qword [esi + eax*8 + 8]
movsd qword [ebp + ecx*8 + 8], xmm1
movq qword [ebp + ecx*8], xmm0
cmp ebx, dword [esp + 0x20]
lea ebx, [ebx + 1]
je 0x70dabe
cmp byte [esi + ebx], 0
js 0x70da1f
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
mov esi, dword [esp]
mov eax, ebx
neg eax
lea eax, [eax + eax*2]
push dword [esi + eax*8 + 8]
push dword [esi + eax*8]
push dword [esp + 0x14]
push dword [esp + 0x1c]
call fcn.005d71b0
add esp, 0x10
mov ecx, edi
and ecx, eax
movdqu xmm0, xmmword [ebp + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x70da95
mov esi, 0x10
nop word cs:[eax + eax]
nop dword [eax]
add ecx, esi
add esi, 0x10
and ecx, edi
movdqu xmm0, xmmword [ebp + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x70da80
tzcnt edx, edx
mov esi, dword [esp + 4]
add edx, ecx
and edx, edi
cmp byte [ebp + edx], 0
js 0x70d9e0
movdqa xmm0, xmmword [ebp]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x70d9e0
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
test esi, esi
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jne 0x70daea
jmp 0x70db19
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x14]
mov ecx, 0x18
mul ecx
add eax, 0xf
and eax, 0xfffffff0
add esi, eax
cmp esi, 0xffffffef
je 0x70db19
mov ecx, dword [esp + 4]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 0x80000001
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.005df3b0
ud2
mov ecx, ebx
call fcn.005df3f0
ud2