Function at 0x52f8d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x88
mov dword [ebp - 0x10], edx
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x64], edx
inc edx
je 0x530385
mov ebx, dword [ecx + 4]
mov edi, ecx
mov dword [ebp - 0x44], edi
lea eax, [ebx + 1]
mov dword [ebp - 0x3c], ebx
mov ecx, eax
mov esi, eax
shr ecx, 3
and esi, 0xfffffff8
sub esi, ecx
cmp ebx, 8
mov ecx, esi
mov dword [ebp - 0x8c], esi
cmovb ecx, ebx
mov esi, ecx
shr esi, 1
cmp edx, esi
jbe 0x52f93f
inc ecx
cmp edx, ecx
cmova ecx, edx
cmp ecx, 8
jae 0x52f9bc
xor eax, eax
cmp ecx, 4
setae al
lea ebx, [eax*4 + 4]
jmp 0x52fa01
mov ecx, dword [edi]
test eax, eax
je 0x52fa72
pxor xmm0, xmm0
mov edi, ecx
cmp eax, 0x11
pcmpgtb xmm0, xmmword [ecx]
por xmm0, xmmword [0x560640]
movdqa xmmword [ecx], xmm0
jb 0x52f99d
movdqa xmm0, xmmword [0x560640]
mov ecx, 0x10
nop word cs:[eax + eax]
nop dword [eax + eax]
pxor xmm1, xmm1
mov edx, edi
pcmpgtb xmm1, xmmword [edi + ecx]
por xmm1, xmm0
movdqa xmmword [edi + ecx], xmm1
add ecx, 0x10
jb 0x52f99d
cmp ecx, eax
jb 0x52f980
cmp eax, 0x10
mov dword [ebp - 0x48], edi
jae 0x52fc11
lea ecx, [edi + 0x10]
push eax
push edi
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
jmp 0x52fc25
cmp ecx, 0x20000000
jae 0x530385
shl ecx, 3
mov ebx, 1
cmp ecx, 0xe
jb 0x52fa01
mov edx, 0x24924925
mov eax, ecx
mov ebx, 0xffffffff
mul edx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 2
dec ecx
bsr ecx, ecx
not ecx
shr ebx, cl
inc ebx
cmp ebx, 0xfffffff
ja 0x530385
mov ecx, ebx
lea edx, [ebx + 0x10]
shl ecx, 4
mov esi, ecx
add esi, edx
jb 0x530385
cmp esi, 0x7ffffff1
jae 0x530385
test esi, esi
je 0x52fa87
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ecx
movzx eax, byte [0x5da16c]
mov eax, dword [0x5da100]
test eax, eax
jne 0x52fa4b
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x53038c
mov dword [0x5da100], eax
lea ecx, [esi + 0x10]
push ecx
push 0
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x53038c
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edi, eax
and edi, 0xfffffff0
mov dword [edi + 0xc], eax
add edi, 0x10
jmp 0x52fa8c
push eax
push ecx
add ecx, 0x10
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
xor ecx, ecx
jmp 0x53036c
mov edi, 0x10
mov eax, ebx
lea esi, [ebx - 1]
and ebx, 0xfffffff8
shr eax, 3
sub ebx, eax
cmp esi, 8
cmovb ebx, esi
add edi, ecx
push edx
push 0xff
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x3c]
sub ebx, dword [ebp - 0x64]
cmp edx, 0xffffffff
je 0x52fbd1
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], ebx
mov ebx, dword [eax]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
lea eax, [ebx - 0x10]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], eax
xor eax, eax
jmp 0x52fb33
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, esi
mov byte [edi + edx], al
shl edx, 4
mov byte [ecx + edi + 0x10], al
mov eax, ebx
sub eax, dword [ebp - 0x18]
movq xmm0, qword [eax - 0x10]
movq xmm1, qword [eax - 8]
mov eax, edi
sub eax, edx
neg edx
movq qword [edi + edx - 0x10], xmm0
movq qword [eax - 8], xmm1
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp eax, edx
lea eax, [eax + 1]
je 0x52fbba
cmp byte [ebx + eax], 0
js 0x52fb28
mov ecx, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
shl ecx, 4
mov dword [ebp - 0x18], ecx
sub eax, ecx
mov ecx, dword [ebp - 0x1c]
push dword [eax + 8]
push dword [eax]
push dword [ebp - 0x30]
push dword [ebp - 0x14]
call sym.core::hash::BuildHasher::hash_one::h3941b82d0083a1b5
add esp, 0x10
mov ecx, esi
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x52fb97
mov ebx, 0x10
nop dword [eax + eax]
add ecx, ebx
add ebx, 0x10
and ecx, esi
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x52fb80
mov ebx, dword [ebp - 0x20]
tzcnt edx, edx
add edx, ecx
and edx, esi
cmp byte [edi + edx], 0
js 0x52faf0
movdqa xmm0, xmmword [edi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x52faf0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
test edx, edx
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
jne 0x52fbe5
jmp 0x530375
mov eax, dword [ebp - 0x44]
mov edx, 0xffffffff
mov ecx, dword [eax]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov ebx, ecx
mov eax, edx
shl eax, 4
lea ecx, [edx + eax + 0x10]
cmp ecx, 0xffffffef
je 0x530375
add eax, 0x10
sub ebx, eax
push dword [ebx - 4]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x530375
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
movq qword [edi + eax + 8], xmm1
movq qword [edi + eax], xmm0
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 8]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov eax, edi
mov edx, ebx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], ecx
xor ebx, 0x6c796765
xor esi, 0x70736575
xor ecx, 0x646f7261
xor edi, 0x79746573
xor dword [ebp - 0x58], 0x6e657261
xor dword [ebp - 0x54], 0x74656462
xor eax, 0x6e646f6d
xor edx, 0x736f6d65
mov dword [ebp - 0x84], ebx
mov ebx, ecx
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x48]
add esi, eax
adc edx, ecx
shld ebx, eax, 0xd
shld eax, ecx, 0xd
mov dword [ebp - 0x78], esi
xor ebx, edx
xor eax, esi
mov dword [ebp - 0x7c], edx
xor edx, edx
mov ecx, ebx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ebx
shld ecx, eax, 0x11
shld eax, ebx, 0x11
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
jmp 0x52fcd3
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x48]
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, ebx
mov byte [edi + edx], al
mov byte [ecx + edi + 0x10], al
cmp edx, ebx
lea edx, [edx + 1]
je 0x530360
cmp byte [edi + edx], 0x80
jne 0x52fcc8
mov eax, edx
mov dword [ebp - 0x5c], edx
not eax
shl eax, 4
add eax, edi
mov dword [ebp - 0x88], eax
mov eax, edx
shl eax, 4
neg eax
lea eax, [edi + eax - 0x10]
mov dword [ebp - 0x94], eax
nop dword [eax]
mov eax, dword [ebp - 0x94]
mov edx, 4
mov ebx, dword [eax + 8]
mov esi, dword [eax]
lea eax, [ebx + ebx]
cmp eax, 4
mov dword [ebp - 0x40], eax
cmovb edx, eax
xor edi, edi
mov eax, 0
cmp edx, 3
jbe 0x52fd2f
mov edi, dword [esi]
mov eax, 4
mov ecx, eax
mov dword [ebp - 0x28], esi
or ecx, 1
cmp ecx, edx
jae 0x52fd58
movzx esi, word [esi + eax]
lea ecx, [eax*8]
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne esi, ecx
or eax, 2
or edi, esi
mov esi, edi
cmp eax, edx
jae 0x52fd78
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + eax]
shl eax, 3
mov ecx, eax
shl edx, cl
test al, 0x20
mov ecx, 0
cmovne edx, ecx
or esi, edx
mov eax, dword [ebp - 0x40]
lea ecx, [ebx + ebx + 4]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], esi
cmp eax, 4
jae 0x52fdd0
mov eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x54]
jmp 0x530055
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x84]
xor eax, esi
mov esi, dword [ebp - 0x58]
xor edi, ebx
mov edx, edi
add esi, edi
adc ecx, eax
shld edx, eax, 0x10
shrd edi, eax, 0x10
xor edx, esi
xor edi, ecx
mov dword [ebp - 0x1c], ecx
mov eax, edx
mov ecx, edi
mov ebx, edx
add eax, dword [ebp - 0x7c]
adc ecx, dword [ebp - 0x78]
shrd edx, edi, 0xb
shld ebx, edi, 0x15
xor ebx, eax
mov dword [ebp - 0x60], ebx
xor edx, ecx
add esi, dword [ebp - 0x74]
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x1c]
mov edi, esi
mov dword [ebp - 0x34], esi
adc edx, dword [ebp - 0x70]
xor ecx, dword [ebp - 0x24]
xor eax, dword [ebp - 0x18]
xor edi, dword [ebp - 0x68]
mov dword [ebp - 0x14], ecx
mov ecx, edx
xor edx, dword [ebp - 0x6c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x40]
add edx, 0xfffffffc
mov ebx, edx
and ebx, 7
and edx, 0xfffffff8
je 0x52ff79
lea eax, [edx - 5]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x18], 4
and eax, 0xfffffff8
mov dword [ebp - 0x38], eax
mov eax, edi
mov edi, dword [ebp - 0x20]
nop dword [eax]
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ecx + ebx + 4]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ebx
xor dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ecx + ebx]
mov ecx, dword [ebp - 0x10]
xor edx, ebx
add ecx, eax
mov dword [ebp - 0x24], ebx
adc esi, edi
mov ebx, esi
mov dword [ebp - 0x14], esi
mov esi, eax
shld esi, edi, 0xd
shld edi, eax, 0xd
mov eax, edx
xor esi, ecx
xor edi, ebx
add dword [ebp - 0x1c], edx
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x30]
adc ebx, esi
shrd edx, esi, 0x10
shld eax, esi, 0x10
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x50], ebx
xor edx, ebx
mov ebx, dword [ebp - 0x14]
xor eax, esi
add ebx, eax
adc ecx, edx
mov dword [ebp - 0x14], ebx
mov ebx, ecx
mov dword [ebp - 0x10], ecx
mov ecx, eax
shrd eax, edx, 0xb
shld ecx, edx, 0x15
xor eax, ebx
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 0x30], eax
mov edx, ecx
mov ecx, dword [ebp - 0x14]
mov eax, esi
mov esi, dword [ebp - 0x2c]
xor edx, ecx
add eax, esi
mov dword [ebp - 0x34], eax
mov eax, esi
adc ebx, edi
add dword [ebp - 0x18], 8
xor ecx, dword [ebp - 0x24]
shld eax, edi, 0x11
shld edi, esi, 0x11
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ebx
xor edi, ebx
mov ebx, dword [ebp - 0x18]
xor eax, dword [ebp - 0x34]
xor esi, dword [ebp - 0x20]
cmp ebx, dword [ebp - 0x40]
jb 0x52fe80
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x1c]
add dword [ebp - 0x38], 0xc
mov dword [ebp - 0x20], edi
mov edi, eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x60], edx
mov esi, dword [ebp - 0x28]
cmp ebx, 3
mov dword [ebp - 0x1c], ecx
jbe 0x52ff8b
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], 0
mov ecx, 4
mov eax, dword [esi + eax]
mov dword [ebp - 0x18], eax
jmp 0x52ff9b
mov dword [ebp - 0x38], 4
mov esi, dword [ebp - 0x28]
cmp ebx, 3
mov dword [ebp - 0x1c], ecx
ja 0x52ff62
xor ecx, ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x14]
mov edx, ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x14], eax
mov eax, ecx
or eax, 1
cmp eax, ebx
jae 0x52ffe1
mov eax, dword [ebp - 0x38]
mov ebx, ecx
add eax, ecx
lea ecx, [ecx*8]
movzx edi, word [esi + eax]
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edi
cmovne edi, ecx
mov ecx, ebx
or dword [ebp - 0x24], eax
or dword [ebp - 0x18], edi
or ecx, 2
cmp ecx, edx
jae 0x53000c
mov eax, dword [ebp - 0x38]
add eax, ecx
shl ecx, 3
movzx edi, byte [esi + eax]
xor eax, eax
shld eax, edi, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edi
cmovne edi, ecx
or dword [ebp - 0x24], eax
or dword [ebp - 0x18], edi
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4c]
add ebx, esi
mov edx, esi
adc edi, eax
shld edx, eax, 0xd
shld eax, esi, 0xd
mov dword [ebp - 0x10], ebx
xor eax, edi
xor edx, ebx
mov dword [ebp - 0x14], edi
mov ebx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x1c]
mov esi, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x50], edx
shld esi, edx, 0x11
shld edx, eax, 0x11
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x2c], edx
shl ecx, 0x18
xor esi, dword [ebp - 0x18]
movd xmm4, dword [ebp - 0x2c]
movd xmm5, dword [ebp - 0x28]
or ecx, dword [ebp - 0x24]
punpckldq xmm4, xmm5
xor eax, ecx
add edi, esi
mov dword [ebp - 0x4c], ecx
adc ebx, eax
mov ecx, eax
mov eax, esi
shld eax, ecx, 0x10
shrd esi, ecx, 0x10
xor eax, edi
xor esi, ebx
add dword [ebp - 0x14], eax
mov edx, eax
adc dword [ebp - 0x10], esi
shld edx, esi, 0x15
shrd eax, esi, 0xb
add edi, dword [ebp - 0x50]
movd xmm1, eax
mov eax, dword [ebp - 0x10]
movd xmm3, edx
mov edx, dword [ebp - 0x14]
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm4
adc ebx, dword [ebp - 0x20]
movd xmm1, edi
movd xmm6, eax
movd xmm0, edx
movdqa xmm5, xmm1
punpckldq xmm0, xmm6
mov ecx, ebx
movd xmm4, ebx
mov ebx, dword [ebp - 0x48]
xor ecx, 0xff
punpckldq xmm5, xmm4
movd xmm2, ecx
mov ecx, dword [ebp - 0x4c]
punpcklqdq xmm0, xmm5
pxor xmm0, xmm3
punpcklqdq xmm1, xmm2
movdqa xmm2, xmm0
shufps xmm1, xmm0, 0xe2
psrlq xmm2, 0x30
xor ecx, eax
mov eax, dword [ebp - 0x18]
movd xmm3, ecx
xor eax, edx
movd xmm4, eax
punpcklqdq xmm3, xmm4
movaps xmm4, xmm0
shufps xmm4, xmm3, 0x24
movdqa xmm3, xmm0
psrlq xmm3, 0x33
paddq xmm1, xmm4
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x30
psrlq xmm3, 0x33
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm1, xmm1, 0x4b
movapd xmm2, xmm0
movapd xmm3, xmm0
paddq xmm1, xmm0
psrlq xmm2, 0x30
psrlq xmm3, 0x33
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
movapd xmm2, xmm0
movapd xmm3, xmm0
movapd xmm4, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
psllq xmm4, 0x11
movsd xmm3, xmm2
movapd xmm2, xmm0
psllq xmm2, 0x15
movsd xmm4, xmm2
orpd xmm4, xmm3
movapd xmm2, xmm4
shufpd xmm2, xmm1, 1
xorpd xmm4, xmm2
paddq xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movd esi, xmm4
movd ecx, xmm0
pshufd xmm0, xmm2, 0xff
movd edx, xmm0
xor esi, edx
xor esi, ecx
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x10], esi
mov eax, ecx
and eax, esi
movdqu xmm0, xmmword [ebx + eax]
mov esi, eax
pmovmskb edx, xmm0
test edx, edx
jne 0x5302b4
mov edi, 0x10
mov esi, eax
nop dword [eax]
add esi, edi
add edi, 0x10
and esi, ecx
movdqu xmm0, xmmword [ebx + esi]
pmovmskb edx, xmm0
test edx, edx
je 0x5302a0
tzcnt edx, edx
add edx, esi
and edx, ecx
cmp byte [ebx + edx], 0
js 0x5302ce
movdqa xmm0, xmmword [ebx]
pmovmskb edx, xmm0
tzcnt edx, edx
mov esi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x3c]
mov edi, edx
sub edi, eax
sub esi, eax
xor edi, esi
and edi, ebx
cmp edi, 0x10
jb 0x52fcb0
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
lea esi, [edx - 0x10]
and esi, ebx
movzx ecx, byte [edi + edx]
shr eax, 0x19
mov byte [edi + edx], al
not edx
mov byte [esi + edi + 0x10], al
shl edx, 4
add edx, edi
cmp cl, 0xff
je 0x530330
mov eax, dword [ebp - 0x88]
movdqu xmm1, xmmword [edx]
movdqu xmm0, xmmword [eax]
movdqu xmmword [eax], xmm1
movdqu xmmword [edx], xmm0
jmp 0x52fd00
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x88]
lea eax, [ecx - 0x10]
mov byte [edi + ecx], 0xff
and eax, ebx
mov byte [eax + edi + 0x10], 0xff
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
mov edx, ecx
jmp 0x52fcc8
mov ecx, dword [ebp - 0x8c]
cmp ebx, 8
cmovb ecx, ebx
sub ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x44]
mov dword [eax + 8], ecx
mov eax, 0x80000001
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret
call dbg.capacity_overflow
ud2
mov ecx, esi
call dbg.alloc_err
ud2