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

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x9c
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
call fcn.1023f1b0
mov esi, eax
cmp eax, 0xffffff88
ja 0x10272861
cmp eax, 1
je 0x10272850
mov edi, dword [ebx + 0x2cc]
test edi, edi
jne 0x10272870
mov esi, dword [ebx + 0x854]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xd4]
mov edx, dword [ebx + 0x2e8]
mov dword [esp + 0x38], esi
mov esi, dword [ebx + 0x850]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x938]
mov dword [esp + 0x3c], esi
mov esi, dword [ebx + 0x2fc]
mov dword [esp + 0x58], eax
add eax, 0xd4
mov dword [esp + 0x60], esi
mov esi, dword [ebx + 0x2f8]
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 0x2e4]
mov dword [esp + 0x68], esi
mov esi, dword [ebx + 0x2ec]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x2f0]
sub edx, ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebx + 0x2f4]
sub eax, esi
mov dword [esp + 0x54], edx
sar edx, 3
mov dword [esp + 0x64], ecx
mov ecx, 1
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], edx
jne 0x102728a0
mov eax, dword [ebx + 0xf8]
mov edx, dword [esp + 0x44]
cmp eax, 1
je 0x102725d8
cmp eax, 2
je 0x10272918
test eax, eax
je 0x102725be
mov dword [esp + 0x6c], ecx
mov dword [esp + 8], 0x264
mov dword [esp + 4], 0x1044a408
mov dword [esp], 0x1044ad92
call dword [sym.imp.msvcrt.dll__assert]
mov edx, dword [ebx + 0xd4]
mov ecx, dword [esp + 0x6c]
cmp edx, 1
jne 0x102725d8
mov edi, dword [ebx + 0xd0]
xor eax, eax
test edi, edi
setne al
mov edi, eax
lea esi, [esi]
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], 0x2204
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.1028d6c0
mov esi, eax
cmp eax, 0xffffff88
ja 0x102728f8
cmp ebp, eax
jb 0x102728d0
mov eax, dword [esp + 0x34]
mov edx, ebp
sub edx, esi
add eax, esi
cmp edx, 3
jle 0x10272a38
cmp dword [esp + 0x54], 0x3f8
ja 0x10272928
movzx ecx, byte [esp + 0x40]
lea edi, [eax + 1]
mov dword [esp + 0x50], edi
mov byte [eax], cl
mov eax, dword [esp + 0x34]
add eax, ebp
mov dword [esp + 0x6c], eax
cmp eax, edi
jb 0x10272a10
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
add eax, 0x408
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3c]
lea esi, [eax + 0x408]
test edi, edi
je 0x102727d0
mov eax, dword [esp + 0x50]
mov dword [esp], esi
lea edx, [ebx + 0x2e4]
mov dword [esp + 0x1c], 0x2204
mov ecx, dword [esp + 0x40]
lea edi, [eax + 1]
mov eax, dword [esp + 0x48]
mov dword [esp + 8], edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
lea eax, [esp + 0x78]
call fcn.1023f990
mov esi, dword [esp + 0x84]
cmp esi, 0xffffff88
ja 0x102728f8
movzx eax, byte [esp + 0x78]
movzx edx, byte [esp + 0x7c]
add edi, esi
mov ecx, dword [esp + 0x50]
shl edx, 4
shl eax, 6
add eax, edx
mov edx, dword [esp + 0x80]
lea eax, [eax + edx*4]
mov byte [ecx], al
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x38]
mov dword [esp], edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], eax
lea eax, [ecx + 0xcb8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
lea eax, [ecx + 0x70c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
sub eax, edi
mov dword [esp + 4], eax
call fcn.10297250
mov esi, eax
cmp eax, 0xffffff88
ja 0x102728f8
add edi, eax
cmp dword [esp + 0x6c], edi
jb 0x10272b18
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x102727c6
add eax, esi
cmp eax, 3
jbe 0x10272b3a
mov eax, dword [esp + 0x34]
sub edi, eax
mov esi, edi
jmp 0x10272812
mov eax, dword [eax + 0x408]
mov edi, dword [esp + 0x38]
mov dword [edi + 0x408], eax
add edi, 0x40c
mov eax, dword [esi + 0xddc]
mov ecx, dword [esp + 0x54]
and edi, 0xfffffffc
mov dword [ecx + 0xddc], eax
sub ecx, edi
sub esi, ecx
add ecx, 0xde0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
sub esi, eax
test esi, esi
jne 0x10272960
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x10272850
mov esi, dword [ebx + 0x2dc]
test esi, esi
jne 0x10272850
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
call fcn.1029eb70
test eax, eax
jne 0x10272a90
lea esi, [esi]
mov eax, dword [ebx + 0x850]
xor esi, esi
cmp dword [eax + 0x11dc], 2
je 0x102728b8
add esp, 0x9c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
xor esi, esi
call fcn.102931b0
mov eax, dword [ebx + 0x850]
mov edx, dword [ebx + 0x854]
mov dword [ebx + 0x854], eax
mov eax, esi
mov dword [ebx + 0x850], edx
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, edx
xor edx, edx
div ecx
xor ecx, ecx
cmp eax, 0x13
seta cl
jmp 0x10272577
mov dword [eax + 0x11dc], 1
add esp, 0x9c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0xb40
mov dword [esp + 4], str.zstd_lib_compress_zstd_compress.c
mov dword [esp], str.cSize___dstCapacity
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x1027263b
cmp esi, 0xffffffba
jne 0x1027290a
cmp ebp, dword [esp + 0xb4]
jae 0x1027281a
mov eax, dword [ebx + 0x850]
jmp 0x10272858
mov edi, 1
jmp 0x102725d8
cmp dword [esp + 0x54], 0x3f7f8
ja 0x10272a58
mov edi, dword [esp + 0x40]
add eax, 2
mov edx, edi
mov ecx, edi
shr edx, 8
mov byte [eax - 1], cl
add edx, 0xffffff80
mov byte [eax - 2], dl
mov edi, eax
mov dword [esp + 0x50], eax
jmp 0x1027266a
cmp esi, 0xffffffba
jne 0x10272972
cmp ebp, dword [esp + 0xb4]
jae 0x1027281a
cmp esi, 0xffffff88
ja 0x1027290a
mov edx, dword [ebx + 0xd4]
mov ecx, 7
mov eax, 0x6b
cmp edx, ecx
cmovae ecx, edx
lea edi, [ecx - 1]
call fcn.102404b0
test eax, eax
je 0x10272ab0
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb4]
mov ecx, edi
sub eax, 2
shr edx, cl
sub eax, edx
cmp esi, eax
jae 0x1027281a
cmp esi, 0x1ffff
ja 0x10272af0
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x10272ad8
mov edx, dword [ebx + 0x2dc]
test edx, edx
jne 0x10272ad8
cmp esi, 0x18
jbe 0x10272a78
lea esi, [esi]
mov edx, dword [ebx + 0x850]
mov eax, dword [ebx + 0x854]
mov dword [ebx + 0x854], edx
mov dword [ebx + 0x850], eax
jmp 0x10272858
mov dword [esp + 8], 0xb52
mov dword [esp + 4], str.zstd_lib_compress_zstd_compress.c
mov dword [esp], str.op___oend
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x1027267c
cmp ebp, dword [esp + 0xb4]
jae 0x1027281a
mov eax, dword [ebx + 0x850]
mov esi, 0xffffffba
jmp 0x10272858
movzx edi, word [esp + 0x40]
mov byte [eax], 0xff
add eax, 3
lea edx, [edi - 0x7f00]
mov word [eax - 2], dx
mov edi, eax
mov dword [esp + 0x50], eax
jmp 0x1027266a
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xb0]
call fcn.1029eb70
test eax, eax
je 0x10272ad8
nop
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0x34]
mov esi, 1
movzx eax, byte [eax]
mov byte [edi], al
mov eax, dword [ebx + 0x850]
jmp 0x10272858
mov dword [esp + 8], 0x258
mov dword [esp + 4], 0x1044a408
mov dword [esp], 0x1044ba48
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x1027299c
mov eax, dword [ebx + 0x850]
cmp esi, 1
jne 0x102729f0
jmp 0x10272858
mov dword [esp + 8], 0xba7
mov dword [esp + 4], str.zstd_lib_compress_zstd_compress.c
mov dword [esp], str.cSize___ZSTD_BLOCKSIZE_MAX
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x102729f0
mov dword [esp + 8], 0xb70
mov dword [esp + 4], str.zstd_lib_compress_zstd_compress.c
mov dword [esp], str.op___oend
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x102727b3
je 0x1027281a
mov dword [esp + 8], 0xb7b
mov dword [esp + 4], str.zstd_lib_compress_zstd_compress.c
mov dword [esp], str.lastCountSize__bitstreamSize__3
call dword [sym.imp.msvcrt.dll__assert]
jmp 0x1027281a