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

Disassembly:
mov ecx, dword [0x65260c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4dbd94
sub esp, 0x6c
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x4dbb69
mov ebp, dword [esp + 0x70]
mov esi, dword [ebp + 0x20]
cmp ebx, esi
jbe 0x4dbb56
sub ebx, esi
mov ecx, dword [ebp + 0x50]
nop
cmp ecx, ebx
jb 0x4dba7a
mov edi, ecx
sub edi, ebx
mov eax, esi
mov esi, dword [esp + 0x7c]
cmp esi, ebx
jae 0x4db822
mov edx, esi
jmp 0x4db826
mov edx, esi
mov esi, ebx
lea ebx, [esi + edi]
mov edx, dword [ebp + 0x58]
add edi, edx
add ebx, edx
cmp ecx, edi
jae 0x4db83c
mov edx, edi
sub edx, ecx
cmp ecx, edi
jmp 0x4db83e
mov edx, edi
mov dword [esp + 0x30], esi
xchg esi, ebx
setb bl
xchg esi, ebx
cmp ecx, ebx
jae 0x4db858
cmp ecx, edi
xchg esi, ebx
setae bl
xchg esi, ebx
sub ebx, ecx
mov dword [esp + 0x48], eax
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x44], edi
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x68], edi
mov edi, dword [ebp + 0x54]
mov ebp, dword [ebp + 0x4c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4db9a5
cmp edx, ecx
ja 0x4dbd8c
mov dword [esp + 0x28], ebx
sub ecx, edx
lea esi, [eax + ecx]
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ebp
mov ebp, dword [esp + 0x44]
cmp ebp, esi
jb 0x4db8a8
mov edi, dword [esp + 0x68]
jmp 0x4db8ec
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
lea eax, [0x5153e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
mov ebp, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x58], edi
add eax, edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 0x54]
mov ecx, dword [eax + 0x4c]
mov ebx, dword [esp + 0x28]
cmp ebx, edx
ja 0x4dbd85
mov edx, dword [esp + 0x38]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x3c]
cmp esi, ebp
jb 0x4db935
mov edi, dword [esp + 0x58]
jmp 0x4db975
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x5153e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov esi, eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], esi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
jmp 0x4dba45
cmp ebx, edi
ja 0x4dbd7c
cmp edx, ebx
ja 0x4dbd73
sub ebx, edx
lea ecx, [ebx + eax]
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ebp
mov ebp, dword [esp + 0x44]
cmp ebp, ecx
jb 0x4db9d7
mov edi, dword [esp + 0x68]
jmp 0x4dba1b
mov dword [esp + 0x44], ebx
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
lea eax, [0x5153e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x44]
mov ebp, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x4c], edi
add eax, edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x70]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], eax
mov ebp, dword [0x6526b0]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x30]
sub esi, edi
test ebp, ebp
je 0x4dba70
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [ebx + 0x1c]
mov dword [edi + 4], ebp
mov dword [ebx + 0x1c], edx
xor eax, eax
jmp 0x4dbb60
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
lea edx, [0x5192a0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov dword [eax + 4], 0x12
lea ecx, [0x534493]
mov dword [eax], ecx
lea ecx, [0x55e7b4]
cmp dword [0x5fae58], ecx
jne 0x4dbae9
mov edx, dword [0x5fae5c]
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 0x4dbae9
lea ecx, [0x55e7b4]
mov eax, dword [esp + 0x60]
jmp 0x4dbb44
lea eax, [0x51d2c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x40]
mov ebp, ebx
sar ebx, 0x1f
add edx, ebp
mov dword [eax], edx
adc ecx, ebx
mov dword [eax + 4], ecx
lea ecx, [0x55e7b4]
mov dword [eax + 8], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
jne 0x4dbb30
mov ecx, dword [esp + 0x60]
jmp 0x4dbb3b
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x55ea70]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x6c
ret
sub esi, ebx
mov ebx, ebp
mov eax, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x34], eax
jmp 0x4dbc50
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
lea edx, [0x5192a0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov dword [eax + 4], 0x13
lea ecx, [0x534c5c]
mov dword [eax], ecx
lea ecx, [0x55e7b4]
cmp dword [0x5fae58], ecx
jne 0x4dbbd8
mov edx, dword [0x5fae5c]
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 0x4dbbd8
lea ecx, [0x55e7b4]
mov eax, dword [esp + 0x5c]
jmp 0x4dbc33
lea eax, [0x51d2c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov ebx, dword [esp + 0x40]
mov ebp, ebx
sar ebx, 0x1f
add edx, ebp
mov dword [eax], edx
adc ecx, ebx
mov dword [eax + 4], ecx
lea ecx, [0x55e7b4]
mov dword [eax + 8], ecx
mov ecx, dword [0x6526b0]
test ecx, ecx
jne 0x4dbc1f
mov ecx, dword [esp + 0x5c]
jmp 0x4dbc2a
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
lea ecx, [0x55ea70]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x6c
ret
mov dword [ecx + 0x1c], ebx
mov eax, dword [esp + 0x34]
mov ebx, ecx
mov esi, edx
test esi, esi
jbe 0x4dbd4b
mov ebp, dword [ebx + 0x20]
mov edi, ebp
sub ebp, eax
cmp esi, ebp
jae 0x4dbc67
mov ecx, esi
jmp 0x4dbc6b
mov ecx, esi
mov esi, ebp
mov edx, dword [ebx + 0x24]
lea ebp, [esi + eax]
cmp edx, ebp
jb 0x4dbd6c
cmp eax, ebp
ja 0x4dbd65
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], esi
mov ebp, dword [ebx + 0x1c]
lea ecx, [esi + edi]
sub edx, eax
neg edx
sar edx, 0x1f
and edx, eax
add edx, ebp
mov eax, dword [esp + 0x48]
cmp eax, ecx
jae 0x4dbce6
mov dword [esp + 0x48], edi
mov dword [esp + 0x68], edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
lea eax, [0x5153e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x48]
mov eax, edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], ebp
lea ebx, [ebp + edi]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call sym.runtime.memmove
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [ecx + 0x24], eax
mov eax, dword [0x6526b0]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
sub edx, ebx
test eax, eax
jne 0x4dbd35
mov ebx, dword [esp + 0x68]
jmp 0x4dbc45
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x68]
mov dword [edi], ebx
mov ebp, dword [ecx + 0x1c]
mov dword [edi + 4], ebp
jmp 0x4dbc45
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x6c
ret
mov ecx, ebp
call sym.runtime.panicSliceBU
mov ecx, ebp
call sym.runtime.panicSliceAcapU
mov eax, edx
mov ecx, ebx
call sym.runtime.panicSliceBU
mov ecx, ebx
mov edx, edi
call sym.runtime.panicSliceAcapU
mov ecx, ebx
call sym.runtime.panicSliceAcapU
mov eax, edx
call sym.runtime.panicSliceBU
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_zstd._Reader_.copyFromWindow