Function at 0x541b90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x542951
sub esp, 0xa8
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
lea ebx, [eax + 0xc0]
mov dword [esp + 0x94], ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x10
mov dword [esp + 0x14], 3
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x541cf3
mov ecx, dword [esp + 0x20]
cmp dword [0x786140], eax
jne 0x541c4a
mov dword [esp + 0x88], ecx
mov dword [esp + 0x54], eax
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x541c3f
mov eax, dword [0x786148]
mov ecx, dword [0x78614c]
jmp 0x541c4a
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x50], eax
mov dword [esp + 0x84], ecx
cmp dword [0x786140], eax
jne 0x541c89
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x541c89
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x84]
jmp 0x541cde
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x541cc7
mov ecx, dword [esp + 0x84]
jmp 0x541cd5
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x84]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
mov eax, dword [esp + 0xac]
movzx ecx, word [eax + 0xc0]
movzx ebx, byte [eax + 0xc2]
shl ebx, 0x10
or ecx, ebx
mov ebx, ecx
shr ebx, 3
cmp ebx, 0x20000
jg 0x541d2d
mov ebp, dword [eax + 0x48]
test ebp, ebp
jle 0x541e03
cmp ebp, ebx
jge 0x541e03
lea eax, [0x5f41a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [eax + 4], 0x14
lea ecx, [0x6243a0]
mov dword [eax], ecx
lea ecx, [0x66e144]
cmp dword [0x786140], ecx
jne 0x541d91
mov edx, dword [0x786144]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x541d91
lea ecx, [0x66e144]
mov eax, dword [esp + 0x90]
jmp 0x541dee
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
add edx, 3
mov dword [eax], edx
adc ecx, 0
mov dword [eax + 4], ecx
lea ecx, [0x66e144]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x541dd7
mov ecx, dword [esp + 0x90]
jmp 0x541de5
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
mov dword [esp + 0x30], ecx
mov dword [esp + 0x64], ebx
mov ebp, ecx
shr ecx, 1
and ecx, 3
cmp ecx, 1
ja 0x542248
test ecx, ecx
jne 0x54203c
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x541edf
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x54294b
mov edi, dword [eax + 0x1c]
je 0x541eb7
cmp esi, ecx
jae 0x541e78
mov dword [esp + 0x2c], ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x5ed720]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ecx
sub ecx, ebx
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym.runtime.memclrNoHeapPointers
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x8c]
jmp 0x541eb9
mov edx, esi
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], esi
mov ebx, dword [0x7b12d0]
test ebx, ebx
je 0x541eda
mov edx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x1c]
mov dword [edi + 4], ebx
mov edi, edx
mov dword [eax + 0x1c], edi
jmp 0x541ee1
mov ecx, ebx
mov edx, dword [eax + 0x24]
cmp edx, ecx
jb 0x542946
mov dword [eax + 0x20], ecx
mov edx, dword [eax + 4]
mov ebx, dword [eax]
mov ebp, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x542014
mov ecx, dword [esp + 0x20]
cmp dword [0x786140], eax
jne 0x541f71
mov dword [esp + 0x80], ecx
mov dword [esp + 0x4c], eax
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x541f66
mov eax, dword [0x786148]
mov ecx, dword [0x78614c]
jmp 0x541f71
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x48], eax
cmp dword [0x786140], eax
jne 0x541faa
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x541faa
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x7c]
jmp 0x541fff
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
add edx, 3
mov dword [eax], edx
adc ecx, 0
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x541feb
mov ecx, dword [esp + 0x7c]
jmp 0x541ff6
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
mov eax, dword [esp + 0x64]
add eax, 3
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov ebp, eax
sar eax, 0x1f
add edx, ebp
mov dword [ecx + 0x14], edx
adc ebx, eax
mov dword [ecx + 0x18], ebx
jmp 0x54238c
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x5420f8
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x542941
mov edi, dword [eax + 0x1c]
je 0x5420d0
cmp esi, ecx
jae 0x542091
mov dword [esp + 0x28], ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x5ed720]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x8c], edi
sub ecx, ebx
add ecx, edi
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym.runtime.memclrNoHeapPointers
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x8c]
jmp 0x5420d2
mov edx, esi
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], esi
mov ebx, dword [0x7b12d0]
test ebx, ebx
je 0x5420f3
mov edx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [eax + 0x1c]
mov dword [edi + 4], ebx
mov edi, edx
mov dword [eax + 0x1c], edi
jmp 0x5420fa
mov ecx, ebx
mov edx, dword [eax + 0x24]
cmp edx, ecx
jb 0x54293c
mov dword [eax + 0x20], ecx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0x10
mov dword [esp + 0x14], 1
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x54215c
mov edx, dword [esp + 0xac]
movzx ebx, byte [edx + 0xc0]
mov ebp, dword [edx + 0x20]
xor eax, eax
jmp 0x54290c
mov ecx, dword [esp + 0x20]
cmp dword [0x786140], eax
jne 0x5421a5
mov dword [esp + 0x78], ecx
mov dword [esp + 0x44], eax
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x54219d
mov eax, dword [0x786148]
mov ecx, dword [0x78614c]
jmp 0x5421a5
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x40], eax
cmp dword [0x786140], eax
jne 0x5421de
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x5421de
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
jmp 0x542233
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
add edx, 3
mov dword [eax], edx
adc ecx, 0
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x54221f
mov ecx, dword [esp + 0x74]
jmp 0x54222a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x74]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
cmp ecx, 2
jne 0x5422b6
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
add ecx, 3
mov dword [eax + 0x14], ecx
adc edx, 0
mov dword [eax + 0x18], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym.internal_zstd._Reader_.compressedBlock
mov eax, dword [esp + 8]
test eax, eax
jne 0x54229d
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [esp + 0x64]
mov esi, ebp
sar ebp, 0x1f
add esi, edx
mov dword [ecx + 0x14], esi
adc ebx, ebp
mov dword [ecx + 0x18], ebx
mov ebp, 3
jmp 0x54238c
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
add esp, 0xa8
ret
lea eax, [0x5f41a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [eax + 4], 0x12
lea ecx, [0x62326d]
mov dword [eax], ecx
lea ecx, [0x66e144]
cmp dword [0x786140], ecx
jne 0x54231a
mov edx, dword [0x786144]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x54231a
lea ecx, [0x66e144]
mov eax, dword [esp + 0x90]
jmp 0x542377
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
add edx, 3
mov dword [eax], edx
adc ecx, 0
mov dword [eax + 4], ecx
lea ecx, [0x66e144]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x542360
mov ecx, dword [esp + 0x90]
jmp 0x54236e
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
mov dword [esp + 0x24], ebp
movzx eax, byte [ecx + 0xb]
test al, al
jne 0x5423df
mov eax, dword [ecx + 0x20]
mov edx, eax
sar eax, 0x1f
mov dword [esp + 0x58], eax
mov ebx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
cmp esi, eax
xchg edi, ebx
sete bl
xchg edi, ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp ebx, edx
setb al
and edi, eax
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
jne 0x542828
sub ebx, edx
mov dword [ecx + 0xc], ebx
mov eax, dword [esp + 0x58]
sbb esi, eax
mov dword [ecx + 0x10], esi
mov ebp, dword [esp + 0x24]
movzx eax, byte [ecx + 9]
test al, al
je 0x542415
lea eax, [ecx + 0xdc]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call sym.internal_zstd._xxhash64_.update
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
test eax, 1
je 0x5427eb
movzx eax, byte [ecx + 0xb]
test al, al
jne 0x542446
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
test eax, eax
setne al
test edx, edx
setne dl
or edx, eax
test dl, dl
jne 0x54270e
movzx eax, byte [ecx + 9]
test al, al
je 0x5425bf
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 0x10
mov dword [esp + 0x14], 4
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x542578
mov ecx, dword [esp + 0x20]
cmp dword [0x786140], eax
jne 0x5424db
mov dword [esp + 0x70], ecx
mov dword [esp + 0x3c], eax
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x5424d3
mov eax, dword [0x786148]
mov ecx, dword [0x78614c]
jmp 0x5424db
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x38], eax
mov dword [esp + 0x6c], ecx
cmp dword [0x786140], eax
jne 0x542514
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x542514
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x6c]
jmp 0x542563
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x54254f
mov ecx, dword [esp + 0x6c]
jmp 0x54255a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
mov eax, dword [esp + 0xac]
lea ecx, [eax + 0xdc]
mov edx, dword [eax + 0xc0]
mov dword [esp + 0x64], edx
nop
mov dword [esp], ecx
call sym.internal_zstd._xxhash64_.digest
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jne 0x5425c8
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
add ecx, 4
mov dword [eax + 0x14], ecx
adc edx, 0
mov dword [eax + 0x18], edx
mov ecx, eax
mov byte [ecx + 8], 0
jmp 0x54280b
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5ed820]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5ed820]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
lea eax, [0x62b1c7]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x68], ecx
cmp dword [0x786140], eax
jne 0x5426aa
mov edx, dword [0x786144]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x5426aa
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x68]
jmp 0x5426f9
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x5426e5
mov ecx, dword [esp + 0x68]
jmp 0x5426f0
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
lea eax, [0x5f41a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [eax + 4], 0x27
lea ecx, [0x62cbc0]
mov dword [eax], ecx
lea ecx, [0x66e144]
cmp dword [0x786140], ecx
jne 0x542772
mov edx, dword [0x786144]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x542772
lea ecx, [0x66e144]
mov eax, dword [esp + 0x90]
jmp 0x5427d6
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x24]
mov ebp, ebx
sar ebx, 0x1f
add ebp, edx
mov dword [eax], ebp
adc ecx, ebx
mov dword [eax + 4], ecx
lea ecx, [0x66e144]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x5427bf
mov ecx, dword [esp + 0x90]
jmp 0x5427cd
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
lea eax, [ecx + 0x48]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call sym.internal_zstd._window_.save
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
add esp, 0xa8
ret
lea eax, [0x5f41a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [eax + 4], 0x24
lea ecx, [0x62bdb0]
mov dword [eax], ecx
lea ecx, [0x66e144]
cmp dword [0x786140], ecx
jne 0x54288c
mov edx, dword [0x786144]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x54288c
lea ecx, [0x66e144]
mov eax, dword [esp + 0x90]
jmp 0x5428f0
lea eax, [0x5faf40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x24]
mov ebp, ebx
sar ebx, 0x1f
add ebp, edx
mov dword [eax], ebp
adc ecx, ebx
mov dword [eax + 4], ecx
lea ecx, [0x66e144]
mov dword [eax + 8], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x5428d9
mov ecx, dword [esp + 0x90]
jmp 0x5428e7
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x66e4e0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0xa8
ret
mov esi, dword [edx + 0x1c]
mov byte [esi + eax], bl
inc eax
cmp eax, ebp
jge 0x542919
mov ecx, dword [edx + 0x20]
cmp eax, ecx
jb 0x542905
jmp 0x542937
mov eax, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
add eax, 4
mov dword [edx + 0x14], eax
adc ebx, 0
mov dword [edx + 0x18], ebx
mov ecx, edx
mov ebp, 4
jmp 0x54238c
call sym.runtime.panicIndex
call sym.runtime.panicSliceAcap
call sym.runtime.panicmakeslicelen
call sym.runtime.panicSliceAcap
call sym.runtime.panicmakeslicelen
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._Reader_.readBlock