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

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x530adf
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 0x52fe83
mov ecx, dword [esp + 0x20]
cmp dword [0x72fae8], eax
jne 0x52fdda
mov dword [esp + 0x88], ecx
mov dword [esp + 0x54], eax
mov edx, dword [0x72faec]
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 0x52fdcf
mov eax, dword [0x72faf0]
mov ecx, dword [0x72faf4]
jmp 0x52fdda
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x50], eax
mov dword [esp + 0x84], ecx
cmp dword [0x72fae8], eax
jne 0x52fe19
mov edx, dword [0x72faec]
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 0x52fe19
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x84]
jmp 0x52fe6e
lea eax, [0x5ce8c0]
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 [0x776350]
test ecx, ecx
jne 0x52fe57
mov ecx, dword [esp + 0x84]
jmp 0x52fe65
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x84]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
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 0x52febd
mov ebp, dword [eax + 0x48]
test ebp, ebp
jle 0x52ff93
cmp ebp, ebx
jge 0x52ff93
lea eax, [0x5c87a0]
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, [0x5f2cbe]
mov dword [eax], ecx
lea ecx, [0x634a90]
cmp dword [0x72fae8], ecx
jne 0x52ff21
mov edx, dword [0x72faec]
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 0x52ff21
lea ecx, [0x634a90]
mov eax, dword [esp + 0x9c]
jmp 0x52ff7e
lea eax, [0x5ce8c0]
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, [0x634a90]
mov dword [eax + 8], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x52ff67
mov ecx, dword [esp + 0x9c]
jmp 0x52ff75
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x9c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
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 0x5303d2
test ecx, ecx
jne 0x5301c9
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x53006e
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x530ad9
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x530006
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, [0x5c2bc0]
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 [0x776350]
test eax, eax
jne 0x53004d
mov eax, dword [esp + 0x98]
jmp 0x530061
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 0x530ad2
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 0x5301a1
mov ecx, dword [esp + 0x20]
cmp dword [0x72fae8], eax
jne 0x5300fe
mov dword [esp + 0x80], ecx
mov dword [esp + 0x4c], eax
mov edx, dword [0x72faec]
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 0x5300f3
mov eax, dword [0x72faf0]
mov ecx, dword [0x72faf4]
jmp 0x5300fe
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x48], eax
cmp dword [0x72fae8], eax
jne 0x530137
mov edx, dword [0x72faec]
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 0x530137
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x7c]
jmp 0x53018c
lea eax, [0x5ce8c0]
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 [0x776350]
test ecx, ecx
jne 0x530178
mov ecx, dword [esp + 0x7c]
jmp 0x530183
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
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 0x530516
mov esi, dword [eax + 0x24]
nop
cmp esi, ebx
jge 0x530284
mov ecx, ebx
sub ebx, esi
test ebx, ebx
jl 0x530acd
mov edx, dword [eax + 0x1c]
cmp esi, ecx
jae 0x53021c
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, [0x5c2bc0]
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 [0x776350]
test eax, eax
jne 0x530263
mov eax, dword [esp + 0x98]
jmp 0x530277
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 0x530ac6
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 0x5302e6
mov edx, dword [esp + 0xb8]
movzx ebx, byte [edx + 0xc0]
mov ebp, dword [edx + 0x20]
xor eax, eax
jmp 0x530a96
mov ecx, dword [esp + 0x20]
cmp dword [0x72fae8], eax
jne 0x53032f
mov dword [esp + 0x78], ecx
mov dword [esp + 0x44], eax
mov edx, dword [0x72faec]
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 0x530327
mov eax, dword [0x72faf0]
mov ecx, dword [0x72faf4]
jmp 0x53032f
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x40], eax
cmp dword [0x72fae8], eax
jne 0x530368
mov edx, dword [0x72faec]
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 0x530368
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x74]
jmp 0x5303bd
lea eax, [0x5ce8c0]
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 [0x776350]
test ecx, ecx
jne 0x5303a9
mov ecx, dword [esp + 0x74]
jmp 0x5303b4
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x74]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
cmp ecx, 2
jne 0x530440
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 0x530427
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 0x530516
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb4
ret
lea eax, [0x5c87a0]
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, [0x5f1e57]
mov dword [eax], ecx
lea ecx, [0x634a90]
cmp dword [0x72fae8], ecx
jne 0x5304a4
mov edx, dword [0x72faec]
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 0x5304a4
lea ecx, [0x634a90]
mov eax, dword [esp + 0x94]
jmp 0x530501
lea eax, [0x5ce8c0]
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, [0x634a90]
mov dword [eax + 8], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x5304ea
mov ecx, dword [esp + 0x94]
jmp 0x5304f8
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
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 0x530569
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 0x5309b2
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 0x53059f
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 0x530975
movzx eax, byte [ecx + 0xb]
test al, al
jne 0x5305d0
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 0x530898
movzx eax, byte [ecx + 9]
test al, al
je 0x530749
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 0x530702
mov ecx, dword [esp + 0x20]
cmp dword [0x72fae8], eax
jne 0x530665
mov dword [esp + 0x70], ecx
mov dword [esp + 0x3c], eax
mov edx, dword [0x72faec]
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 0x53065d
mov eax, dword [0x72faf0]
mov ecx, dword [0x72faf4]
jmp 0x530665
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x38], eax
mov dword [esp + 0x6c], ecx
cmp dword [0x72fae8], eax
jne 0x53069e
mov edx, dword [0x72faec]
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 0x53069e
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x6c]
jmp 0x5306ed
lea eax, [0x5ce8c0]
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 [0x776350]
test ecx, ecx
jne 0x5306d9
mov ecx, dword [esp + 0x6c]
jmp 0x5306e4
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
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 0x530752
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 0x530995
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, [0x5c2cc0]
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, [0x5c2cc0]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x5f884d]
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 [0x72fae8], eax
jne 0x530834
mov edx, dword [0x72faec]
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 0x530834
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x68]
jmp 0x530883
lea eax, [0x5ce8c0]
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 [0x776350]
test ecx, ecx
jne 0x53086f
mov ecx, dword [esp + 0x68]
jmp 0x53087a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0xb4
ret
lea eax, [0x5c87a0]
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, [0x5fa14e]
mov dword [eax], ecx
lea ecx, [0x634a90]
cmp dword [0x72fae8], ecx
jne 0x5308fc
mov edx, dword [0x72faec]
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 0x5308fc
lea ecx, [0x634a90]
mov eax, dword [esp + 0x90]
jmp 0x530960
lea eax, [0x5ce8c0]
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, [0x634a90]
mov dword [eax + 8], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x530949
mov ecx, dword [esp + 0x90]
jmp 0x530957
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
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, [0x5c87a0]
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, [0x5f9389]
mov dword [eax], ecx
lea ecx, [0x634a90]
cmp dword [0x72fae8], ecx
jne 0x530a16
mov edx, dword [0x72faec]
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 0x530a16
lea ecx, [0x634a90]
mov eax, dword [esp + 0x8c]
jmp 0x530a7a
lea eax, [0x5ce8c0]
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, [0x634a90]
mov dword [eax + 8], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x530a63
mov ecx, dword [esp + 0x8c]
jmp 0x530a71
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x8c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634e8c]
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 0x530aa3
mov ecx, dword [edx + 0x20]
cmp eax, ecx
jb 0x530a8f
jmp 0x530ac1
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 0x530516
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