Function at 0x48bc00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x84
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0x1c], edx
cmp esi, 0xffffffff
je 0x48c6de
mov edi, dword [ecx + 4]
mov ebx, ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x44], ebx
lea edx, [edi + 1]
mov dword [ebp - 0x5c], edi
mov eax, edx
mov ecx, edx
shr eax, 3
and ecx, 0xfffffff8
sub ecx, eax
cmp edi, 8
mov dword [ebp - 0x78], ecx
cmovb ecx, edi
mov eax, ecx
shr eax, 1
cmp esi, eax
jae 0x48bca4
mov ecx, edx
mov ebx, dword [ebx]
xor eax, eax
mov esi, edx
shr ecx, 4
test dl, 0xf
setne al
add eax, ecx
je 0x48bc86
movdqa xmm0, xmmword [0x576800]
mov ecx, ebx
nop dword [eax + eax]
pxor xmm1, xmm1
dec eax
pcmpgtb xmm1, xmmword [ecx]
por xmm1, xmm0
movdqa xmmword [ecx], xmm1
lea ecx, [ecx + 0x10]
jne 0x48bc70
cmp esi, 0x10
jae 0x48bccd
lea eax, [ebx + 0x10]
push esi
push ebx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
test esi, esi
jne 0x48bce1
xor ecx, ecx
jmp 0x48c412
lea eax, [esi + 1]
inc ecx
mov dword [ebp - 0x48], edx
cmp eax, ecx
cmova ecx, eax
cmp ecx, 8
jae 0x48c420
xor eax, eax
cmp ecx, 4
setae al
lea eax, [eax*4 + 4]
jmp 0x48c44f
movq xmm0, qword [ebx]
movq xmm1, qword [ebx + 8]
movq qword [ebx + esi + 8], xmm1
movq qword [ebx + esi], xmm0
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x88], ebx
mov esi, dword [edx + 8]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [ebp - 0x3c], esi
mov esi, dword [edx + 0xc]
mov edx, ecx
xor ecx, 0x6c796765
xor edx, 0x736f6d65
mov dword [ebp - 0x74], ecx
xor ecx, ecx
mov dword [ebp - 0x6c], edx
mov edx, eax
xor eax, 0x6e657261
xor edx, 0x70736575
mov dword [ebp - 0x48], eax
lea eax, [ebx - 0x34]
mov dword [ebp - 0x68], edx
mov edx, esi
xor esi, 0x74656462
mov dword [ebp - 0x7c], eax
xor edx, 0x646f7261
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x3c]
xor dword [ebp - 0x3c], 0x79746573
xor edx, 0x6e646f6d
mov dword [ebp - 0x60], edx
xor edx, edx
jmp 0x48bd86
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x10]
lea eax, [edx - 0x10]
shr ecx, 0x19
and eax, edi
mov byte [ebx + edx], cl
mov byte [ebx + eax + 0x10], cl
xor ecx, ecx
add dword [ebp - 0x58], 0xffffffcc
cmp edx, edi
lea edx, [edx + 1]
je 0x48c409
cmp cl, byte [ebx + edx]
jno 0x48bd77
mov eax, dword [ebp - 0x7c]
imul ecx, edx, 0xffffffcc
mov dword [ebp - 0x50], edx
add eax, ecx
add ecx, ebx
mov dword [ebp - 0x80], eax
mov eax, edx
mov dword [ebp - 0x84], ecx
not eax
imul eax, eax, 0x34
add eax, ebx
mov dword [ebp - 0x54], eax
mov eax, edx
neg eax
imul eax, eax, 0x34
add eax, ebx
mov dword [ebp - 0x8c], eax
jmp 0x48bdff
mov esi, dword [ebp - 0x54]
movups xmm1, xmmword [eax]
movups xmm0, xmmword [esi]
movups xmmword [esi], xmm1
movups xmmword [eax], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [esi + 0x10], xmm1
movups xmmword [eax + 0x10], xmm0
movdqu xmm0, xmmword [esi + 0x20]
movdqu xmm1, xmmword [eax + 0x20]
movdqu xmmword [esi + 0x20], xmm1
movdqu xmmword [eax + 0x20], xmm0
mov ecx, dword [esi + 0x30]
mov edx, dword [eax + 0x30]
mov dword [esi + 0x30], edx
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x60]
mov edi, dword [eax - 0x30]
mov eax, dword [eax - 0x2c]
mov dword [ebp - 0x18], edx
mov edx, 0
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x34], eax
and eax, 0xfffffff8
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x48]
je 0x48bf53
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x20], 0
dec eax
mov dword [ebp - 0x18], edi
and eax, 0xfffffff8
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x3c]
nop dword [eax + eax]
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov edi, dword [edi + eax + 4]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x2c]
xor ecx, dword [ebp - 0x28]
mov edi, dword [edi + eax]
mov eax, dword [ebp - 0x24]
xor eax, edi
add esi, ebx
mov dword [ebp - 0x38], edi
mov edi, ebx
adc dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], esi
add dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x14]
adc esi, ecx
shld edi, edx, 0xd
shld edx, ebx, 0xd
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x24], esi
mov esi, eax
shld eax, ecx, 0x10
xor edx, dword [ebp - 0x18]
shrd esi, ecx, 0x10
mov ecx, dword [ebp - 0x1c]
xor esi, dword [ebp - 0x24]
xor eax, ebx
xor edi, ecx
add ebx, edi
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x24]
adc ebx, edx
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x18]
add ebx, eax
mov dword [ebp - 0x24], ebx
adc ecx, esi
mov ebx, edi
shld ebx, edx, 0x11
shld edx, edi, 0x11
mov edi, eax
mov dword [ebp - 0x1c], ecx
shrd eax, esi, 0xb
mov ecx, eax
mov eax, dword [ebp - 0x1c]
shld edi, esi, 0x15
mov esi, dword [ebp - 0x24]
xor edx, dword [ebp - 0x10]
xor ebx, dword [ebp - 0x14]
xor ecx, eax
xor eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, edi
mov edi, dword [ebp - 0x20]
xor eax, esi
xor esi, dword [ebp - 0x38]
add edi, 8
cmp edi, dword [ebp - 0x30]
mov dword [ebp - 0x20], edi
jb 0x48be80
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x40], ebx
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
add edx, 8
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
and esi, 7
cmp esi, 4
jb 0x48bf80
mov eax, dword [edi + edx]
mov ecx, 4
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28], eax
jmp 0x48bf90
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
xor ecx, ecx
mov eax, ecx
mov ebx, esi
or eax, 1
cmp eax, esi
jae 0x48bff0
lea eax, [edi + ecx]
mov edi, ecx
mov esi, edx
lea ecx, [ecx*8]
movzx eax, word [edx + eax]
xor edx, edx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne edx, eax
cmovne eax, ecx
mov ecx, edi
or dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x28]
or ecx, 2
or edx, eax
mov eax, dword [ebp - 0x20]
cmp ecx, ebx
jb 0x48bffc
inc dword [ebp - 0x34]
test ebx, ebx
je 0x48c12b
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x28], edx
mov esi, ebx
xor edx, edx
jmp 0x48c030
mov esi, edx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
cmp ecx, ebx
jae 0x48bfd6
mov eax, dword [ebp - 0x2c]
add esi, ecx
shl ecx, 3
mov edi, dword [ebp - 0x30]
movzx eax, byte [eax + esi]
mov esi, edx
xor edx, edx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, 0
cmovne edx, eax
cmovne eax, ecx
inc dword [ebp - 0x34]
or esi, eax
or edi, edx
xor edx, edx
mov dword [ebp - 0x28], esi
mov esi, ebx
lea ecx, [esi*8]
xor ebx, ebx
mov eax, 0xff
shld ebx, eax, cl
mov eax, ebx
mov ebx, 0xff
shl ebx, cl
test cl, 0x20
cmovne eax, ebx
cmovne ebx, edx
or ebx, dword [ebp - 0x28]
or eax, edi
cmp esi, 7
mov dword [ebp - 0x2c], eax
jne 0x48c120
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
xor edx, eax
xor esi, ebx
add dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x38]
adc edi, eax
add dword [ebp - 0x10], esi
mov ebx, edi
mov dword [ebp - 0x18], edi
mov edi, ecx
adc dword [ebp - 0x14], edx
shld edi, eax, 0xd
shld eax, ecx, 0xd
mov ecx, esi
shrd esi, edx, 0x10
shld ecx, edx, 0x10
xor eax, ebx
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
xor edi, dword [ebp - 0x1c]
xor ecx, dword [ebp - 0x10]
mov dword [ebp - 0x28], ebx
xor esi, edx
add dword [ebp - 0x28], edi
mov ebx, dword [ebp - 0x18]
adc edx, eax
add ebx, ecx
mov dword [ebp - 0x14], edx
mov edx, edi
adc dword [ebp - 0x1c], esi
shld edi, eax, 0x11
shrd edx, eax, 0xf
mov eax, ecx
shrd ecx, esi, 0xb
shld eax, esi, 0x15
mov esi, ebx
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x1c]
xor esi, dword [ebp - 0x20]
xor eax, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
xor ecx, edx
xor edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
mov ebx, esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ebx
xor ebx, ebx
mov dword [ebp - 0x18], edx
xor esi, dword [ebp - 0x14]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x28]
xor edi, esi
mov dword [ebp - 0x14], esi
mov ecx, edi
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
jmp 0x48c140
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
jmp 0x48c140
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2c], 0
mov ebx, 0xff
nop dword [eax]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x20], ebx
mov esi, ecx
shl edx, 0x18
or edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], edx
xor eax, edx
mov edx, dword [ebp - 0x24]
xor edx, ebx
add dword [ebp - 0x1c], ecx
mov ebx, dword [ebp - 0x18]
adc ebx, edi
add dword [ebp - 0x10], edx
adc dword [ebp - 0x14], eax
shld ecx, edi, 0xd
shld edi, esi, 0xd
mov esi, edx
shrd edx, eax, 0x10
shld esi, eax, 0x10
mov eax, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x1c]
xor edi, ebx
xor esi, dword [ebp - 0x10]
xor edx, eax
add dword [ebp - 0x10], ecx
adc eax, edi
add ebx, esi
mov dword [ebp - 0x14], eax
mov eax, ecx
adc dword [ebp - 0x1c], edx
shrd ecx, edi, 0xf
shld eax, edi, 0x11
mov edi, esi
shrd esi, edx, 0xb
xor ecx, dword [ebp - 0x14]
xor dword [ebp - 0x14], 0xff
shld edi, edx, 0x15
mov edx, dword [ebp - 0x1c]
xor edi, ebx
xor ebx, dword [ebp - 0x20]
xor esi, edx
xor edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x10]
xor eax, edx
add ebx, eax
adc dword [ebp - 0x1c], ecx
add dword [ebp - 0x14], edi
mov dword [ebp - 0x18], ebx
mov ebx, eax
adc edx, esi
shld ebx, ecx, 0xd
shrd eax, ecx, 0x13
mov ecx, edi
shrd edi, esi, 0x10
shld ecx, esi, 0x10
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], edx
xor edi, edx
mov edx, dword [ebp - 0x14]
xor ebx, dword [ebp - 0x18]
xor eax, esi
xor ecx, edx
add edx, ebx
adc dword [ebp - 0x10], eax
add esi, ecx
mov dword [ebp - 0x14], edx
mov edx, ebx
adc dword [ebp - 0x18], edi
shld edx, eax, 0x11
shrd ebx, eax, 0xf
mov eax, ecx
shrd ecx, edi, 0xb
shld eax, edi, 0x15
mov edi, dword [ebp - 0x10]
xor edx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x18]
xor eax, esi
xor ebx, edi
add esi, edx
adc dword [ebp - 0x18], ebx
add edi, eax
mov dword [ebp - 0x10], edi
mov edi, edx
adc dword [ebp - 0x14], ecx
shrd edx, ebx, 0x13
shld edi, ebx, 0xd
mov ebx, eax
shrd eax, ecx, 0x10
xor edx, dword [ebp - 0x18]
shld ebx, ecx, 0x10
mov ecx, dword [ebp - 0x10]
xor edi, esi
xor eax, dword [ebp - 0x14]
xor ebx, ecx
add ecx, edi
adc dword [ebp - 0x14], edx
add dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ecx
mov ecx, edi
adc esi, eax
shrd edi, edx, 0xf
shld ecx, edx, 0x11
mov edx, ebx
shrd ebx, eax, 0xb
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x10]
shld edx, eax, 0x15
mov eax, dword [ebp - 0x18]
xor edi, dword [ebp - 0x14]
xor ebx, dword [ebp - 0x1c]
xor ecx, esi
xor edx, eax
add eax, ecx
adc dword [ebp - 0x1c], edi
add dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
mov eax, ecx
adc esi, ebx
shld eax, edi, 0xd
shrd ecx, edi, 0x13
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x10], esi
mov esi, edx
xor eax, dword [ebp - 0x18]
shrd edx, ebx, 0x10
xor ecx, dword [ebp - 0x1c]
shld esi, ebx, 0x10
mov ebx, dword [ebp - 0x10]
xor esi, edi
xor edx, ebx
add edi, eax
adc ebx, ecx
shrd ecx, eax, 0xf
shld esi, edx, 0x15
xor esi, ecx
mov ecx, ebx
mov ebx, dword [ebp - 0x88]
xor ecx, edi
mov edi, dword [ebp - 0x5c]
xor ecx, esi
mov dword [ebp - 0x10], ecx
mov eax, edi
and eax, ecx
movdqu xmm0, xmmword [ebx + eax]
mov edx, eax
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x48c314
mov esi, 0x10
mov edx, eax
nop word cs:[eax + eax]
add edx, esi
add esi, 0x10
and edx, edi
movdqu xmm0, xmmword [ebx + edx]
pmovmskb ecx, xmm0
test ecx, ecx
je 0x48c300
tzcnt ecx, ecx
add ecx, edx
and ecx, edi
cmp byte [ebx + ecx], 0
js 0x48c32e
movdqa xmm0, xmmword [ebx]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
mov edx, dword [ebp - 0x50]
mov esi, ecx
sub esi, eax
sub edx, eax
xor esi, edx
and esi, edi
cmp esi, 0x10
jb 0x48bd60
movzx eax, byte [ebx + ecx]
mov edx, dword [ebp - 0x10]
mov byte [ebp - 0x18], al
lea eax, [ecx - 0x10]
shr edx, 0x19
and eax, edi
mov byte [ebx + ecx], dl
mov byte [ebx + eax + 0x10], dl
mov eax, ecx
not eax
imul eax, eax, 0x34
add eax, ebx
cmp byte [ebp - 0x18], 0xff
je 0x48c3b0
imul ecx, ecx, 0xffffffcc
add ecx, ebx
cmp dword [ebp - 0x80], ecx
setae dl
cmp eax, dword [ebp - 0x84]
setae dh
or dh, dl
jne 0x48bdc0
mov esi, dword [ebp - 0x58]
mov eax, 0xffffffcc
movzx edx, byte [esi + eax]
mov dh, byte [ecx + eax]
mov byte [esi + eax], dh
mov byte [ecx + eax], dl
inc eax
jne 0x48c390
jmp 0x48bdff
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x54]
lea ecx, [edx - 0x10]
mov byte [ebx + edx], 0xff
and ecx, edi
mov byte [ebx + ecx + 0x10], 0xff
mov ecx, dword [esi + 0x30]
mov dword [eax + 0x30], ecx
movsd xmm0, qword [esi + 0x28]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esi + 0x20]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esi + 0x18]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esi]
movq xmm1, qword [esi + 8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jmp 0x48bd75
mov ecx, dword [ebp - 0x78]
cmp edi, 8
cmovb ecx, edi
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x44]
mov dword [eax + 8], ecx
jmp 0x48c6ce
cmp ecx, 0x1fffffff
ja 0x48c6de
shl ecx, 3
mov edx, 0x24924925
mov eax, ecx
mul edx
mov eax, 0xffffffff
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 2
dec ecx
bsr ecx, ecx
not ecx
shr eax, cl
inc eax
mov ecx, 0x34
mov dword [ebp - 0x10], eax
mul ecx
jo 0x48c6de
mov ebx, eax
cmp eax, 0xfffffff0
ja 0x48c6de
mov eax, dword [ebp - 0x10]
add ebx, 0xf
and ebx, 0xfffffff0
mov esi, ebx
lea edi, [eax + 0x10]
add esi, edi
jb 0x48c6de
cmp esi, 0x7ffffff1
jae 0x48c6de
movzx eax, byte [0x5e1184]
lea edx, [esi + 0x10]
xor ecx, ecx
call sym.std::sys::alloc::windows::process_heap_alloc::hc2bfe060f1f208f4
test eax, eax
je 0x48c6e3
mov ecx, eax
and ecx, 0xfffffff0
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x10]
mov esi, eax
mov edx, eax
shr esi, 3
and edx, 0xfffffff8
sub edx, esi
cmp eax, 9
lea eax, [eax - 1]
lea esi, [ecx + ebx + 0x10]
cmovb edx, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], edx
push edi
push 0xff
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x48c682
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], esi
mov ebx, dword [eax]
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
movdqa xmm0, xmmword [ebx]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], edx
mov edx, dword [eax + 4]
pmovmskb edi, xmm0
not edi
mov dword [ebp - 0x38], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
lea eax, [ebx - 0x34]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x40], eax
mov eax, edi
xor edi, edi
jmp 0x48c5c7
mov eax, dword [ebp - 0x28]
lea ecx, [edx - 0x10]
and ecx, dword [ebp - 0x10]
shr eax, 0x19
mov byte [esi + edx], al
mov byte [esi + ecx + 0x10], al
mov eax, dword [ebp - 0x20]
not edx
imul edx, edx, 0x34
lea ecx, [eax - 1]
and ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
not eax
imul ecx, eax, 0x34
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], ecx
mov esi, dword [eax + ecx + 0x30]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + edx + 0x30], esi
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
movsd xmm0, qword [eax + ecx + 0x28]
movsd qword [esi + edx + 0x28], xmm0
movsd xmm0, qword [eax + ecx + 0x20]
movsd qword [esi + edx + 0x20], xmm0
movsd xmm0, qword [eax + ecx + 0x18]
movsd qword [esi + edx + 0x18], xmm0
movsd xmm0, qword [eax + ecx + 0x10]
movsd qword [esi + edx + 0x10], xmm0
movq xmm0, qword [eax + ecx]
movq xmm1, qword [eax + ecx + 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
dec ecx
movq qword [esi + edx + 8], xmm1
movq qword [esi + edx], xmm0
test ecx, ecx
je 0x48c67d
test ax, ax
mov dword [ebp - 0x1c], ecx
jne 0x48c5e8
nop
movdqa xmm0, xmmword [ebx + 0x10]
add ebx, 0x10
add edi, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x48c5d0
not eax
mov dword [ebp - 0x20], eax
tzcnt eax, eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x40]
add eax, edi
mov dword [ebp - 0x14], eax
neg eax
imul eax, eax, 0x34
push dword [esi + eax + 8]
push dword [esi + eax + 4]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call sym.core::hash::BuildHasher::hash_one::h59206d0345ab64e5
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
and ecx, eax
movdqu xmm0, xmmword [esi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x48c657
mov eax, esi
mov esi, 0x10
nop word [eax + eax]
add ecx, esi
add esi, 0x10
and ecx, dword [ebp - 0x10]
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x48c640
mov esi, eax
mov eax, dword [ebp - 0x10]
tzcnt edx, edx
add edx, ecx
and edx, eax
cmp byte [esi + edx], 0
js 0x48c530
movdqa xmm0, xmmword [esi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x48c530
mov eax, dword [ebp - 0x44]
jmp 0x48c68a
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax], esi
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x4c]
test esi, esi
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
je 0x48c6ce
mov eax, dword [ebp - 0x48]
mov ecx, 0x34
mul ecx
add eax, 0xf
and eax, 0xfffffff0
add esi, eax
cmp esi, 0xffffffef
je 0x48c6ce
mov ecx, dword [ebp - 0x24]
sub ecx, eax
push dword [ecx - 4]
push 0
push dword [0x5e1120]
call sub.kernel32.dll_HeapFree
mov eax, 0x80000001
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
call sym.hashbrown::raw::Fallibility::capacity_overflow::h50fb492d86689e9e
mov ecx, esi
call sym.hashbrown::raw::Fallibility::alloc_err::h62d338f40d67072d
nop word [eax + eax]