Function at 0x100ee110
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r13d, dword [rcx + 0x18]
mov r14d, dword [rcx + 0x60]
mov rbp, rdx
mov edx, dword [rcx + 0x24]
mov r12, rcx
mov eax, edx
sub eax, r13d
cmp r14d, eax
jbe 0x100ee153
mov ecx, dword [rcx + 0x68]
cmp eax, 3
jbe 0x100ee310
mov r14d, eax
cmp ecx, 1
je 0x100ee338
mov esi, r13d
add rsi, qword [r12]
mov r15, qword [0x10589df0]
movzx eax, byte [rsi]
movzx edx, byte [rsi + 1]
mov r9, qword [r12 + 0x40]
add r13d, dword [r12 + 0x14]
xor edx, dword [r15 + rax*4]
movzx eax, byte [rsi + 2]
mov r8d, r13d
shl eax, 8
xor eax, edx
and edx, 0x3ff
mov edi, eax
movzx eax, ax
lea rbx, [r9 + rdx*4]
mov edx, r13d
lea rcx, [r9 + rax*4 + 0x1000]
movzx eax, byte [rsi + 3]
mov r11d, dword [rbx]
mov r10d, dword [rcx]
mov eax, dword [r15 + rax*4]
sub edx, r11d
sub r8d, r10d
shl eax, 5
xor eax, edi
and eax, dword [r12 + 0x58]
add eax, 0x10400
lea rax, [r9 + rax*4]
mov r9d, dword [rax]
mov dword [rbx], r13d
mov dword [rcx], r13d
mov dword [rax], r13d
mov eax, dword [r12 + 0x54]
mov ecx, eax
cmp eax, edx
jbe 0x100ee1f3
mov edi, edx
mov r15, rsi
movzx ebx, byte [rsi]
sub r15, rdi
mov qword [rsp + 0x50], rdi
cmp byte [r15], bl
je 0x100ee390
cmp r11d, r10d
je 0x100ee2a0
cmp ecx, r8d
jbe 0x100ee2a0
mov edi, r8d
mov rdx, rsi
sub rdx, rdi
movzx ebx, byte [rdx]
cmp byte [rsi], bl
jne 0x100ee2a0
xor r10d, r10d
mov r15d, 1
add r10, rbp
sub r8d, 1
mov ebx, 3
mov dword [r10 + 4], r8d
nop word [rax + rax]
cmp r14d, ebx
jb 0x100ee458
test r14d, r14d
js 0x100ee420
cmp r14d, ebx
jbe 0x100ee358
mov eax, ebx
sub rax, rdi
add rax, rsi
jmp 0x100ee270
add ebx, 1
add rax, 1
cmp r14d, ebx
jbe 0x100ee358
movzx edx, byte [rax]
cmp byte [rax + rdi], dl
je 0x100ee260
mov eax, 3
cmp ebx, 3
mov dword [r10], ebx
mov r8, qword [r12 + 0x48]
cmovb ebx, eax
mov r10d, dword [r12 + 0x50]
mov edx, dword [r12 + 0x5c]
mov eax, ecx
lea r11, [rbp + r15*8]
jmp 0x100ee2b7
mov r10d, dword [r12 + 0x50]
mov r8, qword [r12 + 0x48]
mov r11, rbp
mov ebx, 3
mov edx, dword [r12 + 0x5c]
mov qword [rsp + 0x28], r8
mov ecx, r14d
mov r8, rsi
mov dword [rsp + 0x20], edx
mov edx, r13d
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x40], r11
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r10d
call sym.bt_find_func
mov rcx, r12
sub rax, rbp
mov r15, rax
sar r15, 3
call sym.move_pos
mov eax, r15d
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test ecx, ecx
jne 0x100ee338
lea rdx, str.xz_5.2_src_liblzma_lz_lz_encoder_mf.c
mov r8d, 0x2a5
lea rcx, str.mf__action___LZMA_RUN
call qword [sym.imp.msvcrt.dll__assert]
mov r13d, dword [r12 + 0x18]
mov edx, dword [r12 + 0x24]
add r13d, 1
mov dword [r12 + 0x18], r13d
cmp r13d, edx
ja 0x100ee3c8
add dword [r12 + 0x28], 1
xor r15d, r15d
jmp 0x100ee2f2
mov r8, qword [r12 + 0x48]
mov edx, dword [r12 + 0x5c]
mov dword [r10], ebx
mov eax, ecx
mov r10d, dword [r12 + 0x50]
cmp r14d, ebx
je 0x100ee3f0
cmp ebx, 3
mov ecx, 3
lea r11, [rbp + r15*8]
cmovb ebx, ecx
jmp 0x100ee2b7
sub edx, 1
mov dword [rbp], 2
mov dword [rbp + 4], edx
cmp r11d, r10d
je 0x100ee3b0
cmp eax, r8d
ja 0x100ee4a2
nop dword [rax + rax]
mov r10, rbp
mov ebx, 2
mov r15d, 1
jmp 0x100ee238
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 0x100ee34a
mov dword [rsp + 0x38], ecx
mov ecx, r14d
mov qword [rsp + 0x28], r8
mov r8, rsi
mov dword [rsp + 0x20], edx
mov edx, r13d
mov dword [rsp + 0x30], r10d
call sym.bt_skip_func
mov rcx, r12
call sym.move_pos
jmp 0x100ee2f2
mov dword [rsp + 0x5c], r9d
lea rcx, [0x105558d3]
mov r8d, 0x2f
lea rdx, [0x105558a0]
mov qword [rsp + 0x50], r10
call qword [sym.imp.msvcrt.dll__assert]
mov ecx, dword [r12 + 0x54]
mov r10, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x5c]
jmp 0x100ee253
mov dword [rsp + 0x5c], r9d
mov r8d, 0x2e
lea rdx, [0x105558a0]
lea rcx, [0x105558c6]
mov qword [rsp + 0x50], r10
call qword [sym.imp.msvcrt.dll__assert]
mov r10, qword [rsp + 0x50]
mov eax, dword [r12 + 0x54]
mov r8, qword [r12 + 0x48]
mov edx, dword [r12 + 0x5c]
mov dword [r10], ebx
mov r9d, dword [rsp + 0x5c]
mov r10d, dword [r12 + 0x50]
jmp 0x100ee371
mov edi, r8d
mov rax, rsi
sub rax, rdi
movzx eax, byte [rax]
cmp byte [rsi], al
je 0x100ee4bc
mov rdi, qword [rsp + 0x50]
jmp 0x100ee3b0
mov r10d, 8
mov r15d, 2
jmp 0x100ee222