Function at 0x1400747a0
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 rbx, r9
mov r15, r8
mov r12, rdx
mov rsi, rcx
mov rbp, qword [rcx + 0x10]
mov rax, qword [0x14019b240]
test rax, rax
je 0x140074bd4
mov r14b, 1
test al, 2
je 0x1400747f0
mov rax, qword [0x14019b240]
test rax, rax
je 0x140074c06
test eax, 0x400
sete r14b
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], rbx
mov r12, qword [rsi]
mov rax, r12
sub rax, rbp
mov rbx, rbp
cmp rax, 3
jbe 0x140074be9
mov rdi, qword [rsi + 8]
mov dword [rdi + rbx], 0
add rbx, 4
mov qword [rsi + 0x10], rbx
mov r13, r12
sub r13, rbx
cmp r13, 3
mov byte [rsp + 0x23], r14b
ja 0x1400748e0
mov dword [rsp + 0x24], 0
mov rax, rbx
add rax, 4
jb 0x1400748c3
lea rcx, [r12 + r12]
cmp rcx, rax
cmova rax, rcx
cmp rax, 9
mov r14d, 8
cmovae r14, rax
mov rdx, r14
not rdx
shr rdx, 0x3f
test r12, r12
je 0x140074886
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], r12
jmp 0x14007488f
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov r8, r14
call fcn.14009dbd0
cmp qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x48]
je 0x1400748d0
movabs rcx, 0x8000000000000001
cmp rax, rcx
movzx r14d, byte [rsp + 0x23]
je 0x1400748e0
mov rdi, rbp
cmp r13, r15
jb 0x14007492a
jmp 0x1400749c0
mov qword [rsi + 8], rax
mov qword [rsi], r14
mov rdi, rax
movzx r14d, byte [rsp + 0x23]
mov dword [rdi + rbx], 0x74584574
mov rbx, qword [rsi + 0x10]
add rbx, 4
mov qword [rsi + 0x10], rbx
mov eax, 0x9642c585
test r14b, r14b
jne 0x140074911
lea rdx, [0x1401797f4]
mov r8d, 4
xor ecx, ecx
call fcn.14000b8a0
mov dword [rsp + 0x24], eax
mov r12, qword [rsi]
mov r13, r12
sub r13, rbx
mov rdi, rbp
cmp r13, r15
jae 0x1400749c0
mov rax, rbx
mov r14d, 0x53
add rax, r15
jb 0x140074bc0
lea rcx, [r12 + r12]
cmp rcx, rax
cmova rax, rcx
cmp rax, 9
mov r13d, 8
cmovae r13, rax
mov rdx, r13
not rdx
shr rdx, 0x3f
test r12, r12
je 0x14007497d
mov rax, qword [rsi + 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], r12
jmp 0x140074986
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov r8, r13
call fcn.14009dbd0
cmp qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x48]
je 0x1400749b9
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x1400749c0
jmp 0x140074bc0
mov qword [rsi + 8], rax
mov qword [rsi], r13
mov r13, qword [rsi + 8]
lea rcx, [rbx + r13]
mov r12, qword [rsp + 0x60]
mov rdx, r12
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rbx, r15
mov qword [rsi + 0x10], rbx
movzx r14d, byte [rsp + 0x23]
test r14b, r14b
je 0x140074a07
mov ecx, dword [rsp + 0x24]
mov rdx, r12
mov r8, r15
call fcn.14000b430
mov ebp, eax
mov byte [rsp + 0x28], 0
cmp rbx, qword [rsi]
je 0x140074a22
jmp 0x140074a35
mov ecx, dword [rsp + 0x24]
mov rdx, r12
mov r8, r15
call fcn.14000b8a0
mov ebp, eax
mov byte [rsp + 0x28], 0
cmp rbx, qword [rsi]
jne 0x140074a35
mov rcx, rsi
mov rdx, rbx
call fcn.140090310
mov r13, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov r15, qword [rsp + 0xd0]
mov byte [r13 + rbx], 0
inc rbx
mov qword [rsi + 0x10], rbx
test r14b, r14b
je 0x140074a6d
not ebp
movzx eax, byte [rsp + 0x28]
xor al, bpl
movzx eax, al
lea rcx, [0x1400e5ed8]
shr ebp, 8
xor ebp, dword [rcx + rax*4]
not ebp
jmp 0x140074a81
lea rdx, [rsp + 0x28]
mov r8d, 1
mov ecx, ebp
call fcn.14000b8a0
mov ebp, eax
mov rax, qword [rsi]
mov rcx, rax
sub rcx, rbx
cmp rcx, r15
jae 0x140074b28
mov rcx, rbx
mov r14d, 0x53
add rcx, r15
jb 0x140074bc0
lea rdx, [rax + rax]
cmp rdx, rcx
cmova rcx, rdx
cmp rcx, 9
mov r12d, 8
cmovae r12, rcx
mov rdx, r12
not rdx
shr rdx, 0x3f
test rax, rax
je 0x140074ae2
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], rax
jmp 0x140074aeb
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x40]
lea r9, [rsp + 0x28]
mov r8, r12
call fcn.14009dbd0
cmp qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x48]
je 0x140074b1e
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x140074b28
jmp 0x140074bc0
mov qword [rsi + 8], rax
mov qword [rsi], r12
mov r13, rax
add r13, rbx
mov rcx, r13
mov r14, qword [rsp + 0x58]
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add rbx, r15
mov qword [rsi + 0x10], rbx
cmp byte [rsp + 0x23], 0
je 0x140074b5b
mov ecx, ebp
mov rdx, r14
mov r8, r15
call fcn.14000b430
jmp 0x140074b68
mov ecx, ebp
mov rdx, r14
mov r8, r15
call fcn.14000b8a0
mov ebp, eax
mov rax, rbx
sub rax, rdi
add rax, 0xfffffffffffffff8
mov r14d, 0x4d
mov ecx, 0x80000000
cmp rax, rcx
ja 0x140074bc0
lea rdx, [rdi + 4]
cmp rdi, 0xfffffffffffffffb
ja 0x140074c2b
cmp rdx, rbx
ja 0x140074c3a
mov rcx, qword [rsi + 8]
bswap eax
mov dword [rcx + rdi], eax
bswap ebp
mov rax, qword [rsi]
sub rax, rbx
cmp rax, 3
jbe 0x140074c10
mov dword [rcx + rbx], ebp
add rbx, 4
mov qword [rsi + 0x10], rbx
xor r14d, r14d
mov eax, r14d
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400e1dd0
mov r14b, 1
test al, 2
jne 0x1400747d7
jmp 0x1400747f0
mov r8d, 4
mov rcx, rsi
mov rdx, rbp
call fcn.1400e1240
mov r12, qword [rsi]
mov rbx, qword [rsi + 0x10]
jmp 0x140074810
call fcn.1400e1dd0
jmp 0x1400747e7
mov r8d, 4
mov rcx, rsi
mov rdx, rbx
call fcn.1400e1240
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
jmp 0x140074bb2
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