Function at 0x14011f060
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rsi
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x10], rcx
mov eax, 0x2000
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.14011fb97
add rsp, 0x20
xor eax, eax
mov qword [rbp], rax
mov rcx, qword [rbp]
mov qword [rbp - 0x20], rcx
movabs rdx, 0xeb1f76c498e36389
movabs rax, 0xeb1f76c498e34389
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rbp - 0x18], rax
je 0x14011f0e1
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 8]
mov dl, 0x3b
xor dl, 0x3b
mov byte [rcx + rax], dl
add rax, 1
mov qword [rbp], rax
jmp 0x14011f096
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x30], rcx
xor eax, eax
cmp rcx, 0x100
mov qword [rbp - 0x28], rax
je 0x14011f3bf
mov rax, qword [rbp - 0x30]
mov ecx, eax
xor eax, eax
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x38], rax
mov eax, dword [rbp - 0x3c]
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x48], rcx
mov dword [rbp - 0x40], eax
mov eax, dword [0x1401f94e0]
mov edx, dword [0x1401f94e4]
mov ecx, edx
and ecx, eax
mov r8d, 0x4abf810e
xor r8d, 0xb5407ef1
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x9dc695b0
xor edx, edx
div ecx
imul ecx, eax, 0x68e88458
mov eax, ecx
or eax, 0x13b40688
mov edx, 0x58759605
xor edx, 0xa78a69fa
xor eax, edx
mov edx, 0x79cab379
xor edx, 0x86354c86
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x13b40688
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xfbbcf0d2
xor edx, 0x4430f2d
xor ecx, edx
and eax, ecx
cmp eax, 0xd37f0ee2
ja 0x14011f660
mov eax, dword [0x1401f94e8]
add eax, dword [0x1401f94ec]
mov ecx, eax
xor ecx, 0x8fc76f06
xor ecx, 0xffffffff
and ecx, 0x8fc76f06
shl ecx, 1
mov edx, 0x1ad037a2
xor edx, 0x951758a4
sub ecx, edx
sub eax, ecx
mov ecx, 0x607c4a70
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x48]
xor ecx, ecx
sub ecx, 0x3eb04499
sub eax, ecx
mov ecx, 0x6c9791ab
xor ecx, 0xee2ef7f3
cmp rdx, 8
sete dl
mov byte [rbp - 0x49], dl
cmp eax, ecx
jae 0x14011f660
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14011f3a4
jmp 0x14011f20d
mov eax, dword [0x1401f94f0]
mov ecx, dword [0x1401f94f4]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
and eax, 0xeb5fb198
mov ecx, 0x3dee771d
xor ecx, 0x12f32d96
add eax, ecx
mov ecx, 0x1b021df4
xor ecx, 0xdabdffc6
xor eax, ecx
mov ecx, 0xe4fd55c8
xor ecx, 0x52a42e1f
cmp eax, ecx
jae 0x14011f669
mov ecx, dword [rbp - 0x40]
mov edx, dword [str._S__f]
mov r8d, dword [0x1401f94fc]
mov eax, 0xcebb3b1c
xor eax, 0x3bdb1cd8
xor r8d, eax
mov r9d, 0xa99ee5ff
xor r9d, 0x56611a00
mov eax, edx
xor eax, r9d
mov r9d, edx
xor r9d, 0xffffffff
or eax, r9d
and eax, r8d
xor eax, 0xffffffff
and r8d, r8d
xor r8d, 0xffffffff
mov r9d, 0xdb4be1ea
xor r9d, 0x24b41e15
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xffffffff
xor edx, 0x7ddf848c
add eax, edx
add eax, 1
mov r8d, 0xc1f3e78b
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x48]
mov r8d, eax
mov r9d, 0x5b5f5c10
xor r9d, 0x6e54fe74
mov eax, 0xe38469f4
xor eax, 0x1c7b960b
xor r9d, eax
mov eax, r8d
xor eax, r9d
and eax, r8d
mov r8d, ecx
shr r8d, 1
mov r10d, ecx
xor r10d, 0xffffffff
mov r9d, 0xe979f826
xor r9d, 0xe979f827
mov r11d, 0x12c6e765
xor r11d, 0xed39189a
xor r9d, r11d
or r10d, r9d
mov r9d, 0x7917a739
xor r9d, 0x7917a738
and ecx, r9d
xor ecx, 0xffffffff
xor r10d, 0xffffffff
xor ecx, 0xffffffff
or r10d, ecx
mov ecx, 0xedb88320
xor r9d, r9d
cmp r10d, 0
cmove ecx, r9d
xor ecx, r8d
mov dword [rbp - 0x5c], ecx
mov rcx, rdx
and rcx, 1
movabs r8, 0x2588afee4903d79f
movabs r9, 0x2588afee4903d79e
xor r8, r9
or rdx, r8
add rcx, rdx
mov qword [rbp - 0x58], rcx
cmp eax, 0xab517f93
ja 0x14011f669
mov rax, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x5c]
mov dword [rbp - 0x3c], ecx
mov qword [rbp - 0x38], rax
jmp 0x14011f10b
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 8]
mov edx, dword [rbp - 0x40]
mov dword [rcx + rax*4], edx
add rax, 1
mov qword [rbp - 0x18], rax
jmp 0x14011f0e1
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x68], rax
movabs rcx, 0x3c0c5901d7032234
movabs rdx, 0x3c0c5901d7032334
xor rcx, rdx
cmp rax, rcx
je 0x14011f641
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 8]
mov r8d, dword [rcx + rax*4]
mov edx, r8d
shr edx, 8
and r8d, 0xff
mov r8d, r8d
mov r10d, dword [rcx + r8*4]
mov r8d, edx
xor r8d, 0xffffffff
mov r9d, edx
xor r9d, 0xffffffff
or r8d, r9d
and r8d, r10d
xor r8d, 0xffffffff
mov r9d, r10d
xor r9d, 0xffffffff
mov r11d, 0x59d42943
xor r11d, 0xa62bd6bc
xor r10d, r11d
or r9d, r10d
xor edx, 0xffffffff
xor r9d, 0xffffffff
or edx, r9d
and r8d, edx
mov edx, 0x8fc337c6
xor edx, 0x703cc839
xor r8d, edx
mov dword [rcx + rax*4 + 0x400], r8d
mov edx, r8d
shr edx, 8
and r8d, 0xff
mov r8d, r8d
mov r9d, dword [rcx + r8*4]
mov r8d, edx
xor r8d, 0xffffffff
mov r11d, 0xcb12d547
xor r11d, 0x34ed2ab8
mov r10d, edx
xor r10d, r11d
and r8d, r10d
mov r10d, r9d
or r10d, r10d
mov r11d, 0x4381cc58
xor r11d, 0xbc7e33a7
xor r10d, r11d
or r8d, r10d
mov r10d, 0x599d6694
xor r10d, 0xa662996b
xor r8d, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, edx
xor r8d, 0xffffffff
mov dword [rcx + rax*4 + 0x800], r8d
mov ecx, 0xbe85afe1
xor ecx, 0xbe85afe9
mov edx, r8d
shr edx, cl
mov rcx, qword [rbp - 8]
mov r9d, r8d
xor r9d, 0xff
xor r9d, 0xffffffff
or r8d, 0xff
and r8d, r9d
mov r8d, r8d
xor edx, dword [rcx + r8*4]
mov dword [rcx + rax*4 + 0xc00], edx
mov r9d, edx
shr r9d, 8
mov r8d, edx
xor r8d, 0xff
xor r8d, 0xffffffff
mov r10d, 0x601f83ba
xor r10d, 0x601f8345
or edx, r10d
and edx, r8d
mov edx, edx
xor r9d, dword [rcx + rdx*4]
mov dword [rcx + rax*4 + 0x1000], r9d
mov r8d, r9d
shr r8d, 8
mov r10d, 0xad5d4479
xor r10d, 0x52a2bb86
mov edx, r9d
xor edx, r10d
mov r10d, 0xffffffff
xor r10d, 0xff
or edx, r10d
and r9d, 0xff
xor r9d, 0xffffffff
xor edx, 0xffffffff
xor r9d, 0xffffffff
or edx, r9d
mov edx, edx
xor r8d, dword [rcx + rdx*4]
mov dword [rcx + rax*4 + 0x1400], r8d
mov edx, r8d
shr edx, 8
mov r9d, r8d
xor r9d, 0xff
mov r10d, 0xa869996d
xor r10d, 0x57966692
xor r9d, r10d
or r8d, 0xff
and r8d, r9d
mov r8d, r8d
xor edx, dword [rcx + r8*4]
mov dword [rcx + rax*4 + 0x1800], edx
mov ecx, 0xd4790c1f
xor ecx, 0xd4790c17
mov r8d, edx
shr r8d, cl
mov rcx, qword [rbp - 8]
mov r9d, 0x3b80d54c
xor r9d, 0x3b80d5b3
and edx, r9d
mov edx, edx
mov r9d, dword [rcx + rdx*4]
mov edx, r8d
or edx, edx
xor edx, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
mov esi, 0xd0386323
xor esi, 0x2fc79cdc
mov r11d, r9d
xor r11d, esi
and r10d, r11d
xor edx, 0xffffffff
xor r10d, 0xffffffff
and edx, r10d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
and r8d, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov dword [rcx + rax*4 + 0x1c00], edx
add rax, 1
mov qword [rbp - 0x28], rax
jmp 0x14011f3bf
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp - 0x10]
mov r8d, 0x2000
sub rsp, 0x20
call fcn.14011f672
nop
lea rsp, [rbp + 8]
pop rsi
pop rbp
ret
mov esp, 0xe960a9d7
xor ebx, edi
invalid
ret 0xd0d0
sub rsp, 0x28
call fcn.14011fb97
lea rcx, [0x140218aa0]
add rsp, 0x28
jmp 0x14011f060