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

Disassembly:
mov ecx, dword [0x6dded4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x5194d9
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 0x51865b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x688198], ecx
jne 0x5185b2
mov dword [esp + 0x8c], edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x20]
mov edx, dword [0x68819c]
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 0x5185a7
mov eax, dword [0x6881a0]
mov edx, dword [0x6881a4]
jmp 0x5185b2
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x88], edx
cmp dword [0x688198], eax
jne 0x5185f1
mov ecx, dword [0x68819c]
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 0x5185f1
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x88]
jmp 0x518646
lea eax, [0x55bb60]
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 [0x6ddfe0]
test ecx, ecx
jne 0x51862f
mov ecx, dword [esp + 0x88]
jmp 0x51863d
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x88]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
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 0x518695
mov ebp, dword [eax + 0x48]
test ebp, ebp
jle 0x51876b
cmp ebp, ebx
jge 0x51876b
lea eax, [0x555b00]
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, [0x5861e3]
mov dword [eax], ecx
lea ecx, [0x5b76e0]
cmp dword [0x688198], ecx
jne 0x5186f9
mov edx, dword [0x68819c]
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 0x5186f9
lea ecx, [0x5b76e0]
mov eax, dword [esp + 0xa8]
jmp 0x518756
lea eax, [0x55bb60]
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, [0x5b76e0]
mov dword [eax + 8], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x51873f
mov ecx, dword [esp + 0xa8]
jmp 0x51874d
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xa8]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
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 0x518bc6
test ecx, ecx
jne 0x5189b5
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x518846
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x5194d3
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x5187de
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, [0x550e00]
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 [0x6ddfe0]
test eax, eax
jne 0x518825
mov eax, dword [esp + 0xa4]
jmp 0x518839
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 0x5194cc
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 0x51898d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x688198], ecx
jne 0x5188de
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
mov edx, dword [0x68819c]
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 0x5188d3
mov eax, dword [0x6881a0]
mov edx, dword [0x6881a4]
jmp 0x5188de
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x80], edx
mov dword [esp + 0x48], eax
cmp dword [0x688198], eax
jne 0x51891d
mov ecx, dword [0x68819c]
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 0x51891d
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x80]
jmp 0x518978
lea eax, [0x55bb60]
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 [0x6ddfe0]
test ecx, ecx
jne 0x518961
mov ecx, dword [esp + 0x80]
jmp 0x51896f
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
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 0x518d0e
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x518a70
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x5194c7
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x518a08
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, [0x550e00]
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 [0x6ddfe0]
test eax, eax
jne 0x518a4f
mov eax, dword [esp + 0xa4]
jmp 0x518a63
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 0x5194c0
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 0x518ad2
mov edx, dword [esp + 0xc4]
movzx ebx, byte [edx + 0xbc]
mov ebp, dword [edx + 0x20]
xor eax, eax
jmp 0x519490
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x688198], ecx
jne 0x518b23
mov dword [esp + 0x7c], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov edx, dword [0x68819c]
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 0x518b1b
mov eax, dword [0x6881a0]
mov edx, dword [0x6881a4]
jmp 0x518b23
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x78], edx
mov dword [esp + 0x40], eax
cmp dword [0x688198], eax
jne 0x518b5c
mov ecx, dword [0x68819c]
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 0x518b5c
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x78]
jmp 0x518bb1
lea eax, [0x55bb60]
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 [0x6ddfe0]
test ecx, ecx
jne 0x518b9d
mov ecx, dword [esp + 0x78]
jmp 0x518ba8
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x78]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
cmp ecx, 2
jne 0x518c38
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 0x518c1b
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 0x518d0e
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, [0x555b00]
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, [0x58538f]
mov dword [eax], ecx
lea ecx, [0x5b76e0]
cmp dword [0x688198], ecx
jne 0x518c9c
mov edx, dword [0x68819c]
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 0x518c9c
lea ecx, [0x5b76e0]
mov eax, dword [esp + 0xa0]
jmp 0x518cf9
lea eax, [0x55bb60]
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, [0x5b76e0]
mov dword [eax + 8], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x518ce2
mov ecx, dword [esp + 0xa0]
jmp 0x518cf0
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xa0]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
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 0x518d5d
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 0x5193a0
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 0x518d93
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 0x519188
movzx eax, byte [ebx + 0xb]
test al, al
jne 0x518dc5
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 0x5190ab
movzx eax, byte [ebx + 9]
test al, al
je 0x518f46
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 0x518eff
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp dword [0x688198], ecx
jne 0x518e62
mov dword [esp + 0x3c], eax
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x20]
mov edx, dword [0x68819c]
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 0x518e5a
mov eax, dword [0x6881a0]
mov edx, dword [0x6881a4]
jmp 0x518e62
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x70], edx
mov dword [esp + 0x38], eax
cmp dword [0x688198], eax
jne 0x518e9b
mov ecx, dword [0x68819c]
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 0x518e9b
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x70]
jmp 0x518eea
lea eax, [0x55bb60]
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 [0x6ddfe0]
test ecx, ecx
jne 0x518ed6
mov ecx, dword [esp + 0x70]
jmp 0x518ee1
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
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 0x518f4f
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 0x519383
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, [0x550dc0]
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, [0x550dc0]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
lea eax, [0x58ae5f]
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 [0x688198], eax
jne 0x519044
mov dword [esp + 0x34], edx
mov ecx, dword [0x68819c]
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 0x519044
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x6c]
jmp 0x519096
lea eax, [0x55bb60]
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 [0x6ddfe0]
test ecx, ecx
jne 0x519082
mov ecx, dword [esp + 0x6c]
jmp 0x51908d
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
lea eax, [0x555b00]
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, [0x58bf99]
mov dword [eax], ecx
lea ecx, [0x5b76e0]
cmp dword [0x688198], ecx
jne 0x51910f
mov edx, dword [0x68819c]
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 0x51910f
lea ecx, [0x5b76e0]
mov eax, dword [esp + 0x98]
jmp 0x519173
lea eax, [0x55bb60]
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, [0x5b76e0]
mov dword [eax + 8], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x51915c
mov ecx, dword [esp + 0x98]
jmp 0x51916a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xc0
ret
mov edx, dword [ebx + 0x48]
test edx, edx
je 0x519383
mov eax, dword [ebx + 0x20]
mov ebp, dword [ebx + 0x1c]
cmp edx, eax
jg 0x51926e
mov ecx, eax
sub eax, edx
cmp ecx, eax
jb 0x519484
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 0x5191cb
mov ebp, ecx
jmp 0x51920b
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, [0x550e00]
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 [0x6ddfe0]
test eax, eax
jne 0x519252
mov eax, dword [esp + 0xa4]
jmp 0x519266
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 0x519383
mov dword [esp + 0x58], eax
mov dword [esp + 0x90], ebp
sub edx, eax
mov ecx, dword [ebx + 0x50]
cmp ecx, edx
jle 0x5192d6
mov esi, ecx
sub esi, edx
cmp ecx, esi
jb 0x51947d
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 0x5192b0
mov ecx, ebp
test edx, edx
je 0x5192cf
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 0x519323
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, [0x550e00]
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 [0x6ddfe0]
test eax, eax
jne 0x51936c
mov eax, dword [esp + 0xa4]
jmp 0x519380
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, [0x555b00]
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, [0x58b690]
mov dword [eax], ecx
lea ecx, [0x5b76e0]
cmp dword [0x688198], ecx
jne 0x519404
mov edx, dword [0x68819c]
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 0x519404
lea ecx, [0x5b76e0]
mov eax, dword [esp + 0x94]
jmp 0x519468
lea eax, [0x55bb60]
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, [0x5b76e0]
mov dword [eax + 8], ecx
mov ecx, dword [0x6ddfe0]
test ecx, ecx
jne 0x519451
mov ecx, dword [esp + 0x94]
jmp 0x51945f
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x5b7a28]
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 0x51949d
mov ecx, dword [edx + 0x20]
cmp eax, ecx
jb 0x519489
jmp 0x5194bb
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 0x518d0e
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