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

Disassembly:
mov ecx, dword [0x5e3958]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x4b5a59
sub esp, 0xc0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea ebx, [eax + 0xbc]
mov dword [esp + 0xac], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
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 0x4b4bdb
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x5b8a20], ecx
jne 0x4b4b32
mov dword [esp + 0x8c], edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x20]
mov edx, dword [0x5b8a24]
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 0x4b4b27
mov eax, dword [0x5b8a28]
mov edx, dword [0x5b8a2c]
jmp 0x4b4b32
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x88], edx
cmp dword [0x5b8a20], eax
jne 0x4b4b71
mov ecx, dword [0x5b8a24]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b4b71
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x88]
jmp 0x4b4bc6
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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 [0x5e3a60]
test ecx, ecx
jne 0x4b4baf
mov ecx, dword [esp + 0x88]
jmp 0x4b4bbd
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x88]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov eax, dword [esp + 0xc4]
movzx ecx, word [eax + 0xbc]
movzx ebx, byte [eax + 0xbe]
shl ebx, 0x10
or ecx, ebx
mov ebx, ecx
shr ebx, 3
cmp ebx, 0x20000
jg 0x4b4c15
mov ebp, dword [eax + 0x48]
test ebp, ebp
jle 0x4b4ceb
cmp ebp, ebx
jge 0x4b4ceb
lea eax, [0x4e6560]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xa8], eax
mov dword [eax + 4], 0x14
lea ecx, [0x5010a4]
mov dword [eax], ecx
lea ecx, [0x5281f8]
cmp dword [0x5b8a20], ecx
jne 0x4b4c79
mov edx, dword [0x5b8a24]
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 0x4b4c79
lea ecx, [0x5281f8]
mov eax, dword [esp + 0xa8]
jmp 0x4b4cd6
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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, [0x5281f8]
mov dword [eax + 8], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
jne 0x4b4cbf
mov ecx, dword [esp + 0xa8]
jmp 0x4b4ccd
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xa8]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov dword [esp + 0x30], ecx
mov dword [esp + 0x68], ebx
mov ebp, ecx
shr ecx, 1
and ecx, 3
cmp ecx, 1
ja 0x4b5146
test ecx, ecx
jne 0x4b4f35
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x4b4dc6
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x4b5a53
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x4b4d5e
mov dword [esp + 0x2c], ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x4e2b00]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0xa4], edx
sub ecx, ebx
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym.runtime.memclrNoHeapPointers
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x24], eax
mov eax, dword [0x5e3a60]
test eax, eax
jne 0x4b4da5
mov eax, dword [esp + 0xa4]
jmp 0x4b4db9
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0xa4]
mov dword [edi], eax
mov ebx, dword [ecx + 0x1c]
mov dword [edi + 4], ebx
mov dword [ecx + 0x1c], eax
mov eax, ecx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x30]
mov edx, dword [eax + 0x24]
cmp edx, ebx
jb 0x4b5a4c
mov dword [eax + 0x20], ebx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebp, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b4f0d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x5b8a20], ecx
jne 0x4b4e5e
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
mov edx, dword [0x5b8a24]
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 0x4b4e53
mov eax, dword [0x5b8a28]
mov edx, dword [0x5b8a2c]
jmp 0x4b4e5e
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x80], edx
mov dword [esp + 0x48], eax
cmp dword [0x5b8a20], eax
jne 0x4b4e9d
mov ecx, dword [0x5b8a24]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b4e9d
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x80]
jmp 0x4b4ef8
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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 [0x5e3a60]
test ecx, ecx
jne 0x4b4ee1
mov ecx, dword [esp + 0x80]
jmp 0x4b4eef
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov edx, dword [esp + 0x68]
add edx, 3
mov ebx, dword [esp + 0xc4]
mov ebp, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
mov edi, edx
sar edx, 0x1f
add ebp, edi
mov dword [ebx + 0x14], ebp
adc edx, esi
mov dword [ebx + 0x18], edx
jmp 0x4b528e
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x4b4ff0
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x4b5a47
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x4b4f88
mov dword [esp + 0x28], ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x4e2b00]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ecx
sub ecx, ebx
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym.runtime.memclrNoHeapPointers
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x24], eax
mov eax, dword [0x5e3a60]
test eax, eax
jne 0x4b4fcf
mov eax, dword [esp + 0xa4]
jmp 0x4b4fe3
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0xa4]
mov dword [edi], eax
mov ebx, dword [ecx + 0x1c]
mov dword [edi + 4], ebx
mov dword [ecx + 0x1c], eax
mov eax, ecx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x30]
mov edx, dword [eax + 0x24]
cmp edx, ebx
jb 0x4b5a40
mov dword [eax + 0x20], ebx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xac]
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 0x4b5052
mov edx, dword [esp + 0xc4]
movzx ebx, byte [edx + 0xbc]
mov ebp, dword [edx + 0x20]
xor eax, eax
jmp 0x4b5a10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x5b8a20], ecx
jne 0x4b50a3
mov dword [esp + 0x7c], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov edx, dword [0x5b8a24]
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 0x4b509b
mov eax, dword [0x5b8a28]
mov edx, dword [0x5b8a2c]
jmp 0x4b50a3
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x40], eax
cmp dword [0x5b8a20], eax
jne 0x4b50dc
mov ecx, dword [0x5b8a24]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b50dc
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x78]
jmp 0x4b5131
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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 [0x5e3a60]
test ecx, ecx
jne 0x4b511d
mov ecx, dword [esp + 0x78]
jmp 0x4b5128
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
cmp ecx, 2
jne 0x4b51b8
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 0x4b519b
mov ebx, dword [esp + 0xc4]
mov ebp, dword [ebx + 0x14]
mov esi, dword [ebx + 0x18]
mov edi, dword [esp + 0x68]
mov eax, edi
sar edi, 0x1f
add eax, ebp
mov dword [ebx + 0x14], eax
adc edi, esi
mov dword [ebx + 0x18], edi
mov edi, 3
jmp 0x4b528e
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xc0
ret
lea eax, [0x4e6560]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xa0], eax
mov dword [eax + 4], 0x12
lea ecx, [0x500314]
mov dword [eax], ecx
lea ecx, [0x5281f8]
cmp dword [0x5b8a20], ecx
jne 0x4b521c
mov edx, dword [0x5b8a24]
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 0x4b521c
lea ecx, [0x5281f8]
mov eax, dword [esp + 0xa0]
jmp 0x4b5279
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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, [0x5281f8]
mov dword [eax + 8], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
jne 0x4b5262
mov ecx, dword [esp + 0xa0]
jmp 0x4b5270
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xa0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov dword [esp + 0x24], edi
movzx edx, byte [ebx + 0xb]
test dl, dl
jne 0x4b52dd
mov edx, dword [ebx + 0x20]
mov ebp, edx
sar edx, 0x1f
mov esi, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x68], eax
cmp eax, edx
setb cl
xchg edi, ebx
sete bl
xchg edi, ebx
cmp ebp, esi
seta al
and edi, eax
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4b5920
sub esi, ebp
mov dword [ebx + 0xc], esi
mov ebp, dword [esp + 0x68]
sbb ebp, edx
mov dword [ebx + 0x10], ebp
mov edi, dword [esp + 0x24]
movzx edx, byte [ebx + 9]
test dl, dl
je 0x4b5313
lea eax, [ebx + 0xd8]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
mov ebp, dword [ebx + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call sym.internal_zstd._xxhash64_.update
mov ebx, dword [esp + 0xc4]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
test edx, 1
je 0x4b5708
movzx eax, byte [ebx + 0xb]
test al, al
jne 0x4b5345
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
setne cl
test eax, eax
setne al
or ecx, eax
test cl, cl
jne 0x4b562b
movzx eax, byte [ebx + 9]
test al, al
je 0x4b54c6
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
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 0x4b547f
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x5b8a20], ecx
jne 0x4b53e2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x20]
mov edx, dword [0x5b8a24]
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 0x4b53da
mov eax, dword [0x5b8a28]
mov edx, dword [0x5b8a2c]
jmp 0x4b53e2
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x70], edx
mov dword [esp + 0x38], eax
cmp dword [0x5b8a20], eax
jne 0x4b541b
mov ecx, dword [0x5b8a24]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b541b
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
jmp 0x4b546a
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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 [0x5e3a60]
test ecx, ecx
jne 0x4b5456
mov ecx, dword [esp + 0x70]
jmp 0x4b5461
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov eax, dword [esp + 0xc4]
lea ecx, [eax + 0xd8]
mov edx, dword [eax + 0xbc]
mov dword [esp + 0x68], edx
nop
mov dword [esp], ecx
call sym.internal_zstd._xxhash64_.digest
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jne 0x4b54cf
mov eax, dword [esp + 0xc4]
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 ebx, eax
mov byte [ebx + 8], 0
jmp 0x4b5903
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2ac0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x4e2ac0]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
lea eax, [0x505a96]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0xb0]
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 ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x9c], ebx
cmp dword [0x5b8a20], eax
jne 0x4b55c4
mov dword [esp + 0x34], edx
mov ecx, dword [0x5b8a24]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4b55c4
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x6c]
jmp 0x4b5616
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x9c]
mov dword [eax + 8], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
jne 0x4b5602
mov ecx, dword [esp + 0x6c]
jmp 0x4b560d
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
lea eax, [0x4e6560]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov dword [eax + 4], 0x27
lea ecx, [0x506a7f]
mov dword [eax], ecx
lea ecx, [0x5281f8]
cmp dword [0x5b8a20], ecx
jne 0x4b568f
mov edx, dword [0x5b8a24]
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 0x4b568f
lea ecx, [0x5281f8]
mov eax, dword [esp + 0x98]
jmp 0x4b56f3
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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, [0x5281f8]
mov dword [eax + 8], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
jne 0x4b56dc
mov ecx, dword [esp + 0x98]
jmp 0x4b56ea
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov edx, dword [ebx + 0x48]
test edx, edx
je 0x4b5903
mov eax, dword [ebx + 0x20]
mov ebp, dword [ebx + 0x1c]
cmp edx, eax
jg 0x4b57ee
mov ecx, eax
sub eax, edx
cmp ecx, eax
jb 0x4b5a04
mov edx, dword [ebx + 0x24]
mov esi, dword [ebx + 0x54]
sub ecx, eax
sub edx, eax
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [ebx + 0x4c]
add eax, ebp
cmp esi, ecx
jb 0x4b574b
mov ebp, ecx
jmp 0x4b578b
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xa4], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
lea eax, [0x4e2b00]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xa4]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ecx
mov dword [esp + 0xa4], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x54], eax
mov eax, dword [0x5e3a60]
test eax, eax
jne 0x4b57d2
mov eax, dword [esp + 0xa4]
jmp 0x4b57e6
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0xa4]
mov dword [edi], eax
mov edx, dword [ecx + 0x4c]
mov dword [edi + 4], edx
mov dword [ecx + 0x4c], eax
jmp 0x4b5903
mov dword [esp + 0x58], eax
mov dword [esp + 0x90], ebp
sub edx, eax
mov ecx, dword [ebx + 0x50]
cmp ecx, edx
jle 0x4b5856
mov esi, ecx
sub esi, edx
cmp ecx, esi
jb 0x4b59fd
mov dword [esp + 0x64], ecx
mov edx, dword [ebx + 0x54]
mov edi, dword [ebx + 0x4c]
sub ecx, esi
sub edx, esi
neg edx
sar edx, 0x1f
and edx, esi
lea esi, [edx + edi]
mov ebp, dword [esp + 0x64]
cmp ebp, ecx
jg 0x4b5830
mov ecx, ebp
test edx, edx
je 0x4b584f
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x90]
mov ecx, dword [ebx + 0x54]
mov edx, dword [ebx + 0x50]
lea esi, [edx + eax]
mov edi, dword [ebx + 0x4c]
cmp ecx, esi
jae 0x4b58a3
mov dword [esp + 0x64], edx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea ecx, [0x4e2b00]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0xa4], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ecx
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call sym.runtime.memmove
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x54], eax
mov eax, dword [0x5e3a60]
test eax, eax
jne 0x4b58ec
mov eax, dword [esp + 0xa4]
jmp 0x4b5900
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0xa4]
mov dword [edi], eax
mov edx, dword [ecx + 0x4c]
mov dword [edi + 4], edx
mov dword [ecx + 0x4c], eax
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
add esp, 0xc0
ret
lea eax, [0x4e6560]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov dword [eax + 4], 0x24
lea ecx, [0x506238]
mov dword [eax], ecx
lea ecx, [0x5281f8]
cmp dword [0x5b8a20], ecx
jne 0x4b5984
mov edx, dword [0x5b8a24]
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 0x4b5984
lea ecx, [0x5281f8]
mov eax, dword [esp + 0x94]
jmp 0x4b59e8
lea eax, [0x4ea3a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc4]
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, [0x5281f8]
mov dword [eax + 8], ecx
mov ecx, dword [0x5e3a60]
test ecx, ecx
jne 0x4b59d1
mov ecx, dword [esp + 0x94]
jmp 0x4b59df
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5284a0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov eax, esi
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
mov esi, dword [edx + 0x1c]
mov byte [esi + eax], bl
inc eax
cmp eax, ebp
jge 0x4b5a1d
mov ecx, dword [edx + 0x20]
cmp eax, ecx
jb 0x4b5a09
jmp 0x4b5a3b
mov ebp, dword [edx + 0x14]
mov esi, dword [edx + 0x18]
add ebp, 4
mov dword [edx + 0x14], ebp
adc esi, 0
mov dword [edx + 0x18], esi
mov ebx, edx
mov edi, 4
jmp 0x4b528e
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAcap
call sym.runtime.panicmakeslicelen
mov ecx, ebx
call sym.runtime.panicSliceAcap
call sym.runtime.panicmakeslicelen
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._Reader_.readBlock