Function at 0x100edbe0
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x60
mov r12, rcx
mov ecx, dword [rcx + 0x24]
mov rbx, rdx
mov eax, dword [r12 + 0x18]
mov r14d, dword [r12 + 0x60]
mov edx, ecx
sub edx, eax
cmp r14d, edx
jbe 0x100edc26
mov r8d, dword [r12 + 0x68]
cmp edx, 2
jbe 0x100edd08
mov r14d, edx
cmp r8d, 1
je 0x100edd31
mov r13d, eax
add r13, qword [r12]
mov rdx, qword [0x10589df0]
movzx ecx, byte [r13]
add eax, dword [r12 + 0x14]
mov r8, qword [r12 + 0x40]
mov r15d, eax
movzx eax, byte [r13 + 1]
xor eax, dword [rdx + rcx*4]
mov esi, r15d
mov edx, eax
and eax, 0x3ff
lea rcx, [r8 + rax*4]
movzx eax, byte [r13 + 2]
sub esi, dword [rcx]
shl eax, 8
xor eax, edx
and eax, dword [r12 + 0x58]
add eax, 0x400
lea rax, [r8 + rax*4]
mov r9d, dword [rax]
mov dword [rcx], r15d
mov dword [rax], r15d
mov eax, dword [r12 + 0x54]
mov r10d, eax
cmp eax, esi
jbe 0x100edca0
mov edi, esi
mov rdx, r13
movzx ecx, byte [r13]
sub rdx, rdi
cmp byte [rdx], cl
je 0x100edd50
mov r11d, dword [r12 + 0x50]
mov r8, qword [r12 + 0x48]
mov rsi, rbx
mov edx, 2
mov ecx, dword [r12 + 0x5c]
mov dword [rsp + 0x48], edx
mov edx, r15d
mov qword [rsp + 0x28], r8
mov r8, r13
mov dword [rsp + 0x20], ecx
mov ecx, r14d
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r11d
call sym.bt_find_func
mov rcx, r12
sub rax, rbx
mov r13, rax
sar r13, 3
call sym.move_pos
mov eax, r13d
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
test r8d, r8d
jne 0x100edd31
lea rcx, str.mf__action___LZMA_RUN
mov r8d, 0x26e
lea rdx, str.xz_5.2_src_liblzma_lz_lz_encoder_mf.c
call qword [sym.imp.msvcrt.dll__assert]
mov eax, dword [r12 + 0x18]
mov ecx, dword [r12 + 0x24]
add eax, 1
mov dword [r12 + 0x18], eax
cmp eax, ecx
ja 0x100eddc0
add dword [r12 + 0x28], 1
xor r13d, r13d
jmp 0x100edcf2
cmp r14d, 1
jbe 0x100edde0
test r14d, r14d
js 0x100ede38
cmp r14d, 2
je 0x100ede66
mov rax, r13
mov edx, 2
sub rax, rdi
add rax, 2
jmp 0x100edd90
add edx, 1
add rax, 1
cmp r14d, edx
jbe 0x100ede70
movzx ecx, byte [rax]
cmp byte [rax + rdi], cl
je 0x100edd80
sub esi, 1
mov dword [rbx], edx
mov r11d, dword [r12 + 0x50]
mov eax, r10d
mov r8, qword [r12 + 0x48]
mov ecx, dword [r12 + 0x5c]
mov dword [rbx + 4], esi
lea rsi, [rbx + 8]
jmp 0x100edcb7
mov r8d, 0xb5
lea rdx, str.xz_5.2_src_liblzma_lz_lz_encoder_mf.c
lea rcx, str.mf__read_pos___mf__write_pos
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x100edd41
sub esi, 1
mov dword [rsp + 0x5c], r9d
mov r8d, 0x2e
lea rdx, [0x105558a0]
lea rcx, [0x105558c6]
call qword [sym.imp.msvcrt.dll__assert]
mov dword [rbx], 2
mov eax, dword [r12 + 0x54]
mov edx, 2
mov r11d, dword [r12 + 0x50]
mov r8, qword [r12 + 0x48]
mov dword [rbx + 4], esi
mov ecx, dword [r12 + 0x5c]
mov r9d, dword [rsp + 0x5c]
lea rsi, [rbx + 8]
jmp 0x100edcb7
mov dword [rsp + 0x5c], r9d
mov r8d, 0x2f
lea rdx, [0x105558a0]
lea rcx, [0x105558d3]
call qword [sym.imp.msvcrt.dll__assert]
mov r10d, dword [r12 + 0x54]
mov r9d, dword [rsp + 0x5c]
jmp 0x100edd6d
mov edx, 2
nop dword [rax + rax]
sub esi, 1
mov dword [rbx], edx
mov r11d, dword [r12 + 0x50]
mov eax, r10d
mov r8, qword [r12 + 0x48]
mov ecx, dword [r12 + 0x5c]
mov dword [rbx + 4], esi
cmp r14d, edx
jne 0x100ede29
mov dword [rsp + 0x38], r10d
mov edx, r15d
mov dword [rsp + 0x30], r11d
mov qword [rsp + 0x28], r8
mov r8, r13
mov r13d, 1
mov dword [rsp + 0x20], ecx
mov ecx, r14d
call sym.bt_skip_func
mov rcx, r12
call sym.move_pos
jmp 0x100edcf2