Function at 0x140073820
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r12, rdx
mov rsi, rcx
mov rdi, qword [rcx + 0x10]
mov rax, qword [0x14019b240]
test rax, rax
je 0x140073ce2
mov r13b, 1
test al, 2
je 0x14007386a
mov rax, qword [0x14019b240]
test rax, rax
je 0x140073d14
test eax, 0x400
sete r13b
mov r15, qword [rsi]
mov rax, r15
sub rax, rdi
mov rbx, rdi
cmp rax, 3
jbe 0x140073cf7
mov r14, qword [rsi + 8]
mov dword [r14 + rbx], 0
add rbx, 4
mov qword [rsi + 0x10], rbx
mov rax, r15
sub rax, rbx
cmp rax, 3
ja 0x140073959
mov rax, rbx
add rax, 4
jb 0x140073937
mov rbp, rdi
mov edi, r13d
mov r13, r12
lea rcx, [r15 + r15]
cmp rcx, rax
cmova rax, rcx
cmp rax, 9
mov r12d, 8
cmovae r12, rax
mov rdx, r12
not rdx
shr rdx, 0x3f
test r15, r15
je 0x1400738f7
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], r15
jmp 0x140073900
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x50]
lea r9, [rsp + 0x30]
mov r8, r12
call fcn.14009dbd0
cmp qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x58]
je 0x140073946
movabs rcx, 0x8000000000000001
cmp rax, rcx
mov r12, r13
mov r13d, edi
mov rdi, rbp
je 0x140073959
mov eax, dword [r12 + 0x44]
bswap eax
mov dword [rsp + 0x2c], eax
xor ebp, ebp
jmp 0x1400739ab
mov qword [rsi + 8], rax
mov qword [rsi], r12
mov r14, rax
mov r12, r13
mov r13d, edi
mov rdi, rbp
mov dword [r14 + rbx], 0x73594870
mov rbx, qword [rsi + 0x10]
add rbx, 4
mov qword [rsi + 0x10], rbx
mov ebp, 0x96876563
test r13b, r13b
jne 0x14007398d
lea rdx, [0x140179830]
mov r8d, 4
xor ecx, ecx
call fcn.14000b8a0
mov ebp, eax
mov r15, qword [rsi]
mov rax, r15
sub rax, rbx
mov ecx, dword [r12 + 0x44]
bswap ecx
mov dword [rsp + 0x2c], ecx
cmp rax, 3
ja 0x140073a4e
mov rax, rbx
add rax, 4
jb 0x140073a32
mov r14, r12
lea rcx, [r15 + r15]
cmp rcx, rax
cmova rax, rcx
cmp rax, 9
mov r12d, 8
cmovae r12, rax
mov rdx, r12
not rdx
shr rdx, 0x3f
test r15, r15
je 0x1400739f8
mov rax, qword [rsi + 8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], r15
jmp 0x140073a01
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x50]
lea r9, [rsp + 0x30]
mov r8, r12
call fcn.14009dbd0
cmp qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x58]
je 0x140073a44
movabs rcx, 0x8000000000000001
cmp rax, rcx
mov r12, r14
je 0x140073a4e
mov r14d, dword [r12 + 0x48]
bswap r14d
mov dword [rsp + 0x2c], r14d
jmp 0x140073aeb
mov qword [rsi + 8], rax
mov qword [rsi], r12
mov r12, r14
mov rax, qword [rsi + 8]
mov ecx, dword [rsp + 0x2c]
mov dword [rax + rbx], ecx
add rbx, 4
mov qword [rsi + 0x10], rbx
test r13b, r13b
je 0x140073ab7
not ebp
movzx eax, byte [rsp + 0x2c]
xor al, bpl
movzx ecx, al
lea rax, [0x1400e5ed8]
shr ebp, 8
xor ebp, dword [rax + rcx*4]
movzx ecx, byte [rsp + 0x2d]
xor cl, bpl
movzx ecx, cl
shr ebp, 8
xor ebp, dword [rax + rcx*4]
movzx ecx, byte [rsp + 0x2e]
xor cl, bpl
movzx ecx, cl
shr ebp, 8
xor ebp, dword [rax + rcx*4]
movzx ecx, byte [rsp + 0x2f]
xor cl, bpl
movzx ecx, cl
shr ebp, 8
xor ebp, dword [rax + rcx*4]
not ebp
jmp 0x140073acb
lea rdx, [rsp + 0x2c]
mov r8d, 4
mov ecx, ebp
call fcn.14000b8a0
mov ebp, eax
mov r15, qword [rsi]
mov rax, r15
sub rax, rbx
mov r14d, dword [r12 + 0x48]
bswap r14d
mov dword [rsp + 0x2c], r14d
cmp rax, 3
ja 0x140073b9d
mov rax, rbx
add rax, 4
jb 0x140073c1a
mov qword [rsp + 0x48], rdi
mov edi, r13d
mov r13, r12
lea rcx, [r15 + r15]
cmp rcx, rax
cmova rax, rcx
cmp rax, 9
mov r12d, 8
cmovae r12, rax
mov rdx, r12
not rdx
shr rdx, 0x3f
test r15, r15
je 0x140073b44
mov rax, qword [rsi + 8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], r15
jmp 0x140073b4d
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x50]
lea r9, [rsp + 0x30]
mov r8, r12
call fcn.14009dbd0
cmp qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x58]
je 0x140073b8b
movabs rcx, 0x8000000000000001
cmp rax, rcx
mov r12, r13
mov r13d, edi
mov rdi, qword [rsp + 0x48]
je 0x140073b9d
jmp 0x140073c1a
mov qword [rsi + 8], rax
mov qword [rsi], r12
mov r12, r13
mov r13d, edi
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsi + 8]
mov dword [rax + rbx], r14d
add rbx, 4
mov qword [rsi + 0x10], rbx
test r13b, r13b
je 0x140073c03
not ebp
movzx eax, byte [rsp + 0x2c]
xor al, bpl
movzx ecx, al
lea rax, [0x1400e5ed8]
shr ebp, 8
xor ebp, dword [rax + rcx*4]
movzx ecx, byte [rsp + 0x2d]
xor cl, bpl
movzx ecx, cl
shr ebp, 8
xor ebp, dword [rax + rcx*4]
movzx ecx, byte [rsp + 0x2e]
xor cl, bpl
movzx ecx, cl
shr ebp, 8
xor ebp, dword [rax + rcx*4]
movzx ecx, byte [rsp + 0x2f]
xor cl, bpl
movzx ecx, cl
shr ebp, 8
xor ebp, dword [rax + rcx*4]
not ebp
jmp 0x140073c17
lea rdx, [rsp + 0x2c]
mov r8d, 4
mov ecx, ebp
call fcn.14000b8a0
mov ebp, eax
mov r15, qword [rsi]
movzx r12d, byte [r12 + 0x4c]
mov byte [rsp + 0x30], r12b
cmp rbx, r15
jne 0x140073c39
mov rcx, rsi
mov rdx, r15
call fcn.140090310
mov rbx, qword [rsi + 0x10]
mov r14, qword [rsi + 8]
mov byte [r14 + rbx], r12b
inc rbx
mov qword [rsi + 0x10], rbx
test r13b, r13b
je 0x140073c6b
not ebp
movzx eax, byte [rsp + 0x30]
xor al, bpl
movzx eax, al
lea rcx, [0x1400e5ed8]
shr ebp, 8
xor ebp, dword [rcx + rax*4]
not ebp
jmp 0x140073c7f
lea rdx, [rsp + 0x30]
mov r8d, 1
mov ecx, ebp
call fcn.14000b8a0
mov ebp, eax
mov rcx, rbx
sub rcx, rdi
add rcx, 0xfffffffffffffff8
mov eax, 0x4d
mov edx, 0x80000000
cmp rcx, rdx
ja 0x140073cd1
lea rdx, [rdi + 4]
cmp rdi, 0xfffffffffffffffb
ja 0x140073d39
cmp rdx, rbx
ja 0x140073d48
bswap ecx
mov dword [r14 + rdi], ecx
bswap ebp
mov rax, qword [rsi]
sub rax, rbx
cmp rax, 3
jbe 0x140073d1e
mov dword [r14 + rbx], ebp
add rbx, 4
mov qword [rsi + 0x10], rbx
xor eax, eax
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400e1dd0
mov r13b, 1
test al, 2
jne 0x140073851
jmp 0x14007386a
mov r8d, 4
mov rcx, rsi
mov rdx, rdi
call fcn.1400e1240
mov r15, qword [rsi]
mov rbx, qword [rsi + 0x10]
jmp 0x140073880
call fcn.1400e1dd0
jmp 0x140073861
mov r8d, 4
mov rcx, rsi
mov rdx, rbx
call fcn.1400e1240
mov r14, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
jmp 0x140073cc3
lea r8, str.F:Compilers_Stuff.cargo_registry_srcindex.crates.io_6f17d22bba15001flodepng_3.10.0_src_rustimpl.rs
mov rcx, rdi
call fcn.1400db4d0
lea r8, str.F:Compilers_Stuff.cargo_registry_srcindex.crates.io_6f17d22bba15001flodepng_3.10.0_src_rustimpl.rs
mov rcx, rdx
mov rdx, rbx
call fcn.1400db210
int3