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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0xcc
mov esi, dword [eax + 0xc0]
mov edi, dword [eax + 0x5c]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x78], ecx
cmp esi, 0x20
ja 0x101fc45e
mov eax, edx
cmp ebx, 5
je 0x101fbcc3
cmp ebx, 6
jne 0x101fc5b0
mov edx, dword [edx]
mov ebx, dword [eax + 4]
imul eax, edx, 0xcf1bbcdc
imul ecx, ebx, 0xbf9b0000
add ecx, eax
mov eax, 0xbf9b0000
mul edx
add edx, ecx
mov ecx, 0x40
sub ecx, esi
shrd eax, edx, cl
shr edx, cl
and ecx, 0x20
cmovne eax, edx
lea eax, [edi + eax*4]
mov ebx, dword [ebp + 4]
mov ecx, dword [ebp + 0xb8]
mov esi, dword [eax]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x84], ebx
sub eax, ebx
mov ebx, eax
mov eax, 1
mov edi, eax
mov dword [esp + 0xa0], ebx
shl edi, cl
mov ecx, edi
mov edi, ebx
sub edi, edx
sub ebx, ecx
cmp ecx, edi
mov ecx, ebx
mov ebx, dword [ebp + 0x18]
mov edi, edx
cmovae ecx, edx
test ebx, ebx
cmove edi, ecx
mov ecx, dword [ebp + 0x64]
mov dword [esp + 0x74], ecx
mov ecx, dword [ebp + 0xbc]
mov dword [esp + 0x88], edi
sub ecx, 1
shl eax, cl
lea ecx, [eax - 1]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x70], ecx
cmp ecx, eax
jae 0x101fc3c8
sub eax, ecx
mov edx, ecx
cmp eax, edi
mov dword [esp + 0x98], eax
cmovae edi, eax
mov dword [esp + 0x48], edi
mov ebx, dword [esp + 0x74]
and edx, esi
mov ecx, dword [ebp + 0xc4]
shl edx, 3
mov edi, dword [esp + 0x78]
lea eax, [ebx + edx]
lea ebx, [ebx + edx + 4]
mov edx, 1
shl edx, cl
mov dword [esp + 0x80], edx
lea edx, [edi - 8]
mov edi, dword [esp + 0x6c]
cmp edx, edi
jb 0x101fc434
mov edi, dword [esp + 0x80]
xor edx, edx
cmp dword [esp + 0x48], esi
jae 0x101fba88
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x74]
mov ebp, edx
jmp 0x101fb84e
cmp edi, 1
je 0x101fc512
mov dword [ebx], ebp
mov ebx, dword [esp + 0x70]
sub edi, 1
mov ebp, esi
mov edx, dword [eax]
and ebx, edx
shl ebx, 3
lea eax, [ecx + ebx]
lea ebx, [ecx + ebx + 4]
cmp dword [esp + 0x48], edx
jae 0x101fc533
mov esi, edx
cmp dword [ebx], 1
je 0x101fb820
mov edx, ebp
mov ebp, dword [esp + 0x1c]
test edx, edx
je 0x101fba88
mov ebx, edx
lea esi, [esi]
nop
mov eax, dword [esp + 0x70]
mov esi, ebx
mov edx, dword [ebp + 4]
mov dword [esp + 0x2c], ebx
and eax, ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x5c], edx
mov ebx, dword [ebx + eax*8 + 4]
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xbc]
lea ecx, [eax - 1]
mov eax, 1
shl eax, cl
mov ecx, dword [ebp + 8]
sub eax, 1
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x60], ecx
add ecx, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x68], ecx
cmp esi, eax
jb 0x101fc040
lea eax, [edx + esi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x20], eax
mov eax, edx
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xb8]
add eax, esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x44]
and eax, edx
lea eax, [esi + eax*8]
lea esi, [eax + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [eax]
mov dword [esp + 0x50], esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, 1
shl eax, cl
mov ecx, edx
sub ecx, esi
sub edx, eax
cmp eax, ecx
mov ecx, edx
mov eax, dword [esp + 0x48]
cmovae ecx, esi
mov dword [esp + 0x54], ecx
cmp dword [esp + 0x2c], eax
jb 0x101fc088
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x24], esi
jae 0x101fc060
test edi, edi
je 0x101fba69
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x54], esi
jae 0x101fba69
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], edi
mov dword [esp + 0x34], 0
sub eax, 3
mov dword [esp + 0x30], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], ebp
lea esi, [esi]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x34]
and eax, esi
lea eax, [edi + eax*8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
cmp eax, ebx
cmovbe ebx, eax
mov eax, dword [esp + 0x2c]
cmp esi, eax
jae 0x101fbd60
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
add eax, ebx
mov dword [esp + 0x1c], eax
lea eax, [ebx + esi]
cmp eax, edx
jae 0x101fbce0
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x2c], edx
jae 0x101fbdc8
lea ebp, [eax + esi]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
lea ecx, [ebp + ebx]
cmp edi, eax
jae 0x101fbd18
mov eax, dword [ecx]
mov edi, dword [edi]
cmp eax, edi
je 0x101fbd88
xor eax, edi
tzcnt eax, eax
shr eax, 3
add eax, ebx
mov ecx, dword [esp + 0x24]
lea edx, [ecx + eax]
cmp dword [esp + 0x20], edx
je 0x101fba54
movzx ecx, byte [edx]
cmp byte [ebp + eax], cl
jae 0x101fbcf0
mov edx, dword [esp + 0x4c]
mov dword [edx], esi
cmp dword [esp + 0x48], esi
jae 0x101fc1f8
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
lea esi, [ecx + 4]
mov dword [esp + 0x4c], esi
mov esi, dword [ecx + 4]
sub dword [esp + 0x58], 1
je 0x101fba54
cmp dword [esp + 0x54], esi
jb 0x101fb988
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x50]
add edi, 1
mov dword [eax], 0
mov eax, dword [esp + 0x4c]
mov dword [eax], 0
test ebx, ebx
jne 0x101fb868
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [esp + 0x2c], 0
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x28], 0
mov dword [esp + 0x54], esi
add esi, eax
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x30], eax
add eax, esi
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x24], 0
mov dword [esp + 0x5c], eax
mov eax, esi
and eax, ebx
mov ebx, dword [esp + 0x74]
shl eax, 3
lea edi, [ebx + eax]
lea eax, [ebx + eax + 4]
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x38], eax
mov eax, esi
lea esi, [esi + 9]
mov dword [esp + 0x20], esi
mov esi, dword [ebx]
mov dword [ebx], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x34], edi
lea ebx, [eax - 3]
sub eax, 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x50], eax
cmp dword [esp + 0x88], esi
jae 0x101fbc58
mov dword [esp + 0x60], ebp
lea esi, [esi]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x28]
and eax, esi
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
cmp eax, edi
cmovbe edi, eax
mov eax, dword [esp + 0x6c]
lea edx, [eax + edi]
lea eax, [edi + esi]
cmp eax, ecx
jb 0x101fbf60
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x3c]
lea ebp, [eax + esi]
lea eax, [ebp + edi]
cmp edx, ecx
jae 0x101fbf20
mov ecx, dword [eax]
mov ebx, dword [edx]
cmp ecx, ebx
je 0x101fc0b0
xor ecx, ebx
xor ebx, ebx
tzcnt ebx, ecx
shr ebx, 3
add ebx, edi
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
lea edi, [eax + ebx]
cmp ecx, ebx
jae 0x101fbc0b
mov edx, dword [esp + 0x20]
lea eax, [ebx + esi]
sub edx, esi
cmp edx, ebx
cmovae eax, dword [esp + 0x20]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
sub eax, esi
mov dword [esp + 0x44], eax
lea eax, [eax + 1]
bsr eax, eax
xor eax, 0x1f
bsr edx, dword [edx]
xor edx, 0x1f
mov dword [esp + 0x40], edx
mov edx, ebx
sub edx, ecx
mov ecx, edx
mov edx, dword [esp + 0x40]
shl ecx, 2
sub edx, eax
cmp ecx, edx
jle 0x101fbc05
cmp dword [esp + 0xa0], esi
je 0x101fc310
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x2c], ebx
add eax, 3
mov dword [ecx], eax
cmp dword [esp + 0x78], edi
je 0x101fbc54
movzx eax, byte [edi]
cmp byte [ebp + ebx], al
jae 0x101fbef0
mov eax, dword [esp + 0x34]
mov dword [eax], esi
cmp dword [esp + 0x98], esi
jae 0x101fc552
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
lea esi, [eax + 4]
mov dword [esp + 0x34], esi
mov esi, dword [eax + 4]
sub dword [esp + 0x80], 1
je 0x101fbc54
cmp dword [esp + 0x88], esi
jb 0x101fbb20
mov ebp, dword [esp + 0x60]
cmp dword [esp + 0x80], 0x20000000
mov eax, dword [esp + 0x38]
mov dword [eax], 0
mov eax, dword [esp + 0x34]
mov dword [eax], 0
ja 0x101fc4f0
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x20]
add eax, 8
cmp eax, esi
jae 0x101fc4ce
mov eax, dword [esp + 0x20]
sub eax, 8
cmp dword [esp + 0x2c], 2
mov dword [ebp + 0x1c], eax
jbe 0x101fbcb4
mov eax, dword [esp + 0xe0]
cmp dword [eax], 3
jbe 0x101fc566
mov eax, dword [esp + 0x2c]
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [edx]
mov ebx, dword [eax + 4]
imul eax, edx, 0xcf1bbcdc
imul ecx, ebx, 0xbb000000
add ecx, eax
mov eax, 0xbb000000
jmp 0x101fb719
mov eax, dword [esp + 0x5c]
jmp 0x101fb9d9
mov ecx, dword [esp + 0x50]
mov dword [ecx], esi
cmp dword [esp + 0x48], esi
jae 0x101fc220
mov edi, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov dword [esp + 0x50], edi
mov esi, dword [edi]
jmp 0x101fba43
mov eax, edi
mov edi, dword [esp + 0x20]
sub edi, 1
cmp eax, edi
jae 0x101fbd38
movzx edi, word [eax]
cmp word [ecx], di
jne 0x101fbd38
add eax, 2
add ecx, 2
lea esi, [esi]
nop
mov edx, dword [esp + 0x20]
cmp eax, edx
jae 0x101fbd4d
movzx edx, byte [eax]
cmp byte [ecx], dl
sete cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x1c]
sub eax, ecx
jmp 0x101fba05
mov dword [esp + 8], 0x66
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], 0x1044d106
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x101fb9b2
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
add ecx, 4
lea eax, [edx + 4]
cmp eax, edi
jae 0x101fbd1a
mov edi, dword [ecx]
mov dword [esp + 0x1c], edi
mov edi, dword [eax]
cmp dword [esp + 0x1c], edi
je 0x101fbe40
mov ecx, dword [esp + 0x1c]
xor ecx, edi
xor edi, edi
tzcnt edi, ecx
shr edi, 3
add eax, edi
sub eax, edx
jmp 0x101fba05
lea ebp, [eax + esi]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea edi, [ebp + ebx]
sub eax, ebp
mov dword [esp + 0x64], edi
add eax, ecx
cmp edx, eax
cmovbe eax, edx
mov edx, dword [esp + 0x1c]
mov ecx, eax
lea eax, [eax - 3]
mov dword [esp + 0x7c], eax
cmp edx, eax
jae 0x101fbe60
mov eax, dword [edi]
mov edi, dword [edx]
cmp eax, edi
je 0x101fbfe0
xor eax, edi
tzcnt eax, eax
shr eax, 3
mov edi, eax
mov eax, dword [esp + 0x64]
add eax, edi
cmp dword [esp + 0x68], eax
je 0x101fbea7
lea eax, [ebx + edi]
mov ebx, dword [esp + 0x5c]
lea ecx, [eax + esi]
lea edx, [ebx + esi]
mov ebx, dword [esp + 0x38]
cmp ecx, ebx
cmovae ebp, edx
jmp 0x101fba07
mov edi, dword [esp + 0x3c]
add eax, 4
add ecx, 4
cmp eax, edi
jb 0x101fbd9a
mov dword [esp + 0x1c], edx
jmp 0x101fbd1a
mov eax, edi
mov edi, dword [esp + 0x1c]
lea edx, [ecx - 1]
cmp edi, edx
jae 0x101fbe80
movzx edx, word [edi]
cmp word [eax], dx
jne 0x101fbe80
add edi, 2
add eax, 2
lea esi, [esi]
nop
cmp edi, ecx
jae 0x101fbe91
movzx edx, byte [edi]
cmp byte [eax], dl
sete al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x1c]
sub edi, eax
mov eax, dword [esp + 0x64]
add eax, edi
cmp dword [esp + 0x68], eax
jne 0x101fbe20
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add ecx, edi
sub eax, 3
mov dword [esp + 0x1c], ecx
cmp ecx, eax
jae 0x101fc178
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
cmp ecx, edx
je 0x101fc290
mov eax, ecx
xor eax, edx
tzcnt eax, eax
shr eax, 3
add edi, eax
jmp 0x101fbe20
mov eax, dword [esp + 0x38]
mov dword [eax], esi
cmp dword [esp + 0x98], esi
jae 0x101fc53e
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], eax
mov esi, dword [eax]
jmp 0x101fbc3d
mov ebx, edx
mov ecx, dword [esp + 0x50]
cmp ebx, ecx
jae 0x101fbf40
movzx ecx, word [ebx]
cmp word [eax], cx
jne 0x101fbf40
add ebx, 2
add eax, 2
lea esi, [esi]
nop
mov ecx, dword [esp + 0x78]
cmp ebx, ecx
jae 0x101fbf55
movzx ecx, byte [ebx]
cmp byte [eax], cl
sete al
movzx eax, al
add ebx, eax
sub ebx, edx
jmp 0x101fbb85
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
lea ebp, [eax + esi]
mov eax, dword [esp + 0x6c]
sub ecx, ebp
lea ebx, [ebp + edi]
add ecx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], ebx
cmp eax, ecx
cmovbe ecx, eax
lea eax, [ecx - 3]
mov dword [esp + 0x44], ecx
cmp edx, eax
jae 0x101fc0f0
mov ecx, dword [ebx]
mov ebx, dword [edx]
cmp ecx, ebx
je 0x101fc248
mov eax, ecx
xor eax, ebx
xor ebx, ebx
tzcnt ebx, eax
shr ebx, 3
mov eax, dword [esp + 0x40]
add eax, ebx
cmp dword [esp + 0x48], eax
je 0x101fc143
add ebx, edi
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x30]
lea edx, [ebx + esi]
add eax, esi
cmp edx, ecx
cmovae ebp, eax
jmp 0x101fbb87
mov eax, dword [esp + 0x64]
lea edi, [edx + 4]
mov edx, dword [esp + 0x7c]
add eax, 4
cmp edi, edx
jae 0x101fbe66
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x9c], ecx
mov ecx, dword [edi]
cmp dword [esp + 0x9c], ecx
je 0x101fc1d0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x1c], edx
xor eax, ecx
tzcnt eax, eax
shr eax, 3
add eax, edi
sub eax, edx
mov edi, eax
jmp 0x101fbe10
mov eax, dword [esp + 0x60]
add eax, esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, edx
jmp 0x101fb8ce
mov dword [esp + 8], 0x61
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ip___iend
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x101fb93a
mov dword [esp + 8], 0x60
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.curr___btLow
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x101fb92c
mov ecx, dword [esp + 0x3c]
lea ebx, [edx + 4]
add eax, 4
cmp ebx, ecx
jae 0x101fbf22
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx]
cmp dword [esp + 0x40], ecx
je 0x101fc2f8
mov eax, dword [esp + 0x40]
xor eax, ecx
xor ecx, ecx
tzcnt ecx, eax
shr ecx, 3
add ebx, ecx
sub ebx, edx
jmp 0x101fbb85
mov dword [esp + 0x4c], ebx
mov ebx, edx
mov eax, dword [esp + 0x44]
sub eax, 1
cmp ebx, eax
jae 0x101fc118
mov eax, dword [esp + 0x4c]
movzx ecx, word [ebx]
cmp word [eax], cx
jne 0x101fc118
add dword [esp + 0x4c], 2
add ebx, 2
lea esi, [esi]
mov eax, dword [esp + 0x44]
cmp ebx, eax
jae 0x101fc131
mov ecx, dword [esp + 0x4c]
movzx eax, byte [ebx]
cmp byte [ecx], al
sete al
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0x40]
sub ebx, edx
add eax, ebx
cmp dword [esp + 0x48], eax
jne 0x101fbfbc
mov eax, dword [esp + 0x3c]
add edx, ebx
cmp edx, eax
mov eax, dword [esp + 0x5c]
jae 0x101fc332
mov eax, dword [eax]
mov ecx, dword [edx]
cmp eax, ecx
je 0x101fc3de
xor eax, ecx
tzcnt eax, eax
shr eax, 3
add ebx, eax
jmp 0x101fbfbc
mov eax, dword [esp + 0xa4]
mov edx, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
sub eax, 1
cmp edx, eax
jae 0x101fc1a8
mov eax, dword [esp + 0x64]
movzx ecx, word [edx]
cmp word [eax], cx
jne 0x101fc1a8
add dword [esp + 0x64], 2
add edx, 2
lea esi, [esi]
mov eax, dword [esp + 0x20]
cmp edx, eax
jae 0x101fc1c1
mov ecx, dword [esp + 0x64]
movzx eax, byte [edx]
cmp byte [ecx], al
sete al
movzx eax, al
add edx, eax
mov ecx, dword [esp + 0x1c]
mov eax, edx
sub eax, ecx
add edi, eax
jmp 0x101fbe20
mov ecx, dword [esp + 0x7c]
add edi, 4
add eax, 4
cmp edi, ecx
jb 0x101fc001
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0xa8]
jmp 0x101fbe66
lea eax, [esp + 0xbc]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x4c], eax
mov ebp, dword [esp + 0x94]
jmp 0x101fba69
lea eax, [esp + 0xbc]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0x94]
jmp 0x101fba69
mov ecx, dword [esp + 0x40]
lea ebx, [edx + 4]
add ecx, 4
mov dword [esp + 0x4c], ecx
cmp ebx, eax
jae 0x101fc0f6
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebx]
cmp dword [esp + 0x58], ecx
je 0x101fc38b
mov eax, dword [esp + 0x58]
xor eax, ecx
tzcnt eax, eax
shr eax, 3
add ebx, eax
sub ebx, edx
jmp 0x101fbfac
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + 4]
mov ecx, dword [esp + 0xa4]
add ecx, 4
mov dword [esp + 0x64], ecx
cmp edx, eax
jae 0x101fc185
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x64]
mov ebx, dword [ebx]
mov dword [esp + 0x7c], ebx
mov ebx, dword [edx]
cmp dword [esp + 0x7c], ebx
je 0x101fc3a0
mov dword [esp + 0x1c], ecx
mov ecx, ebx
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x7c]
xor eax, ecx
mov ecx, dword [esp + 0x1c]
tzcnt eax, eax
shr eax, 3
add eax, edx
sub eax, ecx
add edi, eax
jmp 0x101fbe20
mov ecx, dword [esp + 0x3c]
add ebx, 4
add eax, 4
cmp ebx, ecx
jb 0x101fc0c2
jmp 0x101fbf22
mov dword [esp + 8], 0x14e
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], 0x1044d0ad
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x101fbbf1
mov dword [esp + 0x44], eax
mov ecx, edx
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x78]
sub eax, 1
cmp ecx, eax
jae 0x101fc35d
mov eax, dword [esp + 0x44]
movzx ecx, word [ecx]
cmp word [eax], cx
jne 0x101fc35d
add dword [esp + 0x40], 2
add dword [esp + 0x44], 2
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x40], eax
jae 0x101fc37e
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
movzx eax, byte [eax]
cmp byte [ecx], al
sete al
movzx eax, al
add dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
sub eax, edx
add ebx, eax
jmp 0x101fbfbc
add ebx, 4
add dword [esp + 0x4c], 4
cmp ebx, eax
jb 0x101fc25e
jmp 0x101fc0f6
mov ebx, dword [esp + 0x1c]
add edx, 4
add dword [esp + 0x64], 4
cmp edx, ebx
jb 0x101fc2b9
mov ebx, ebp
mov dword [esp + 0x1c], ecx
mov ebp, eax
jmp 0x101fc185
mov dword [esp + 0x48], edi
mov edx, ecx
mov dword [esp + 0x98], 0
jmp 0x101fb7c2
mov eax, dword [esp + 0x5c]
lea ecx, [edx + 4]
mov dword [esp + 0x40], ecx
add eax, 4
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x3c]
cmp ecx, eax
jae 0x101fc33c
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx]
cmp dword [esp + 0x4c], eax
je 0x101fc592
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
xor ecx, eax
xor eax, eax
tzcnt eax, ecx
mov ecx, dword [esp + 0x40]
shr eax, 3
add eax, ecx
sub eax, edx
add ebx, eax
jmp 0x101fbfbc
mov dword [esp + 0x1c], eax
mov dword [esp + 8], 0x107
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], 0x1044d0e1
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x1c]
jmp 0x101fb7f9
mov eax, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0x342
mov dword [esp + 4], 0x1044cfac
mov dword [esp + 0x1c], eax
mov dword [esp], 0x1044d091
call eax
cmp ebx, 5
mov eax, dword [esp + 0x1c]
je 0x101fc5e7
cmp ebx, 6
jne 0x101fc5c6
mov ebx, dword [esp + 0x6c]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
cmp esi, 0x40
jbe 0x101fb706
mov dword [esp + 0x1c], edx
mov dword [esp + 8], 0x32e
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d09d
call eax
mov edx, dword [esp + 0x1c]
jmp 0x101fb706
mov dword [esp + 8], 0x173
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], 0x1044d17d
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x101fbc93
mov dword [esp + 8], 0x16b
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], 0x1044d154
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x101fbc7d
mov edx, ebp
mov ebp, dword [esp + 0x1c]
cmp dword [esp + 0x48], esi
jae 0x101fb859
mov dword [ebx], 0
mov dword [eax], 0
jmp 0x101fb859
mov ebp, dword [esp + 0x1c]
mov edx, esi
jmp 0x101fb861
lea eax, [esp + 0xbc]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x38], eax
jmp 0x101fbc58
lea eax, [esp + 0xbc]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x34], eax
jmp 0x101fbc58
mov dword [esp + 8], 0x176
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.OFFBASE_IS_OFFSET_offBasePtr_
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x2c]
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x3c]
add ecx, 4
add dword [esp + 0x44], 4
cmp ecx, eax
jb 0x101fc3fc
mov dword [esp + 0x40], ecx
jmp 0x101fc33c
mov ebx, dword [eax]
imul eax, ebx, 0x9e3779b1
mov ecx, 0x20
sub ecx, esi
shr eax, cl
jmp 0x101fb72f
mov ebx, dword [esp + 0x6c]
mov ebx, dword [ebx]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call eax
jmp 0x101fc5b2
mov ebx, dword [esp + 0x6c]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
cmp esi, 0x40
jbe 0x101fbcc8
mov dword [esp + 0x1c], edx
mov dword [esp + 8], 0x329
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d09d
call eax
mov edx, dword [esp + 0x1c]
jmp 0x101fbcc8