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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x19c
cmp dword [eax + 0xc8], 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ecx
ja 0x10207c30
mov eax, dword [ebp + 0xc4]
cmp eax, 5
je 0x10206d1f
mov dword [esp + 8], 0x574
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.MAX_4__MIN_6__ms__cParams.searchLog____5
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [ebp + 0xc4]
mov edi, dword [ebp + 0x5c]
mov edx, dword [ebp + 4]
mov ebx, 1
mov ecx, dword [ebp + 0xb8]
mov dword [esp + 0x6c], edi
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x70], edi
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x28], edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x2c], edi
add edi, edx
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x14]
sub edi, edx
mov edx, ebx
shl edx, cl
mov esi, edi
mov dword [esp + 0x1c], edi
mov ecx, edx
mov edx, dword [ebp + 0x10]
sub esi, ecx
sub edi, edx
cmp ecx, edi
mov ecx, dword [ebp + 0x18]
cmovae esi, edx
test ecx, ecx
cmove edx, esi
mov esi, dword [ebp + 0x50]
mov dword [esp + 0x18], edx
mov edx, 5
cmp eax, edx
mov dword [esp + 0x80], esi
cmovbe edx, eax
mov eax, dword [ebp + 0xb4]
mov ecx, edx
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0xc0]
shl ebx, cl
mov dword [esp + 0x5c], ebx
lea ebx, [eax - 2]
mov dword [esp + 0x34], eax
cmp ebx, 0x20
ja 0x10207be0
mov edi, dword [esp + 0x14]
mov esi, dword [edi]
imul eax, esi, 0x9e3779b1
mov ecx, 0x20
mov dword [esp + 0x74], 0
sub ecx, ebx
shr eax, cl
mov ecx, dword [ebp + 0xc4]
lea edi, [eax*4]
shl eax, 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x84], eax
cmp ecx, 5
jbe 0x10206e04
sub ecx, 5
mov eax, 1
shl eax, cl
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov edi, dword [ebp + 0xdc]
add eax, 8
mov dword [esp + 0x60], eax
test edi, edi
jne 0x10207008
lea eax, [ebp + 0x2c]
mov esi, dword [ebp + 4]
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], esi
sub eax, esi
mov dword [esp + 0x50], eax
sub eax, edi
cmp eax, 0x180
ja 0x10207d81
cmp dword [esp + 0x50], edi
jb 0x10208053
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x50]
cmp edi, eax
jae 0x10206f91
add ecx, 8
mov eax, 0x20
mov dword [esp + 0x28], ebp
sub eax, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x44], 0x20
mov esi, dword [eax + 0x50]
ja 0x10207638
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + edi + 8]
imul ebx, ebx, 0x9e3779b1
movzx ecx, byte [esp + 0x48]
mov eax, dword [esp + 0x40]
xor ebx, esi
shr ebx, cl
mov esi, ebx
shr esi, 8
shl esi, 5
add esi, eax
test byte [esp + 0x34], 0x3f
jne 0x10207708
and esi, 0x1f
jne 0x102076e0
mov esi, dword [esp + 0x54]
mov eax, edi
and eax, 7
lea edx, [esi + eax*4]
mov esi, dword [esp + 0x40]
mov eax, dword [edx]
mov dword [edx], ebx
mov edx, eax
shr edx, 8
shl edx, 5
lea ebp, [esi + edx]
mov dword [esp + 0x4c], edx
mov edx, 0x1f
movzx ebx, byte [ebp]
sub ebx, 1
and ebx, 0x1f
cmove ebx, edx
mov edx, dword [esp + 0x28]
cmp dword [esp + 0x44], 0x20
mov byte [ebp], bl
mov edx, dword [edx + 0x50]
ja 0x10207680
mov esi, dword [esp + 0x38]
mov esi, dword [esi + edi]
imul esi, esi, 0x9e3779b1
movzx ecx, byte [esp + 0x48]
xor esi, edx
shr esi, cl
cmp eax, esi
je 0x10207608
mov dword [esp + 0x58], eax
mov dword [esp + 8], 0x375
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.hash__ZSTD_hashPtrSalted_base__updateStartIdx__hashLog__ZSTD_ROW_HASH_TAG_BITS__mls__ms__hashSalt_
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x58]
mov byte [ebp + ebx], al
mov eax, dword [esp + 0x4c]
add eax, ebx
mov ebx, eax
mov eax, dword [esp + 0x34]
mov dword [eax + ebx*4], edi
add edi, 1
cmp dword [esp + 0x50], edi
jne 0x10206e95
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
cmp dword [esp + 0x60], 0x20
mov dword [ebp + 0x1c], eax
mov eax, dword [esp + 0x24]
lea ebx, [eax + edi + 8]
ja 0x10208014
mov ebx, dword [ebx]
imul ebx, ebx, 0x9e3779b1
mov eax, dword [esp + 0x80]
mov ecx, 0x20
xor ebx, eax
mov eax, dword [esp + 0x60]
sub ecx, eax
mov eax, dword [esp + 0x70]
shr ebx, cl
mov esi, ebx
shr esi, 8
shl esi, 5
add esi, eax
test byte [esp + 0x6c], 0x3f
jne 0x10207ff2
and esi, 0x1f
jne 0x10207fd0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x54]
and eax, 7
lea edx, [edi + eax*4]
mov eax, dword [edx]
mov dword [edx], ebx
jmp 0x1020703c
cmp dword [esp + 0x60], 0x20
ja 0x10207d2c
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
imul eax, ebx, 0x9e3779b1
mov edi, dword [esp + 0x80]
mov ecx, 0x20
xor eax, edi
mov edi, dword [esp + 0x60]
sub ecx, edi
mov edi, dword [esp + 0x1c]
shr eax, cl
mov dword [ebp + 0x1c], edi
mov ecx, eax
mov edi, dword [esp + 0x6c]
add dword [ebp + 0x58], eax
shr ecx, 8
mov byte [esp + 0x44], al
movzx eax, al
mov edx, ecx
shl ecx, 7
imul eax, eax, 0x1010101
add edi, ecx
shl edx, 5
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x70]
add edi, edx
movzx ecx, byte [edi]
mov edx, dword [edi + 0x1c]
mov dword [esp + 0x40], edi
mov ebx, dword [edi + 0x18]
mov edi, dword [esp + 0x40]
mov esi, ecx
xor edx, eax
mov byte [esp + 0x38], cl
and esi, 0x1f
xor ebx, eax
mov dword [esp + 0x34], esi
mov esi, edx
or esi, 0x80808080
mov ecx, esi
sub ecx, 0x1010101
or ecx, edx
mov edx, ebx
and ecx, 0x80808080
or edx, 0x80808080
imul ecx, ecx, 0x204081
sub edx, 0x1010101
or edx, ebx
and edx, 0x80808080
shr ecx, 0x1c
mov esi, ecx
shl esi, 4
mov ecx, esi
imul esi, edx, 0x204081
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x14]
shr esi, 0x1c
xor ebx, eax
or esi, ecx
mov edx, ebx
shl esi, 4
or edx, 0x80808080
sub edx, 0x1010101
or edx, ebx
and edx, 0x80808080
imul ecx, edx, 0x204081
shr ecx, 0x1c
or ecx, esi
mov esi, dword [edi + 0x10]
mov edi, dword [esp + 0x40]
xor esi, eax
mov edx, esi
or edx, 0x80808080
sub edx, 0x1010101
or edx, esi
mov esi, ecx
and edx, 0x80808080
shl esi, 4
imul ecx, edx, 0x204081
shr ecx, 0x1c
or ecx, esi
mov esi, dword [edi + 0xc]
mov edi, dword [esp + 0x40]
xor esi, eax
mov edx, esi
or edx, 0x80808080
sub edx, 0x1010101
or edx, esi
mov esi, ecx
and edx, 0x80808080
shl esi, 4
imul ecx, edx, 0x204081
shr ecx, 0x1c
or ecx, esi
mov esi, dword [edi + 8]
mov edi, dword [esp + 0x40]
xor esi, eax
mov edx, esi
or edx, 0x80808080
sub edx, 0x1010101
or edx, esi
mov esi, ecx
and edx, 0x80808080
shl esi, 4
imul ecx, edx, 0x204081
shr ecx, 0x1c
or ecx, esi
mov esi, dword [edi + 4]
mov edi, dword [esp + 0x40]
xor esi, eax
mov edx, esi
or edx, 0x80808080
sub edx, 0x1010101
or edx, esi
mov esi, ecx
shl esi, 4
xor eax, dword [edi]
and edx, 0x80808080
xor edi, edi
imul ecx, edx, 0x204081
mov edx, eax
or eax, 0x80808080
sub eax, 0x1010101
or eax, edx
and eax, 0x80808080
shr ecx, 0x1c
imul eax, eax, 0x204081
or ecx, esi
mov edx, ecx
movzx ecx, byte [esp + 0x38]
shl edx, 4
shr eax, 0x1c
or eax, edx
xor edx, edx
not eax
ror eax, cl
test eax, eax
je 0x102080c0
mov dword [esp + 0x48], ebp
mov esi, dword [sym.imp.msvcrt.dll__assert]
mov ebp, dword [esp + 0x5c]
jmp 0x1020723d
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jb 0x10207290
mov dword [esp + edi*4 + 0x90], ebx
sub ebp, 1
add edi, 1
mov ecx, eax
mov ebx, edx
add ecx, 0xffffffff
adc ebx, 0xffffffff
and eax, ecx
and edx, ebx
mov ecx, eax
or ecx, edx
je 0x10207290
test ebp, ebp
je 0x10207290
mov ebx, dword [esp + 0x34]
xor ecx, ecx
tzcnt ecx, eax
add ecx, ebx
mov ebx, dword [esp + 0x28]
and ecx, 0x1f
mov ebx, dword [ebx + ecx*4]
je 0x10207225
cmp edi, 0x1f
jbe 0x10207210
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 8], 0x4bb
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.numMatches___rowEntries
call esi
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
cmp ebx, ecx
jae 0x10207218
lea esi, [esi]
nop
mov eax, dword [esp + 0x40]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x48]
movzx eax, byte [eax]
mov byte [esp + 0x38], al
add eax, 0x1f
mov edx, 0x1f
mov esi, dword [esp + 0x40]
and eax, 0x1f
cmove eax, edx
movzx edx, byte [esp + 0x44]
mov byte [esi], al
mov byte [esi + eax], dl
mov edx, dword [ebp + 0x1c]
mov esi, dword [esp + 0x28]
lea ecx, [edx + 1]
mov dword [ebp + 0x1c], ecx
mov dword [esi + eax*4], edx
test edi, edi
je 0x102080ca
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], edi
mov ebp, 3
xor esi, esi
sub eax, 3
mov dword [esp + 0x40], eax
mov eax, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x34], eax
jmp 0x1020733c
mov eax, dword [esp + 0x18]
cmp ebx, eax
jb 0x10207370
mov eax, dword [esp + 0x24]
lea edi, [eax + ebx]
mov eax, dword [esp + 0x2c]
cmp ebx, eax
jb 0x102073a0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + ebp - 3]
cmp dword [edi + ebp - 3], eax
je 0x102073cf
mov eax, dword [esp + 0x28]
add esi, 1
cmp esi, eax
je 0x10207430
mov ebx, dword [esp + esi*4 + 0x90]
mov eax, dword [esp + 0x1c]
cmp ebx, eax
jb 0x10207300
mov dword [esp + 8], 0x4d3
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], 0x1044d106
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x18]
cmp ebx, eax
jae 0x10207308
mov eax, dword [esp + 0x34]
mov dword [esp + 8], 0x4d4
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.matchIndex___lowLimit
call eax
mov eax, dword [esp + 0x24]
lea edi, [eax + ebx]
mov eax, dword [esp + 0x2c]
cmp ebx, eax
jae 0x1020731b
mov dword [esp + 8], 0x4d8
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.matchIndex___dictLimit
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + ebp - 3]
cmp dword [edi + ebp - 3], eax
jne 0x1020732d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
cmp edx, eax
jae 0x10207748
mov eax, dword [edi]
mov edx, dword [edx]
cmp eax, edx
je 0x10207870
xor eax, edx
xor edi, edi
tzcnt edi, eax
shr edi, 3
cmp ebp, edi
jae 0x1020732d
cmp dword [esp + 0x1c], ebx
je 0x10207c58
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x1b0]
mov ebp, edi
add eax, 3
sub eax, ebx
mov dword [edx], eax
mov eax, dword [esp + 0x14]
add eax, edi
cmp dword [esp + 0x30], eax
jne 0x1020732d
lea esi, [esi]
mov dword [esp + 0x40], ebp
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esi + 4]
add edi, eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov dword [esp + 0x18], eax
sub eax, ecx
sub ebx, eax
mov eax, 3
cmp edi, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x7c]
cmovbe eax, edi
add ebx, 0x40000003
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x5c]
test edi, edi
je 0x102075f4
mov esi, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x50], edi
xor ebp, ebp
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x44], esi
jmp 0x102074d8
lea edi, [esi + 4]
cmp dword [esp + 0x18], edi
jb 0x10207520
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp dword [esi], eax
je 0x10207553
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
add ebp, 1
add ecx, 4
mov eax, dword [eax + 0x5c]
cmp ebp, edx
jae 0x10207900
mov ebx, dword [eax + ecx]
mov eax, dword [esp + 0x24]
lea esi, [eax + ebx]
test ebx, ebx
je 0x102075f4
mov eax, dword [esp + 0x28]
cmp ebx, eax
jae 0x102074a8
mov dword [esp + 0x34], ecx
lea edi, [esi + 4]
mov dword [esp + 8], 0x22d
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.matchIndex___ddsLowestIndex
call dword [sym.imp.msvcrt.dll__assert]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x18], edi
jae 0x102074b1
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 8], 0x22e
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.match4___ddsEnd
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax]
cmp dword [esi], eax
jne 0x102074bf
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add eax, 4
sub edx, edi
add edx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
cmp eax, edx
cmovbe edx, eax
mov dword [esp + 0x38], edx
lea eax, [edx - 3]
cmp dword [esp + 0x34], eax
jae 0x10207790
mov edx, dword [esi + 4]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
cmp dword [esp + 0x48], edx
je 0x102078b0
mov eax, dword [esp + 0x48]
xor eax, edx
tzcnt eax, eax
shr eax, 3
add edi, eax
cmp dword [esp + 0x18], edi
je 0x102077d9
lea esi, [eax + 4]
cmp dword [esp + 0x40], esi
jae 0x102074bf
mov eax, dword [esp + 0x4c]
add ebx, eax
cmp dword [esp + 0x1c], ebx
je 0x10207ca0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x1b0]
mov dword [esp + 0x40], esi
add eax, 3
sub eax, ebx
mov dword [edi], eax
mov eax, dword [esp + 0x14]
add eax, esi
cmp dword [esp + 0x30], eax
jne 0x102074bf
mov eax, dword [esp + 0x40]
add esp, 0x19c
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [ebp + ebx], al
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
add eax, ebx
mov dword [edx + eax*4], edi
add edi, 1
cmp dword [esp + 0x50], edi
je 0x10206f8d
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x44], 0x20
mov esi, dword [eax + 0x50]
jbe 0x10206ea7
mov dword [esp + 8], 0x353
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d091
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + edi + 8]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10206eaf
mov ecx, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 8], 0x353
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d091
call ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x58]
mov esi, dword [eax + edi]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call ecx
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
jmp 0x10206f31
mov dword [esp + 8], 0x32f
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_tagTable__relRow___size_t_1____rowLog_
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10206ee0
mov dword [esp + 8], 0x32e
mov eax, dword [esp + 0x88]
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_hashTable__relRow__64_
call eax
jmp 0x10206ed7
mov eax, dword [esp + 0x40]
add edx, 4
add edi, 4
cmp edx, eax
jb 0x10207886
lea esi, [esi]
mov eax, dword [esp + 0x30]
sub eax, 1
cmp edx, eax
jae 0x10207768
movzx eax, word [edx]
cmp word [edi], ax
jne 0x10207768
add edx, 2
add edi, 2
lea esi, [esi]
mov eax, dword [esp + 0x30]
cmp edx, eax
jae 0x1020777d
movzx eax, byte [edx]
cmp byte [edi], al
sete al
movzx eax, al
add edx, eax
mov eax, dword [esp + 0x14]
mov edi, edx
sub edi, eax
jmp 0x102073f6
mov edx, dword [esp + 0x34]
mov esi, edi
mov eax, dword [esp + 0x38]
sub eax, 1
cmp edx, eax
jae 0x102077b0
movzx eax, word [edx]
cmp word [esi], ax
jne 0x102077b0
add edx, 2
add esi, 2
nop
mov eax, dword [esp + 0x38]
cmp edx, eax
jae 0x102077c5
movzx eax, byte [edx]
cmp byte [esi], al
sete al
movzx eax, al
add edx, eax
mov esi, dword [esp + 0x34]
mov eax, edx
sub eax, esi
add edi, eax
cmp dword [esp + 0x18], edi
jne 0x102075b1
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
add esi, eax
lea edx, [edi - 3]
mov edi, dword [esp + 0x78]
cmp esi, edx
mov dword [esp + 0x34], esi
jae 0x10207b80
mov esi, dword [edi]
mov edi, dword [esp + 0x34]
mov edi, dword [edi]
cmp esi, edi
jne 0x10207d18
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x78]
add edi, 4
add esi, 4
mov dword [esp + 0x38], esi
cmp edi, edx
jae 0x10207b88
mov esi, dword [esp + 0x34]
mov dword [esp + 0x5c], ebx
mov ebx, ebp
mov ebp, dword [esp + 0x38]
mov ebp, dword [ebp]
mov dword [esp + 0x48], ebp
mov ebp, dword [edi]
mov dword [esp + 0x58], ebp
cmp dword [esp + 0x48], ebp
je 0x10208097
mov dword [esp + 0x34], esi
mov edx, dword [esp + 0x48]
mov ebp, ebx
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
xor edx, esi
tzcnt edx, edx
shr edx, 3
add edi, edx
mov edx, dword [esp + 0x34]
sub edi, edx
add eax, edi
jmp 0x102075b1
mov eax, dword [esp + 0x14]
add edi, 4
lea edx, [eax + 4]
mov eax, dword [esp + 0x40]
cmp edx, eax
jae 0x10207748
mov eax, dword [edi]
mov ecx, dword [edx]
cmp eax, ecx
je 0x10207730
xor eax, ecx
tzcnt eax, eax
shr eax, 3
lea edi, [edx + eax]
mov eax, dword [esp + 0x14]
sub edi, eax
jmp 0x102073f6
mov edx, dword [esp + 0x14]
add esi, 8
add edx, 8
cmp edx, eax
jae 0x10207796
mov dword [esp + 0x58], eax
mov eax, ebx
mov ebx, dword [esi]
mov dword [esp + 0x48], ebx
mov ebx, dword [edx]
cmp dword [esp + 0x48], ebx
je 0x10207c80
mov esi, ebx
mov ebx, eax
mov eax, dword [esp + 0x48]
xor eax, esi
mov esi, dword [esp + 0x34]
tzcnt eax, eax
shr eax, 3
add eax, edx
sub eax, esi
jmp 0x102075a5
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov ebx, dword [eax + ebx*4]
mov eax, edi
sub eax, ebp
mov ecx, ebx
movzx ebx, bl
shr ecx, 8
cmp ebx, eax
cmova ebx, eax
test ebx, ebx
je 0x102075f4
lea ebp, [ecx*4]
mov eax, dword [esp + 0x20]
add ecx, ebx
lea edi, [ecx*4]
mov eax, dword [eax + 0x64]
mov dword [esp + 0x2c], edi
lea edx, [eax + ebp]
lea ecx, [eax + edi]
lea esi, [esi]
add edx, 4
cmp edx, ecx
jne 0x10207948
mov edi, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x38], edi
jmp 0x10207989
lea edi, [esi + 4]
cmp dword [esp + 0x18], edi
jb 0x102079c1
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp dword [esi], eax
je 0x102079e8
mov eax, dword [esp + 0x2c]
add ebp, 4
cmp ebp, eax
je 0x102075f4
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x64]
mov ebx, dword [eax + ebp]
mov eax, dword [esp + 0x24]
lea esi, [eax + ebx]
mov eax, dword [esp + 0x28]
cmp ebx, eax
jae 0x10207960
mov dword [esp + 8], 0x252
lea edi, [esi + 4]
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.matchIndex___ddsLowestIndex
call dword [sym.imp.msvcrt.dll__assert]
cmp dword [esp + 0x18], edi
jae 0x10207969
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0x253
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.match4___ddsEnd
call eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp dword [esi], eax
jne 0x10207973
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
lea edx, [eax + 4]
mov eax, dword [esp + 0x18]
sub eax, edi
add eax, edx
cmp ecx, eax
cmovbe eax, ecx
mov dword [esp + 0x34], eax
sub eax, 3
cmp edx, eax
jae 0x10207a88
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
cmp dword [esp + 0x44], ecx
je 0x10207b38
mov eax, dword [esp + 0x44]
xor eax, ecx
tzcnt eax, eax
shr eax, 3
add edi, eax
cmp dword [esp + 0x18], edi
je 0x10207acd
lea esi, [eax + 4]
cmp dword [esp + 0x40], esi
jae 0x10207973
mov eax, dword [esp + 0x4c]
add ebx, eax
cmp dword [esp + 0x1c], ebx
je 0x10208075
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x1b0]
mov dword [esp + 0x40], esi
add eax, 3
sub eax, ebx
mov dword [edi], eax
mov eax, dword [esp + 0x14]
add eax, esi
cmp dword [esp + 0x30], eax
jne 0x10207973
jmp 0x102075f4
mov esi, edi
mov ecx, edx
mov eax, dword [esp + 0x34]
sub eax, 1
cmp ecx, eax
jae 0x10207aa8
movzx eax, word [ecx]
cmp word [esi], ax
jne 0x10207aa8
add ecx, 2
add esi, 2
lea esi, [esi]
mov eax, dword [esp + 0x34]
cmp ecx, eax
jae 0x10207abd
movzx eax, byte [ecx]
cmp byte [esi], al
sete al
movzx eax, al
add ecx, eax
mov eax, ecx
sub eax, edx
add edi, eax
cmp dword [esp + 0x18], edi
jne 0x10207a3c
mov edi, dword [esp + 0x30]
lea esi, [edx + eax]
lea ecx, [edi - 3]
mov edi, dword [esp + 0x78]
cmp esi, ecx
jae 0x10207cd0
mov edx, dword [edi]
mov edi, dword [esi]
cmp edx, edi
jne 0x10207d6f
mov edx, dword [esp + 0x78]
lea edi, [esi + 4]
add edx, 4
mov dword [esp + 0x34], edx
cmp edi, ecx
jae 0x10207cd6
mov edx, dword [esp + 0x34]
mov edx, dword [edx]
mov dword [esp + 0x44], edx
mov edx, dword [edi]
cmp dword [esp + 0x44], edx
je 0x102080d7
mov ecx, dword [esp + 0x44]
xor ecx, edx
xor edx, edx
tzcnt edx, ecx
shr edx, 3
add edi, edx
sub edi, esi
add eax, edi
jmp 0x10207a3c
mov ecx, dword [esp + 0x14]
add esi, 8
add ecx, 8
cmp ecx, eax
jae 0x10207a8c
mov dword [esp + 0x50], eax
mov eax, dword [esi]
mov dword [esp + 0x44], eax
mov eax, dword [ecx]
mov dword [esp + 0x48], eax
cmp dword [esp + 0x44], eax
je 0x10207fb0
mov esi, eax
mov eax, dword [esp + 0x44]
xor eax, esi
tzcnt eax, eax
shr eax, 3
add eax, ecx
sub eax, edx
jmp 0x10207a30
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
sub edx, 1
cmp edi, edx
jae 0x10207bb0
mov edx, dword [esp + 0x38]
movzx esi, word [edi]
cmp word [edx], si
jne 0x10207bb0
add dword [esp + 0x38], 2
add edi, 2
lea esi, [esi]
nop
mov edx, dword [esp + 0x30]
cmp edi, edx
jae 0x10207bc9
mov esi, dword [esp + 0x38]
movzx edx, byte [edi]
cmp byte [esi], dl
sete dl
movzx edx, dl
add edi, edx
mov edx, dword [esp + 0x34]
sub edi, edx
add eax, edi
jmp 0x102075b1
mov edx, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 8], 0x342
mov dword [esp + 4], 0x1044cfac
mov dword [esp + 0x34], edx
mov dword [esp], 0x1044d091
call edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
mov esi, dword [eax]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call edx
jmp 0x10206dbf
mov dword [esp + 8], 0x574
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.MAX_4__MIN_6__ms__cParams.minMatch____4
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10206cf1
mov dword [esp + 8], 0x4e6
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], 0x1044d0ad
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10207408
mov ebx, dword [esp + 0x58]
add edx, 4
add esi, 4
cmp edx, ebx
jb 0x102078c8
mov ebx, eax
jmp 0x10207796
mov dword [esp + 0x34], ecx
mov dword [esp + 8], 0x237
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str._curr____matchIndex__ddsIndexDelta___0
call dword [sym.imp.msvcrt.dll__assert]
mov ecx, dword [esp + 0x34]
jmp 0x102075ce
mov dword [esp + 0x34], edi
mov edi, esi
mov ecx, dword [esp + 0x30]
lea edx, [ecx - 1]
cmp edi, edx
jae 0x10207cf1
mov ecx, dword [esp + 0x34]
movzx edx, word [edi]
cmp word [ecx], dx
je 0x102080f0
mov ecx, dword [esp + 0x30]
cmp edi, ecx
jae 0x10207d0a
mov ecx, dword [esp + 0x34]
movzx edx, byte [edi]
cmp byte [ecx], dl
sete dl
movzx edx, dl
add edi, edx
sub edi, esi
add eax, edi
jmp 0x10207a3c
mov edx, esi
xor edx, edi
xor edi, edi
tzcnt edi, edx
shr edi, 3
add eax, edi
jmp 0x102075b1
mov dword [esp + 8], 0x353
mov esi, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d091
call esi
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call esi
jmp 0x10207019
xor edx, edi
xor edi, edi
tzcnt edi, edx
shr edi, 3
add eax, edi
jmp 0x10207a3c
mov ebx, dword [ebp + 0x5c]
lea eax, [edi + 0x60]
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], ebx
mov ebx, dword [ebp + 0x28]
mov dword [esp + 0x40], ebx
cmp edi, eax
jae 0x10207ed0
lea esi, [ecx + 8]
mov eax, 0x20
mov dword [esp + 0x38], ebp
sub eax, esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
mov eax, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x44], 0x20
mov esi, dword [eax + 0x50]
ja 0x10208148
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + edi + 8]
imul ebx, ebx, 0x9e3779b1
movzx ecx, byte [esp + 0x48]
mov eax, dword [esp + 0x40]
xor ebx, esi
shr ebx, cl
mov esi, ebx
shr esi, 8
shl esi, 5
add esi, eax
test byte [esp + 0x34], 0x3f
jne 0x10208213
and esi, 0x1f
jne 0x102081f1
mov ecx, dword [esp + 0x54]
mov eax, edi
and eax, 7
lea edx, [ecx + eax*4]
mov ecx, dword [esp + 0x38]
mov eax, dword [edx]
mov dword [edx], ebx
mov ebx, dword [esp + 0x40]
mov edx, eax
shr edx, 8
shl edx, 5
lea ebp, [ebx + edx]
mov dword [esp + 0x4c], edx
mov edx, 0x1f
movzx ebx, byte [ebp]
sub ebx, 1
and ebx, 0x1f
cmove ebx, edx
cmp dword [esp + 0x44], 0x20
mov byte [ebp], bl
mov edx, dword [ecx + 0x50]
ja 0x1020818f
mov ecx, dword [esp + 0x28]
mov esi, dword [ecx + edi]
imul esi, esi, 0x9e3779b1
movzx ecx, byte [esp + 0x48]
xor esi, edx
shr esi, cl
cmp eax, esi
je 0x10208118
mov dword [esp + 0x64], eax
mov dword [esp + 8], 0x375
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.hash__ZSTD_hashPtrSalted_base__updateStartIdx__hashLog__ZSTD_ROW_HASH_TAG_BITS__mls__ms__hashSalt_
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x64]
mov byte [ebp + ebx], al
mov eax, dword [esp + 0x4c]
add eax, ebx
mov ebx, eax
mov eax, dword [esp + 0x34]
mov dword [eax + ebx*4], edi
add edi, 1
cmp dword [esp + 0x58], edi
jne 0x10207dc3
mov ebp, dword [esp + 0x38]
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
lea edi, [esi - 0x20]
add eax, 1
lea edx, [ebx + edi]
cmp eax, edx
jb 0x102080fd
sub eax, edx
mov edx, 8
add eax, 1
cmp eax, edx
cmova eax, edx
add eax, edi
mov dword [esp + 0x44], eax
cmp edi, eax
jae 0x10206e45
add ecx, 8
mov eax, 0x20
mov edx, edi
sub eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x48], eax
cmp ecx, 0x20
ja 0x10208265
mov dword [esp + 0x4c], edi
mov edi, ebp
mov ebp, edx
jmp 0x10207f61
and esi, 0x1f
jne 0x10208238
mov edx, ebp
mov eax, dword [esp + 0x44]
add ebp, 1
and edx, 7
mov dword [edi + edx*4 + 0x2c], ebx
cmp ebp, eax
jae 0x1020825a
mov eax, dword [esp + 0x28]
movzx ecx, byte [esp + 0x38]
imul ebx, dword [eax + ebp], 0x9e3779b1
xor ebx, dword [edi + 0x50]
shr ebx, cl
mov eax, dword [esp + 0x40]
mov esi, ebx
shr esi, 8
shl esi, 5
add esi, eax
test byte [esp + 0x34], 0x3f
je 0x10207f40
mov dword [esp + 8], 0x32e
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_hashTable__relRow__64_
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10207f40
mov eax, dword [esp + 0x50]
add ecx, 4
add esi, 4
cmp ecx, eax
jb 0x10207b4e
jmp 0x10207a8c
mov dword [esp + 8], 0x32f
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_tagTable__relRow___size_t_1____rowLog_
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10206fef
mov dword [esp + 8], 0x32e
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_hashTable__relRow__64_
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10206fe6
mov dword [esp + 8], 0x353
mov esi, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d091
call esi
mov ebx, dword [ebx]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call esi
jmp 0x10206fb1
mov dword [esp + 8], 0x397
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.target___idx
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10206e4f
mov dword [esp + 8], 0x25c
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str._curr____matchIndex__ddsIndexDelta___0
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10207a59
add edi, 4
add dword [esp + 0x38], 4
cmp edi, edx
jb 0x1020782a
mov ebp, ebx
mov dword [esp + 0x34], esi
mov ebx, dword [esp + 0x5c]
jmp 0x10207b88
movzx eax, byte [esp + 0x38]
jmp 0x102072a3
mov dword [esp + 0x40], 3
jmp 0x10207434
add edi, 4
add dword [esp + 0x34], 4
cmp edi, ecx
jb 0x10207b05
jmp 0x10207cd6
add dword [esp + 0x34], 2
add edi, 2
jmp 0x10207cf1
cmp esi, edi
jb 0x10208053
mov eax, dword [ebp + 4]
mov dword [esp + 0x38], eax
jmp 0x10206e73
mov byte [ebp + ebx], al
mov eax, dword [esp + 0x4c]
add eax, ebx
mov ebx, dword [esp + 0x34]
mov dword [ebx + eax*4], edi
add edi, 1
cmp dword [esp + 0x58], edi
je 0x10207ebb
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x44], 0x20
mov esi, dword [eax + 0x50]
jbe 0x10207dd5
mov dword [esp + 8], 0x353
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d091
call dword [sym.imp.msvcrt.dll__assert]
mov eax, dword [esp + 0x28]
mov ebx, dword [eax + edi + 8]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10207ddd
mov ecx, dword [sym.imp.msvcrt.dll__assert]
mov dword [esp + 0x88], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 8], 0x353
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d091
call ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
mov esi, dword [eax + edi]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d0a5
call ecx
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x88]
jmp 0x10207e5f
mov dword [esp + 8], 0x32f
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_tagTable__relRow___size_t_1____rowLog_
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x10207e0e
mov dword [esp + 8], 0x32e
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_hashTable__relRow__64_
call eax
jmp 0x10207e05
mov dword [esp + 8], 0x32f
mov eax, dword [esp + 0x48]
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_tagTable__relRow___size_t_1____rowLog_
call eax
jmp 0x10207f49
mov ebp, edi
mov edi, dword [esp + 0x4c]
jmp 0x10206e45
mov dword [esp + 0x48], edi
mov esi, eax
mov dword [esp + 0x4c], edi
jmp 0x10208296
and edi, 0x1f
jne 0x1020831c
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov edx, eax
add eax, 1
and edx, 7
mov dword [ebp + edx*4 + 0x2c], ebx
mov dword [esp + 0x48], eax
cmp eax, edi
jae 0x1020825c
mov edi, dword [ebp + 0x50]
mov dword [esp + 8], 0x353
mov dword [esp + 4], 0x1044cfac
mov dword [esp], 0x1044d091
call esi
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x48]
mov ebx, dword [eax + ebx]
mov dword [esp + 8], 0x324
mov dword [esp + 4], 0x1044cfac
imul ebx, ebx, 0x9e3779b1
mov dword [esp], 0x1044d0a5
call esi
movzx ecx, byte [esp + 0x38]
mov eax, dword [esp + 0x40]
xor ebx, edi
shr ebx, cl
mov edi, ebx
shr edi, 8
shl edi, 5
add edi, eax
test byte [esp + 0x34], 0x3f
je 0x10208271
mov dword [esp + 8], 0x32e
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_hashTable__relRow__64_
call esi
jmp 0x10208271
mov dword [esp + 8], 0x32f
mov dword [esp + 4], str.zstd_lib_compress_zstd_lazy.c
mov dword [esp], str.ZSTD_isAligned_tagTable__relRow___size_t_1____rowLog_
call esi
jmp 0x1020827a