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

Disassembly:
mov ecx, dword [0x7762b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x52c4bb
sub esp, 0xb8
lea edi, [esp + 0x98]
xor eax, eax
call fcn.0046ac58
mov ecx, dword [esp + 0xbc]
mov dword [esp], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xd0]
lea ebx, [ebx + edx - 1]
mov dword [esp + 0x10], ebx
add edx, 0xfffffffe
mov dword [esp + 0x14], edx
call sym.internal_zstd._Reader_.makeReverseBitReader
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x3c]
lea edi, [esp + 0x98]
lea esi, [esp + 0x18]
call fcn.0046b120
lea edi, [esp + 0x68]
lea esi, [esp + 0x98]
call fcn.0046b120
mov ecx, dword [esp + 0x50]
test ecx, ecx
jne 0x52c1eb
mov edx, dword [esp + 0xbc]
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x64], ecx
mov ebx, 1
shl ebx, cl
mov ebp, dword [edx + 0x3c]
mov dword [esp + 0x48], ebp
mov edx, dword [edx + 0x38]
mov dword [esp + 0x8c], edx
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
lea eax, [ebx - 1]
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
jmp 0x52c251
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], edx
add esp, 0xb8
ret
shr dx, 8
mov byte [ebx + ecx - 1], dl
movzx edx, word [esp + 0x42]
and edx, 0xff
sub dword [esp + 0x84], edx
mov edx, dword [esp + 0x44]
dec edx
mov dword [esp + 0x44], edx
mov esi, ecx
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x8c]
mov edx, dword [esp + 0x44]
test edx, edx
jle 0x52c304
mov dword [esp + 0x94], esi
mov dword [esp + 0x60], edi
nop
jmp 0x52c369
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
sub esi, ecx
mov ecx, esi
shr edx, cl
cmp ecx, 0x20
sbb esi, esi
and edx, esi
and edx, eax
cmp ebp, edx
jbe 0x52c4a8
inc ebx
mov esi, dword [esp + 0x8c]
movzx edx, word [esi + edx*2]
mov word [esp + 0x42], dx
cmp edi, ebx
jb 0x52c2b4
mov ecx, dword [esp + 0x94]
jmp 0x52c221
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5c2c00]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
movzx edx, word [esp + 0x42]
mov ebp, dword [esp + 0x48]
mov ecx, esi
mov esi, dword [esp + 0x8c]
jmp 0x52c221
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
add esp, 0xb8
ret
mov esi, dword [esp + 0x6c]
movzx edx, byte [edx + esi - 1]
mov esi, dword [esp + 0x80]
shl esi, 8
or esi, edx
mov dword [esp + 0x80], esi
add dword [esp + 0x84], 8
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x60]
movzx edx, cl
cmp dword [esp + 0x84], edx
jae 0x52c26e
mov edx, dword [esp + 0x78]
cmp dword [esp + 0x7c], edx
jae 0x52c397
lea esi, [edx - 1]
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x70]
cmp edi, esi
ja 0x52c336
jmp 0x52c4b1
mov eax, dword [esp + 0x68]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x5c], ecx
lea edx, [0x5c8840]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov dword [eax + 4], 0x23
lea ecx, [0x5f8db0]
mov dword [eax], ecx
lea ecx, [0x634be0]
cmp dword [0x72fae8], ecx
jne 0x52c40e
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 0x52c40e
lea ecx, [0x634be0]
mov eax, dword [esp + 0x90]
jmp 0x52c472
lea eax, [0x5ce960]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x5c]
mov ebp, ebx
sar ebx, 0x1f
add edx, ebp
mov dword [eax], edx
adc ecx, ebx
mov dword [eax + 4], ecx
lea ecx, [0x634be0]
mov dword [eax + 8], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x52c45b
mov ecx, dword [esp + 0x90]
jmp 0x52c469
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x90]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x634fdc]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xb8
ret
mov eax, edx
mov ecx, ebp
call sym.runtime.panicIndexU
mov eax, esi
mov ecx, edi
call sym.runtime.panicIndexU
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._Reader_.readLiteralsOneStream