Function at 0x70bc00
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [ecx + 0xc]
mov edi, edx
add edi, eax
mov dword [esp + 0x14], eax
jb 0x70c902
mov ebp, dword [ecx + 4]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x24], ecx
lea edx, [ebp + 1]
mov dword [esp + 0x28], ebp
mov eax, edx
mov esi, edx
shr eax, 3
and esi, 0xfffffff8
sub esi, eax
cmp ebp, 8
cmovb esi, ebp
mov eax, esi
shr eax, 1
cmp edi, eax
jbe 0x70bc67
inc esi
mov dword [esp + 0x18], edx
cmp edi, esi
cmova esi, edi
cmp esi, 8
jae 0x70bcd1
xor eax, eax
cmp esi, 4
setae al
lea ebx, [eax*4 + 4]
jmp 0x70bd0a
mov edi, ebx
mov ebx, dword [ecx]
mov ecx, edx
xor eax, eax
mov dword [esp + 0x3c], esi
mov esi, edx
shr ecx, 4
test dl, 0xf
setne al
add eax, ecx
je 0x70bca6
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 0x70bc90
cmp esi, 0x10
jae 0x70bd98
lea eax, [ebx + 0x10]
push esi
push ebx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x14]
cmp ebp, 0xffffffff
jne 0x70bdb0
xor edx, edx
jmp 0x70c741
cmp esi, 0x20000000
jae 0x70c902
shl esi, 3
mov ebx, 1
cmp esi, 0xe
jb 0x70bd0a
mov ecx, 0x24924925
mov eax, esi
mov ebx, 0xffffffff
mul ecx
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 2
dec esi
bsr ecx, esi
not ecx
shr ebx, cl
inc ebx
mov ecx, 0xc
mov eax, ebx
mul ecx
jo 0x70c902
mov ebp, eax
add ebp, 0xf
jb 0x70c902
and ebp, 0xfffffff0
lea ecx, [ebx + 0x10]
mov edi, ebp
add edi, ecx
jb 0x70c902
cmp edi, 0x7ffffff1
jae 0x70c902
test edi, edi
je 0x70c74f
mov dword [esp], ecx
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x70bd6e
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x70c909
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 0x70c909
mov ecx, dword [esp]
mov esi, ebx
mov ebx, eax
and ebx, 0xfffffff0
mov dword [ebx + 0xc], eax
add ebx, 0x10
jmp 0x70c756
mov ecx, dword [esp + 0x14]
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx + esi + 8], xmm1
movq qword [ebx + esi], xmm0
movdqu xmm1, xmmword [edi]
movdqa xmm3, xmmword [str.arenegylmodnaroduespemosarenegylmodnarodsetybdet]
mov dword [esp + 0x20], ebx
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 + 0x50], xmm3
movdqu xmmword [esp + 0x58], xmm3
xor eax, 0x736f6d65
mov dword [esp + 0x34], edx
movd edx, xmm1
pshufd xmm1, xmm3, 0x55
mov dword [esp + 0x38], eax
movd eax, xmm2
xor edx, 0x74656462
movd dword [esp + 0x4c], xmm1
xor eax, 0x79746573
movd xmm1, edx
mov dword [esp + 0x40], edx
xor edx, edx
movd xmm2, eax
mov dword [esp + 0x44], eax
punpcklqdq xmm1, xmm2
shufps xmm1, xmm3, 0xe2
jmp 0x70be62
mov edx, dword [esp + 0x2c]
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 0x70c73d
cmp byte [ebx + edx], 0x80
jne 0x70be57
mov eax, edx
mov dword [esp + 0x2c], edx
neg edx
not eax
mov dword [esp + 0x54], edx
lea eax, [eax + eax*2]
lea eax, [ebx + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
movaps xmm2, xmm1
mov ebp, 0
lea eax, [eax + eax*2]
mov ecx, dword [ebx + eax*4 - 0xc]
mov eax, dword [ebx + eax*4 - 4]
mov ebx, dword [esp + 0x50]
mov dword [esp], ecx
mov ecx, eax
mov dword [esp + 0x10], eax
and ecx, 7
and eax, 0xfffffff8
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov esi, ecx
mov dword [esp + 8], ecx
je 0x70bfea
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
movups xmm3, xmmword [esp + 0x58]
xor ebp, ebp
dec eax
and eax, 0xfffffff8
mov dword [esp + 0xc], eax
nop dword [eax]
mov ebx, dword [esp]
movd xmm6, edx
movd xmm7, edi
punpckldq xmm6, xmm7
mov eax, dword [ebx + ebp]
xor ecx, eax
movd xmm5, ecx
movd xmm2, ecx
mov ecx, dword [ebx + ebp + 4]
add ebp, 8
xor esi, ecx
movd xmm4, esi
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 ebx, xmm3
pshufd xmm3, xmm4, 0x55
xorpd xmm2, xmm4
movd edi, xmm3
movd xmm5, ebx
movapd xmm3, xmm4
xor edi, ecx
cmp ebp, dword [esp + 4]
shufpd xmm3, xmm5, 1
pshufd xmm5, xmm2, 0x55
movd ecx, xmm2
shufps xmm3, xmm2, 0xe2
movd esi, xmm5
jb 0x70bef0
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 8]
pshufd xmm3, xmm4, 0xee
movd eax, xmm3
add ebp, 8
cmp ecx, 3
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], ebp
jbe 0x70c040
mov esi, dword [esp]
mov dword [esp + 4], 0
mov eax, dword [esi + ebp]
mov ebp, 4
mov dword [esp + 0x18], eax
mov eax, ebp
or eax, 1
cmp eax, ecx
jb 0x70c05e
mov esi, dword [esp + 4]
cmp ebp, ecx
jb 0x70c09f
inc dword [esp + 0x10]
test ecx, ecx
je 0x70c20a
mov dword [esp + 4], esi
jmp 0x70c0d6
mov esi, dword [esp]
xor ebp, ebp
mov dword [esp + 0x18], 0
mov dword [esp + 4], 0
mov eax, ebp
or eax, 1
cmp eax, ecx
jae 0x70c017
mov eax, dword [esp + 0xc]
lea ecx, [ebp*8]
add eax, ebp
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 + 0x48], esi
mov esi, 0
cmovne eax, esi
mov esi, dword [esp + 4]
or ebp, 2
or dword [esp + 0x18], eax
or esi, dword [esp + 0x48]
cmp ebp, ecx
jae 0x70c023
mov dword [esp + 4], esi
mov esi, dword [esp + 0xc]
mov eax, dword [esp]
mov ecx, ebp
shl ecx, 3
add esi, ebp
movzx eax, byte [eax + esi]
xor esi, esi
shld esi, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne esi, eax
cmovne eax, ecx
inc dword [esp + 0x10]
or dword [esp + 4], esi
or dword [esp + 0x18], eax
mov eax, dword [esp + 8]
xor ebp, ebp
mov esi, 0xff
lea ecx, [eax*8]
mov eax, 0xff
shld ebp, eax, cl
shl esi, cl
test cl, 0x20
mov eax, 0
mov ecx, dword [esp + 8]
cmovne ebp, esi
cmovne esi, eax
or ebp, dword [esp + 4]
or esi, dword [esp + 0x18]
cmp ecx, 7
mov dword [esp], ebp
jne 0x70c200
mov eax, 8
movd xmm5, ebx
mov ebx, dword [esp]
movd xmm6, dword [esp + 0x1c]
pshufd xmm4, xmm2, 0x55
movd xmm0, edi
sub eax, ecx
movd ecx, xmm2
xor ecx, esi
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 edi, xmm5
xor edx, esi
psllq xmm0, 0x15
xor edi, ebx
movsd xmm2, xmm0
pshufd xmm0, xmm3, 0xee
orpd xmm2, xmm4
movd ebp, xmm0
pshufd xmm0, xmm3, 0xff
xorpd xmm2, xmm3
movd ebx, xmm0
jmp 0x70c210
mov ecx, dword [esp]
mov eax, esi
jmp 0x70c3c9
mov ebp, 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 + 8], esi
jae 0x70c330
nop dword [eax + eax]
movd esi, xmm2
movd xmm0, ebx
movd xmm6, ebp
movd xmm3, edi
pshufd xmm5, xmm2, 0x55
add eax, 8
punpcklqdq xmm6, xmm0
movd xmm0, edx
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 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 ebx, xmm5
movd ebp, xmm4
pshufd xmm4, xmm3, 0x55
xorpd xmm2, xmm3
movd edi, xmm4
jb 0x70c230
xor eax, eax
cmp dword [esp + 8], 4
mov esi, 0
mov ecx, 0xff
mov dword [esp], 0
setae al
cmovae esi, ecx
shl eax, 2
jmp 0x70c33b
xor esi, esi
mov dword [esp], 0
xor eax, eax
mov ecx, eax
mov dword [esp + 0x1c], ebp
or ecx, 1
cmp ecx, dword [esp + 8]
jae 0x70c390
mov dword [esp + 4], esi
lea ecx, [eax*8]
xor esi, esi
mov ebp, 0xff
shld esi, ebp, cl
shl ebp, cl
test cl, 0x20
mov ecx, 0
cmovne esi, ebp
cmovne ebp, ecx
mov ecx, dword [esp]
or eax, 2
or ecx, esi
mov esi, dword [esp + 4]
or esi, ebp
cmp eax, dword [esp + 8]
jb 0x70c399
mov eax, esi
jmp 0x70c3c9
mov ecx, dword [esp]
cmp eax, dword [esp + 8]
jae 0x70c383
shl eax, 3
mov dword [esp + 4], esi
mov dword [esp], ecx
xor esi, esi
mov ebp, 0xff
mov ecx, eax
shld esi, ebp, cl
shl ebp, cl
test al, 0x20
mov eax, 0
mov ecx, dword [esp]
cmovne esi, ebp
cmovne ebp, eax
mov eax, dword [esp + 4]
or ecx, esi
or eax, ebp
mov esi, dword [esp + 0x10]
pshufd xmm0, xmm2, 0x55
mov dword [esp + 4], eax
shl esi, 0x18
or esi, ecx
movd ecx, xmm0
pshufd xmm0, xmm2, 0xff
xor ecx, esi
mov dword [esp + 0x10], esi
movd esi, xmm2
pshufd xmm2, xmm2, 0xee
movd ebp, xmm2
xor esi, eax
mov dword [esp + 8], ecx
movd ecx, xmm0
add edx, ebp
mov eax, ebp
adc edi, ecx
shld eax, ecx, 0xd
shld ecx, ebp, 0xd
mov ebp, esi
xor eax, edx
xor ecx, edi
add ebx, esi
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 8]
adc eax, ebx
shld ebp, ebx, 0x10
shrd esi, ebx, 0x10
xor ebp, dword [esp]
xor esi, eax
add edi, ebp
mov ebx, ebp
adc edx, esi
shld ebx, esi, 0x15
shrd ebp, esi, 0xb
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ebx
movd xmm6, ebp
mov ebp, dword [esp + 0x28]
movd xmm7, dword [esp + 8]
add dword [esp], esi
mov ebx, esi
movd xmm3, dword [esp]
punpckldq xmm7, xmm6
adc eax, ecx
shld ebx, ecx, 0x11
shrd esi, ecx, 0xf
mov ecx, dword [esp + 4]
movd xmm2, eax
xor eax, 0xff
movd xmm5, ebx
movd xmm0, esi
mov ebx, dword [esp + 0x20]
movd xmm4, eax
mov eax, dword [esp + 0x10]
punpckldq xmm5, xmm0
movdqa xmm0, xmm3
punpcklqdq xmm7, xmm5
punpckldq xmm0, xmm2
movd xmm5, edx
movd xmm2, edi
punpcklqdq xmm3, xmm4
punpckldq xmm2, xmm5
xor ecx, edi
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, ebp
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
mov esi, ecx
pmovmskb edx, xmm0
test edx, edx
jne 0x70c684
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 0x70c670
tzcnt edx, edx
add edx, esi
and edx, ebp
cmp byte [ebx + edx], 0
js 0x70c69e
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 0x70be40
mov ecx, edx
mov edi, ebx
lea esi, [edx - 0x10]
shr eax, 0x19
not ecx
and esi, ebp
lea ecx, [ecx + ecx*2]
lea ecx, [ebx + ecx*4]
movzx ebx, byte [ebx + edx]
mov byte [edi + edx], al
mov byte [esi + edi + 0x10], al
cmp bl, 0xff
je 0x70c710
mov esi, dword [esp + 0x30]
mov edx, dword [ecx]
mov ebx, dword [esp + 0x20]
mov eax, dword [esi]
mov dword [esi], edx
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov edx, dword [ecx + 4]
mov dword [esi + 4], edx
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov edx, dword [ecx + 8]
mov dword [esi + 8], edx
mov dword [ecx + 8], eax
jmp 0x70be80
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
lea eax, [edx - 0x10]
mov byte [ebx + edx], 0xff
and eax, ebp
mov byte [eax + ebx + 0x10], 0xff
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
movq xmm0, qword [esi]
movq qword [ecx], xmm0
jmp 0x70be53
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
sub edx, ecx
mov dword [eax + 8], edx
jmp 0x70c8f5
mov esi, ebx
mov ebx, 0x10
mov eax, esi
lea edi, [esi - 1]
and esi, 0xfffffff8
shr eax, 3
sub esi, eax
cmp edi, 8
cmovb esi, edi
add ebx, ebp
push ecx
push 0xff
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov edx, dword [eax]
sub esi, ecx
cmp ebp, 0xffffffff
mov dword [esp], edx
je 0x70c8bc
add edx, 0xfffffff4
mov dword [esp + 0x20], esi
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov esi, dword [edx]
mov dword [esp + 0x10], esi
mov esi, dword [edx + 4]
mov dword [esp + 8], esi
mov esi, dword [edx + 0xc]
mov edx, dword [edx + 8]
mov dword [esp + 0x1c], edx
mov edx, dword [esp]
mov dword [esp + 0xc], esi
xor esi, esi
jmp 0x70c81a
lea ecx, [edx - 0x10]
shr eax, 0x19
mov ebp, dword [esp]
and ecx, edi
mov byte [ebx + edx], al
not edx
mov byte [ecx + ebx + 0x10], al
mov eax, esi
lea ecx, [edx + edx*2]
not eax
lea eax, [eax + eax*2]
mov edx, dword [ebp + eax*4 + 8]
mov dword [ebx + ecx*4 + 8], edx
mov edx, ebp
movq xmm0, qword [ebp + eax*4]
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
movq qword [ebx + ecx*4], xmm0
mov ecx, dword [esp + 0x14]
cmp esi, ebp
lea esi, [esi + 1]
je 0x70c8a7
cmp byte [edx + esi], 0
js 0x70c80f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebp, dword [esp + 4]
mov eax, esi
neg eax
lea eax, [eax + eax*2]
push dword [ebp + eax*4 + 8]
push dword [ebp + eax*4]
push dword [esp + 0x14]
push dword [esp + 0x28]
call fcn.005d71b0
add esp, 0x10
mov ecx, edi
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x70c884
mov ebp, 0x10
nop word cs:[eax + eax]
nop dword [eax + eax]
add ecx, ebp
add ebp, 0x10
and ecx, edi
movdqu xmm0, xmmword [ebx + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x70c870
tzcnt edx, edx
add edx, ecx
and edx, edi
cmp byte [ebx + edx], 0
js 0x70c7d0
movdqa xmm0, xmmword [ebx]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x70c7d0
mov edx, dword [esp + 0x20]
test ebp, ebp
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
jne 0x70c8c7
jmp 0x70c8f5
mov dword [eax], ebx
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x18]
mov ecx, 0xc
mul ecx
add eax, 0xf
and eax, 0xfffffff0
add ebp, eax
cmp ebp, 0xffffffef
je 0x70c8f5
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, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.005df3b0
ud2
mov ecx, edi
call fcn.005df3f0
ud2