Function at 0x160060930
Capabilities:
Hash data using crc32b

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movzx eax, byte [0x160273d6b]
mov r13d, edx
mov r11, rcx
mov r12d, 0x3ff
test al, al
je 0x16007ccb4
mov rsi, qword [0x160271bb0]
mov r15, qword [0x160271b98]
mov r14, qword [0x160271b90]
mov rbp, qword [0x160271ba0]
mov r8d, r11d
mov qword [rsp + 0x78], rdi
neg r8d
xor ebx, ebx
and r8d, 3
test r13d, r13d
je 0x1600609a8
test r8d, r8d
jne 0x16007cde7
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x68], r13d
mov r10d, r13d
shr r10d, 2
mov edi, r10d
test al, al
je 0x16007ce12
lea eax, [rdi - 1]
lea r8, [r11 + rax*4]
test edi, edi
je 0x160060a09
nop word [rax + rax]
mov edx, ebx
lea r8, [r8 - 4]
mov eax, ebx
shr rax, 0x10
movzx ecx, al
mov eax, ebx
shr rax, 8
movzx eax, al
mov ebx, dword [r14 + rcx*4]
xor ebx, dword [r15 + rax*4]
mov eax, edx
shr rax, 0x18
xor ebx, dword [rbp + rax*4]
movzx eax, dl
xor ebx, dword [rsi + rax*4]
xor ebx, dword [r8 + 4]
add edi, 0xffffffff
jne 0x1600609d0
mov eax, ebx
shr rax, 0x10
movzx ecx, al
mov eax, ebx
shr rax, 8
movzx eax, al
mov r9d, dword [r14 + rcx*4]
xor r9d, dword [r15 + rax*4]
mov eax, ebx
shr rax, 0x18
xor r9d, dword [rbp + rax*4]
movzx eax, bl
xor r9d, dword [rsi + rax*4]
mov eax, r13d
xor r9d, ebx
shr rax, 2
lea rdx, [r11 + rax*4]
imul eax, r10d, 0xfffffffc
add r13d, eax
jne 0x160060aa0
mov rdi, qword [rsp + 0x78]
mov eax, r9d
shr rax, 0x10
movzx ecx, al
mov eax, r9d
shr rax, 8
movzx eax, al
mov edx, dword [r14 + rcx*4]
mov ecx, r9d
shr rcx, 0x18
xor edx, dword [r15 + rax*4]
xor edx, dword [rbp + rcx*4]
movzx ecx, r9b
xor edx, dword [rsi + rcx*4]
xor edx, r9d
mov eax, edx
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
mov ecx, r9d
lea rdx, [rdx + 1]
mov eax, r9d
shr rcx, 0x18
shl eax, 8
mov r9d, dword [rsi + rcx*4]
xor r9d, eax
movzx eax, byte [rdx - 1]
xor r9d, eax
add r13d, 0xffffffff
jne 0x160060aa0
jmp 0x160060a4c
mov ecx, 0x1000
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271ba8], rax
mov rbx, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271bb0], rax
mov rsi, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271b98], rax
mov r15, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271b90], rax
mov r14, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov qword [0x160271ba0], rax
mov rbp, rax
test rbx, rbx
je 0x16007cdc5
test rsi, rsi
je 0x16007cdc5
test r15, r15
je 0x16007cdc5
test r14, r14
je 0x16007cdc5
test rax, rax
je 0x16007cdc5
mov edx, 0x4c11db7
lea r8, [rbx + 4]
mov r9, r12
mov dword [r8], edx
mov r10d, 0x20
mov eax, edx
lea ecx, [rdx + rdx]
mov edx, ecx
xor edx, 0x4c11db7
test eax, eax
cmovns edx, ecx
sub r10, 1
jne 0x16007cd5b
add r8, 4
sub r9, 1
jne 0x16007cd52
lea r8d, [r10 + 0x20]
mov rdx, rsi
call fcn.1600cf9b8
mov r8d, 0x28
mov rdx, r15
call fcn.1600cf9b8
mov r8d, 0x30
mov rdx, r14
call fcn.1600cf9b8
mov r8d, 0x38
mov rdx, rbp
call fcn.1600cf9b8
mov r11, qword [rsp + 0x60]
mov al, 1
mov byte [0x160273d6b], al
jmp 0x16006097f
call fcn.160011944
mov rcx, qword [rsp + 0x58]
lea r8, str.onecoreuap_base_appmodel_searchcommonutilscrchash.cxx
mov r9d, 0x8007000e
mov edx, 0x4d
call fcn.1600b47d4
int3
mov edx, ebx
mov ecx, ebx
shl ecx, 8
dec r8d
shr rdx, 0x18
mov ebx, dword [rsi + rdx*4]
xor ebx, ecx
movzx ecx, byte [r11]
xor ebx, ecx
inc r11
add r13d, 0xffffffff
jne 0x160060995
jmp 0x16006099e
mov ecx, 0x1000
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271ba8], rax
mov r13, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271bb0], rax
mov rsi, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271b98], rax
mov r15, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov ecx, 0x400
mov qword [0x160271b90], rax
mov r14, rax
call qword [sym.imp.msvcrt.dll_malloc]
mov qword [0x160271ba0], rax
mov rbp, rax
test r13, r13
je 0x16007cf28
test rsi, rsi
je 0x16007cf28
test r15, r15
je 0x16007cf28
test r14, r14
je 0x16007cf28
test rax, rax
je 0x16007cf28
mov edx, 0x4c11db7
lea r9, [r13 + 4]
mov dword [r9], edx
mov r10d, 0x20
mov eax, edx
lea ecx, [rdx + rdx]
mov edx, ecx
xor edx, 0x4c11db7
test eax, eax
cmovns edx, ecx
sub r10, 1
jne 0x16007ceba
add r9, 4
sub r12, 1
jne 0x16007ceb1
lea r8d, [r10 + 0x20]
mov rdx, rsi
call fcn.1600cf9b8
lea r8d, [r12 + 0x28]
mov rdx, r15
call fcn.1600cf9b8
lea r8d, [r12 + 0x30]
mov rdx, r14
call fcn.1600cf9b8
lea r8d, [r12 + 0x38]
mov rdx, rbp
call fcn.1600cf9b8
mov r11, qword [rsp + 0x60]
mov r10d, edi
mov r13d, dword [rsp + 0x68]
mov byte [0x160273d6b], 1
jmp 0x1600609ba
call fcn.160011944
mov rcx, qword [rsp + 0x58]
lea r8, str.onecoreuap_base_appmodel_searchcommonutilscrchash.cxx
mov r9d, 0x8007000e
mov edx, 0x4d
call fcn.1600b47d4
int3