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

Disassembly:
mov ecx, dword [0x646590]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x4e025f
sub esp, 0xb4
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
lea ebx, [eax + 0xc0]
mov dword [esp + 0xa0], 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 0x4df603
mov ecx, dword [esp + 0x20]
cmp dword [0x5eedf8], eax
jne 0x4df55a
mov dword [esp + 0x88], ecx
mov dword [esp + 0x54], eax
mov edx, dword [0x5eedfc]
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 0x4df54f
mov eax, dword [0x5eee00]
mov ecx, dword [0x5eee04]
jmp 0x4df55a
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x50], eax
mov dword [esp + 0x84], ecx
cmp dword [0x5eedf8], eax
jne 0x4df599
mov edx, dword [0x5eedfc]
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 0x4df599
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x84]
jmp 0x4df5ee
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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 [0x646638]
test ecx, ecx
jne 0x4df5d7
mov ecx, dword [esp + 0x84]
jmp 0x4df5e5
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x84]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
mov eax, dword [esp + 0xb8]
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 0x4df63d
mov ebp, dword [eax + 0x48]
test ebp, ebp
jle 0x4df713
cmp ebp, ebx
jge 0x4df713
lea eax, [0x511ac0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov dword [eax + 4], 0x14
lea ecx, [0x52d238]
mov dword [eax], ecx
lea ecx, [0x555a00]
cmp dword [0x5eedf8], ecx
jne 0x4df6a1
mov edx, dword [0x5eedfc]
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 0x4df6a1
lea ecx, [0x555a00]
mov eax, dword [esp + 0x9c]
jmp 0x4df6fe
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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, [0x555a00]
mov dword [eax + 8], ecx
mov ecx, dword [0x646638]
test ecx, ecx
jne 0x4df6e7
mov ecx, dword [esp + 0x9c]
jmp 0x4df6f5
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x9c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
mov dword [esp + 0x30], ecx
mov dword [esp + 0x64], ebx
mov ebp, ecx
shr ecx, 1
and ecx, 3
cmp ecx, 1
ja 0x4dfb52
test ecx, ecx
jne 0x4df949
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x4df7ee
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x4e0259
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x4df786
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, [0x50de00]
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 + 0x60], ecx
mov dword [esp + 0x98], edx
mov dword [esp + 0x5c], esi
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 + 0xb8]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x24], eax
mov eax, dword [0x646638]
test eax, eax
jne 0x4df7cd
mov eax, dword [esp + 0x98]
jmp 0x4df7e1
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x98]
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 + 0x64]
mov ebp, dword [esp + 0x30]
mov edx, dword [eax + 0x24]
cmp edx, ebx
jb 0x4e0252
mov dword [eax + 0x20], ebx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebp, dword [eax + 0x1c]
mov esi, dword [eax + 0x24]
mov dword [esp], edx
mov dword [esp + 4], ecx
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 0x4df921
mov ecx, dword [esp + 0x20]
cmp dword [0x5eedf8], eax
jne 0x4df87e
mov dword [esp + 0x80], ecx
mov dword [esp + 0x4c], eax
mov edx, dword [0x5eedfc]
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 0x4df873
mov eax, dword [0x5eee00]
mov ecx, dword [0x5eee04]
jmp 0x4df87e
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x48], eax
cmp dword [0x5eedf8], eax
jne 0x4df8b7
mov edx, dword [0x5eedfc]
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 0x4df8b7
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x7c]
jmp 0x4df90c
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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 [0x646638]
test ecx, ecx
jne 0x4df8f8
mov ecx, dword [esp + 0x7c]
jmp 0x4df903
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
mov eax, dword [esp + 0x64]
add eax, 3
mov ecx, dword [esp + 0xb8]
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 0x4dfc96
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x4dfa04
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x4e024d
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x4df99c
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, [0x50de00]
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 + 0x60], esi
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x98], edx
sub ecx, ebx
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym.runtime.memclrNoHeapPointers
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x24], eax
mov eax, dword [0x646638]
test eax, eax
jne 0x4df9e3
mov eax, dword [esp + 0x98]
jmp 0x4df9f7
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x98]
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 + 0x64]
mov ebp, dword [esp + 0x30]
mov edx, dword [eax + 0x24]
cmp edx, ebx
jb 0x4e0246
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 + 0xa0]
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 0x4dfa66
mov edx, dword [esp + 0xb8]
movzx ebx, byte [edx + 0xc0]
mov ebp, dword [edx + 0x20]
xor eax, eax
jmp 0x4e0216
mov ecx, dword [esp + 0x20]
cmp dword [0x5eedf8], eax
jne 0x4dfaaf
mov dword [esp + 0x78], ecx
mov dword [esp + 0x44], eax
mov edx, dword [0x5eedfc]
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 0x4dfaa7
mov eax, dword [0x5eee00]
mov ecx, dword [0x5eee04]
jmp 0x4dfaaf
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x40], eax
cmp dword [0x5eedf8], eax
jne 0x4dfae8
mov edx, dword [0x5eedfc]
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 0x4dfae8
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
jmp 0x4dfb3d
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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 [0x646638]
test ecx, ecx
jne 0x4dfb29
mov ecx, dword [esp + 0x74]
jmp 0x4dfb34
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x74]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
cmp ecx, 2
jne 0x4dfbc0
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 0x4dfba7
mov ecx, dword [esp + 0xb8]
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 0x4dfc96
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb4
ret
lea eax, [0x511ac0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov dword [eax + 4], 0x12
lea ecx, [0x52c494]
mov dword [eax], ecx
lea ecx, [0x555a00]
cmp dword [0x5eedf8], ecx
jne 0x4dfc24
mov edx, dword [0x5eedfc]
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 0x4dfc24
lea ecx, [0x555a00]
mov eax, dword [esp + 0x94]
jmp 0x4dfc81
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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, [0x555a00]
mov dword [eax + 8], ecx
mov ecx, dword [0x646638]
test ecx, ecx
jne 0x4dfc6a
mov ecx, dword [esp + 0x94]
jmp 0x4dfc78
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
mov dword [esp + 0x24], ebp
movzx eax, byte [ecx + 0xb]
test al, al
jne 0x4dfce9
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 0x4e0132
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 0x4dfd1f
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 + 0xb8]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
test eax, 1
je 0x4e00f5
movzx eax, byte [ecx + 0xb]
test al, al
jne 0x4dfd50
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 0x4e0018
movzx eax, byte [ecx + 9]
test al, al
je 0x4dfec9
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
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 0x4dfe82
mov ecx, dword [esp + 0x20]
cmp dword [0x5eedf8], eax
jne 0x4dfde5
mov dword [esp + 0x70], ecx
mov dword [esp + 0x3c], eax
mov edx, dword [0x5eedfc]
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 0x4dfddd
mov eax, dword [0x5eee00]
mov ecx, dword [0x5eee04]
jmp 0x4dfde5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x38], eax
mov dword [esp + 0x6c], ecx
cmp dword [0x5eedf8], eax
jne 0x4dfe1e
mov edx, dword [0x5eedfc]
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 0x4dfe1e
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x6c]
jmp 0x4dfe6d
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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 [0x646638]
test ecx, ecx
jne 0x4dfe59
mov ecx, dword [esp + 0x6c]
jmp 0x4dfe64
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
mov eax, dword [esp + 0xb8]
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 0x4dfed2
mov eax, dword [esp + 0xb8]
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 0x4e0115
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x50df00]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x50df00]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x531c4b]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0xa4]
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 [0x5eedf8], eax
jne 0x4dffb4
mov edx, dword [0x5eedfc]
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 0x4dffb4
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x68]
jmp 0x4e0003
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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 [0x646638]
test ecx, ecx
jne 0x4dffef
mov ecx, dword [esp + 0x68]
jmp 0x4dfffa
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
lea eax, [0x511ac0]
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, [0x532c35]
mov dword [eax], ecx
lea ecx, [0x555a00]
cmp dword [0x5eedf8], ecx
jne 0x4e007c
mov edx, dword [0x5eedfc]
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 0x4e007c
lea ecx, [0x555a00]
mov eax, dword [esp + 0x90]
jmp 0x4e00e0
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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, [0x555a00]
mov dword [eax + 8], ecx
mov ecx, dword [0x646638]
test ecx, ecx
jne 0x4e00c9
mov ecx, dword [esp + 0x90]
jmp 0x4e00d7
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
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 + 0xbc], 0
mov dword [esp + 0xc0], 0
add esp, 0xb4
ret
lea eax, [0x511ac0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov dword [eax + 4], 0x24
lea ecx, [0x5323ed]
mov dword [eax], ecx
lea ecx, [0x555a00]
cmp dword [0x5eedf8], ecx
jne 0x4e0196
mov edx, dword [0x5eedfc]
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 0x4e0196
lea ecx, [0x555a00]
mov eax, dword [esp + 0x8c]
jmp 0x4e01fa
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb8]
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, [0x555a00]
mov dword [eax + 8], ecx
mov ecx, dword [0x646638]
test ecx, ecx
jne 0x4e01e3
mov ecx, dword [esp + 0x8c]
jmp 0x4e01f1
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x8c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
mov esi, dword [edx + 0x1c]
mov byte [esi + eax], bl
inc eax
cmp eax, ebp
jge 0x4e0223
mov ecx, dword [edx + 0x20]
cmp eax, ecx
jb 0x4e020f
jmp 0x4e0241
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 0x4dfc96
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