Function at 0x14010a700
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x80
mov qword [rsp + 0x68], rcx
mov eax, dword [0x140355ce0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x140355ce4], 0xa
setl cl
or cl, al
mov ecx, 0x5d83505e
mov eax, 0xf0543400
cmove ecx, eax
mov dword [rsp + 0x50], ecx
not r8d
mov r9d, 0xa9aba8b0
cmove r9d, eax
mov ecx, 0x42f0d9d4
mov eax, 0xaa5f7319
cmove ecx, eax
mov dword [rsp + 0x4c], ecx
mov ecx, 0xeeb7428d
cmove ecx, eax
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x70], rdx
test rdx, rdx
mov eax, 0x9bb8c10c
mov ecx, 0x571347c0
cmove ecx, eax
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x1c], r8d
mov r11d, 0xaba03e70
lea rsi, [0x1403179c0]
jmp 0x14010a7c0
cmp byte [rsp + 0xd], 0
mov r11d, 0x403da453
mov ebx, 0xed82c8fd
cmovne r11d, ebx
mov edi, dword [rsp + 0x24]
nop word cs:[rax + rax]
mov r10d, r11d
cmp r11d, 0x1545cf6b
jle 0x14010a830
cmp r10d, 0x571347bf
jle 0x14010a8a0
cmp r10d, 0x6ed2b4fc
jle 0x14010a95a
cmp r10d, 0x7427eb7b
jle 0x14010aa84
cmp r10d, 0x7427eb7c
je 0x14010ac2b
cmp r10d, 0x7c64c125
je 0x14010ac40
mov r11d, r10d
cmp r10d, 0x7ea2dade
jne 0x14010a7c0
mov rbx, qword [rsp + 0x30]
movzx ebx, byte [rbx]
mov dword [rsp + 0x54], ebx
mov r11d, 0x6ed2b4fd
jmp 0x14010a7c0
cmp r10d, 0xed82c8fc
jg 0x14010a900
cmp r10d, 0xaa5f7318
jle 0x14010a999
cmp r10d, 0xbb8146a9
jle 0x14010aab0
cmp r10d, 0xbb8146aa
je 0x14010ac59
cmp r10d, 0xeb192327
jne 0x14010adb4
mov r15d, dword [rsp + 0x1c]
mov r8d, dword [rsp + 0x1c]
mov r12, qword [rsp + 0x68]
mov rcx, r12
mov rdx, qword [rsp + 0x70]
mov r11d, dword [rsp + 0x44]
jmp 0x14010a7c0
cmp r10d, 0x2f3b9b60
jg 0x14010a9e0
cmp r10d, 0x21517acf
jg 0x14010aad8
cmp r10d, 0x1545cf6c
je 0x14010ac86
mov r11d, r10d
cmp r10d, 0x15b50a25
jne 0x14010a7c0
movzx ebx, byte [rsp + 6]
mov dword [rsp + 0x2c], ebx
mov ebx, dword [rsp + 0x2c]
cmp ebx, 0x23
sete byte [rsp + 0xd]
mov r11d, 0x9f59e57a
jmp 0x14010a7c0
cmp r10d, 0x79e65b2
jg 0x14010aa2b
cmp r10d, 0xf05433ff
jg 0x14010ab0c
cmp r10d, 0xed82c8fd
je 0x14010ac9b
mov r11d, r10d
cmp r10d, 0xeeb7428d
jne 0x14010a7c0
mov rbx, qword [rsp + 0x10]
add rbx, 0xffffffffffffffff
mov qword [rsp + 0x58], rbx
cmp qword [rsp + 0x10], 0
setne byte [rsp + 8]
mov r11d, dword [rsp + 0x4c]
jmp 0x14010a7c0
cmp r10d, 0x6739931f
jg 0x14010ab5a
cmp r10d, 0x571347c0
je 0x14010acb2
mov r11d, r10d
cmp r10d, 0x5d83505e
jne 0x14010a7c0
cmp byte [rsp + 0xe], 0
mov r11d, 0x403da453
mov ebx, 0x67399320
jmp 0x14010a7ae
cmp r10d, 0x9f59e579
jg 0x14010ab99
cmp r10d, 0x9bb8c10c
je 0x14010accb
mov r11d, r10d
cmp r10d, 0x9f3a4b2c
jne 0x14010a7c0
cmp byte [rsp + 0xb], 0
mov r11d, 0x9c557e6
mov ebp, 0x7c64c125
cmovne r11d, ebp
mov ebp, dword [rsp + 0x20]
jmp 0x14010a7c0
cmp r10d, 0x42f0d9d3
jg 0x14010abcd
mov r11d, r9d
cmp r10d, 0x2f3b9b61
je 0x14010a7c0
mov r11d, r10d
cmp r10d, 0x403da453
jne 0x14010a7c0
mov eax, edi
shr eax, 8
movzx ebx, dil
xor ebx, dword [rsp + 0x2c]
xor eax, dword [rsi + rbx*4]
mov r11d, 0x6766897c
xor r14d, r14d
jmp 0x14010a7c0
cmp r10d, 0xdd3cd1a
jg 0x14010abf5
cmp r10d, 0x79e65b3
je 0x14010acf9
mov r11d, r10d
cmp r10d, 0x9c557e6
jne 0x14010a7c0
mov r8d, ebp
shr r8d, 8
movzx edx, bpl
xor edx, dword [rsp + 0x28]
lea rbx, [0x1403179c0]
xor r8d, dword [rbx + rdx*4]
mov rdx, qword [rsp + 0x58]
mov r11d, 0x571347c0
mov r12, qword [rsp + 0x30]
jmp 0x14010a7c0
cmp r10d, 0x6ed2b4fd
je 0x14010ad0e
mov r11d, r10d
cmp r10d, 0x70b44153
jne 0x14010a7c0
mov r11d, 0x9c557e6
mov ebp, dword [rsp + 0x1c]
jmp 0x14010a7c0
cmp r10d, 0xaa5f7319
je 0x14010ad25
mov r11d, r10d
cmp r10d, 0xaba03e70
jne 0x14010a7c0
mov r11d, 0xeb192327
jmp 0x14010a7c0
cmp r10d, 0x21517ad0
je 0x14010ad53
mov r11d, r10d
cmp r10d, 0x2b76745a
jne 0x14010a7c0
mov rbx, qword [rsp + 0x78]
movzx ebx, byte [rbx]
mov byte [rsp + 0xc], bl
mov r11d, 0x7427eb7c
jmp 0x14010a7c0
cmp r10d, 0xf0543400
je 0x14010ad5e
mov r11d, r10d
cmp r10d, 0xf68abd37
jne 0x14010a7c0
mov rbx, qword [rsp + 0x60]
movzx ebx, byte [rbx]
mov dword [rsp + 0x28], ebx
mov ebx, dword [rsp + 0x28]
cmp ebx, 0x23
sete byte [rsp + 9]
mov rbx, qword [rsp + 0x58]
cmp rbx, 2
setae byte [rsp + 0xa]
mov r11d, 0xbb8146aa
jmp 0x14010a7c0
cmp r10d, 0x67399320
je 0x14010ad6e
mov r11d, r10d
cmp r10d, 0x6766897c
jne 0x14010a7c0
test r14d, r14d
mov r11d, 0xd44bb560
mov ecx, 0x9bb8c10c
cmove r11d, ecx
mov rcx, qword [rsp + 0x38]
mov r13d, eax
mov r15d, eax
jmp 0x14010a7c0
cmp r10d, 0x9f59e57a
je 0x14010a79e
mov r11d, r10d
cmp r10d, 0xa9aba8b0
jne 0x14010a7c0
movzx ebx, byte [rsp + 7]
cmp bl, 0x23
sete byte [rsp + 0xe]
mov r11d, dword [rsp + 0x50]
jmp 0x14010a7c0
cmp r10d, 0x42f0d9d4
je 0x14010ad87
mov r11d, r10d
cmp r10d, 0x45c9731d
jne 0x14010a7c0
mov r11d, 0xdd3cd1b
jmp 0x14010a7c0
cmp r10d, 0xdd3cd1b
je 0x14010ada5
mov r11d, r10d
cmp r10d, 0x1092f082
jne 0x14010a7c0
mov rbx, qword [rsp + 0x60]
add rbx, 1
mov qword [rsp + 0x30], rbx
mov r11d, 0xf68abd37
jmp 0x14010a7c0
movzx ebx, byte [rsp + 0xc]
cmp bl, 0x23
mov r11d, 0x9c557e6
mov ebp, 0x21517ad0
jmp 0x14010ac79
mov rbx, qword [rsp + 0x30]
add rbx, 1
mov qword [rsp + 0x78], rbx
mov r11d, 0x2b76745a
jmp 0x14010a7c0
movzx ebx, byte [rsp + 9]
cmp byte [rsp + 0xa], 0
mov r11d, 0x9c557e6
mov ebp, 0x7ea2dade
cmovne r11d, ebp
test bl, bl
mov ebp, 0x9c557e6
cmove r11d, ebp
mov ebp, dword [rsp + 0x20]
jmp 0x14010a7c0
cmp byte [rsp + 0xf], 0
mov r11d, 0x403da453
mov ebx, 0x45c9731d
jmp 0x14010a7ae
mov rbx, qword [rsp + 0x38]
movzx ebx, byte [rbx]
mov byte [rsp + 7], bl
mov r11d, 0x2f3b9b61
jmp 0x14010a7c0
mov qword [rsp + 0x10], rdx
mov dword [rsp + 0x20], r8d
mov qword [rsp + 0x60], r12
mov r11d, dword [rsp + 0x48]
jmp 0x14010a7c0
mov dword [rsp + 0x24], r15d
lea rbx, [rcx + 1]
mov qword [rsp + 0x38], rbx
movzx ebx, byte [rcx]
mov byte [rsp + 6], bl
cmp byte [rsp + 6], 0
mov r11d, 0x15b50a25
mov ebx, 0x79e65b3
cmove r11d, ebx
jmp 0x14010a7c0
mov r11d, 0x6766897c
mov r14d, 5
mov eax, dword [rsp + 0x24]
jmp 0x14010a7c0
mov ebx, dword [rsp + 0x54]
cmp ebx, 0x23
sete byte [rsp + 0xb]
mov r11d, 0x9f3a4b2c
jmp 0x14010a7c0
mov rbx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x10]
mov r11d, 0xeeb7428d
jmp 0x14010a7c0
mov r11d, 0x70b44153
jmp 0x14010a7c0
movzx ebx, byte [rsp + 7]
mov r11d, 0xa9aba8b0
jmp 0x14010a7c0
mov rbx, qword [rsp + 0x38]
cmp byte [rbx + 1], 0x23
sete byte [rsp + 0xf]
mov r11d, 0x1545cf6c
jmp 0x14010a7c0
cmp byte [rsp + 8], 0
mov r11d, 0xd44bb560
mov ebx, 0x1092f082
cmovne r11d, ebx
mov r13d, dword [rsp + 0x20]
jmp 0x14010a7c0
mov r11d, 0x403da453
mov edi, dword [rsp + 0x1c]
jmp 0x14010a7c0
mov r11d, r10d
cmp r10d, 0xd44bb560
jne 0x14010a7c0
not r13d
mov eax, r13d
add rsp, 0x80
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret