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

Disassembly:
mov ecx, dword [0x646590]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4da9f2
sub esp, 0x5c
movzx ebx, byte [esp + 0x74]
mov ebp, ebx
shr bl, 2
and ebx, 3
cmp bl, 1
ja 0x4da404
test bl, bl
je 0x4da409
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
cmp ecx, eax
jle 0x4da328
jbe 0x4da9ec
mov ebx, ebp
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov esi, dword [esp + 0x64]
movzx edi, byte [esi + eax]
shl edi, 4
add ebp, edi
lea edi, [eax + 1]
jmp 0x4da474
mov ecx, dword [0x5eee00]
mov dword [esp + 0x34], ecx
mov edx, dword [0x5eee04]
mov dword [esp + 0x48], edx
cmp dword [0x5eedf8], ecx
jne 0x4da36d
mov eax, dword [0x5eedfc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4da36d
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
jmp 0x4da3c6
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x70]
mov ebp, ebx
sar ebx, 0x1f
add edx, ebp
mov dword [eax], edx
adc ecx, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [0x646638]
test ecx, ecx
jne 0x4da3b2
mov ecx, dword [esp + 0x48]
jmp 0x4da3bd
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x48]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x5c
ret
cmp bl, 2
jne 0x4da423
mov ebx, ebp
xchg ebp, eax
shr al, 3
xchg ebp, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
jmp 0x4da474
mov eax, dword [esp + 0x70]
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x68]
cmp ecx, ebx
jle 0x4da858
cmp ecx, eax
jbe 0x4da9e7
mov esi, ebp
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov edi, dword [esp + 0x64]
movzx edx, byte [edi + eax]
shl edx, 4
add ebp, edx
cmp ecx, ebx
jbe 0x4da9e0
movzx ebx, byte [eax + edi + 1]
shl ebx, 0xc
add ebp, ebx
lea ebx, [eax + 2]
mov eax, ebx
mov ebx, esi
mov esi, edi
mov edi, eax
mov dword [esp + 0x28], edi
cmp ebp, 0x20000
jg 0x4da761
test bl, 3
je 0x4da5aa
cmp ecx, edi
jle 0x4da4b3
jbe 0x4da9d9
movzx eax, byte [esi + edi]
mov byte [esp + 0x23], al
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
jmp 0x4da97f
lea eax, [0x511ac0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov dword [eax + 4], 0x13
lea ecx, [0x52cc71]
mov dword [eax], ecx
lea ecx, [0x555a00]
cmp dword [0x5eedf8], ecx
jne 0x4da511
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 0x4da511
lea ecx, [0x555a00]
mov eax, dword [esp + 0x58]
jmp 0x4da56c
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x28]
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 0x4da558
mov ecx, dword [esp + 0x58]
jmp 0x4da563
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x58]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x5c
ret
lea ebx, [edi + ebp]
cmp ecx, ebx
jl 0x4da66a
mov edx, dword [esp + 0x6c]
cmp edx, ebx
jb 0x4da973
cmp edi, ebx
ja 0x4da96a
mov dword [esp + 0x40], ebx
mov eax, dword [esp + 0x7c]
lea ecx, [eax + ebp]
sub edx, edi
neg edx
sar edx, 0x1f
and edi, edx
lea edx, [esi + edi]
mov esi, dword [esp + 0x80]
cmp esi, ecx
jb 0x4da5f1
mov edi, dword [esp + 0x78]
jmp 0x4da637
mov dword [esp + 0x24], ebp
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
lea eax, [0x50de00]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov edi, eax
mov esi, edx
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x54], edi
add eax, edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x54]
jmp 0x4da934
lea eax, [0x511ac0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
mov dword [eax + 4], 0x1a
lea ecx, [0x52f94b]
mov dword [eax], ecx
lea ecx, [0x555a00]
cmp dword [0x5eedf8], ecx
jne 0x4da6c8
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 0x4da6c8
lea ecx, [0x555a00]
mov eax, dword [esp + 0x50]
jmp 0x4da723
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x28]
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 0x4da70f
mov ecx, dword [esp + 0x50]
jmp 0x4da71a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x50]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x5c
ret
lea eax, [0x511ac0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
mov dword [eax + 4], 0x16
lea ecx, [0x52dffb]
mov dword [eax], ecx
lea ecx, [0x555a00]
cmp dword [0x5eedf8], ecx
jne 0x4da7bf
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 0x4da7bf
lea ecx, [0x555a00]
mov eax, dword [esp + 0x4c]
jmp 0x4da81a
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x28]
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 0x4da806
mov ecx, dword [esp + 0x4c]
jmp 0x4da811
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x4c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x5c
ret
mov ecx, dword [0x5eee00]
mov dword [esp + 0x30], ecx
mov edx, dword [0x5eee04]
mov dword [esp + 0x44], edx
cmp dword [0x5eedf8], ecx
jne 0x4da89d
mov eax, dword [0x5eedfc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4da89d
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
jmp 0x4da8f6
lea eax, [0x515a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x70]
mov ebp, ebx
sar ebx, 0x1f
add ebp, edx
mov dword [eax], ebp
adc ecx, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [0x646638]
test ecx, ecx
jne 0x4da8e2
mov ecx, dword [esp + 0x44]
jmp 0x4da8ed
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x44]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x555ca8]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x5c
ret
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x5c
ret
mov eax, edi
mov ecx, ebx
call sym.runtime.panicSliceB
mov ecx, ebx
call sym.runtime.panicSliceAcap
mov byte [ecx + edx - 1], al
dec ebp
test ebp, ebp
jle 0x4da9c9
inc ecx
cmp ebx, ecx
jae 0x4da97a
mov dword [esp + 0x2c], ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x50de00]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx eax, byte [esp + 0x23]
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
jmp 0x4da97a
lea eax, [edi + 1]
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov edx, ebp
jmp 0x4da934
mov eax, edi
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
call sym.runtime.panicIndex
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._Reader_.readRawRLELiterals