Function at 0x1401e5a80
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov rbx, qword [0x141443c60]
xor r12d, r12d
mov dword [rbp - 0x4c], r12d
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x18], r12
lea rax, [0x1413ceaa0]
mov qword [rbp - 0x58], rax
mov r15d, 0xffffffff
mov edx, r15d
lea r8, [0x1413ceaa1]
mov r9b, 0x57
lea r13, [0x140db6590]
nop
cmp r9b, 0x23
jne 0x1401e5ae3
cmp byte [r8], r9b
jne 0x1401e5ae3
cmp byte [r8 + 1], r9b
cmove edx, r15d
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [r13 + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x1401e5ad0
not edx
mov dword [rbp - 0x50], edx
lea rax, [0x1401fe490]
mov qword [rbp - 0x48], rax
lea rax, [0x1401fe4d0]
mov qword [rbp - 0x38], rax
lea rax, [0x1401fe5d0]
mov qword [rbp - 0x30], rax
lea rax, [0x1401fe7e0]
mov qword [rbp - 0x28], rax
lea rax, [0x1401fe880]
mov qword [rbp - 0x20], rax
lea rcx, [rbx + 0x6198]
lea rdx, [rbp - 0x58]
call fcn.14020ad30
mov dword [rbp - 0x4c], r12d
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x18], r12
lea rax, [0x1413d05b4]
mov qword [rbp - 0x58], rax
mov edx, r15d
lea r8, [0x1413d05b5]
mov r9b, 0x54
cmp r9b, 0x23
jne 0x1401e5b84
cmp byte [r8], r9b
jne 0x1401e5b84
cmp byte [r8 + 1], r9b
cmove edx, r15d
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [r13 + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x1401e5b71
not edx
mov dword [rbp - 0x50], edx
lea rax, [0x140213a80]
mov qword [rbp - 0x48], rax
lea rax, [0x140213b30]
mov qword [rbp - 0x38], rax
lea rax, [0x140213c10]
mov qword [rbp - 0x30], rax
lea rax, [0x140213ae0]
mov qword [rbp - 0x28], rax
lea rax, [0x140213e90]
mov qword [rbp - 0x20], rax
mov rcx, qword [0x141443c60]
add rcx, 0x6198
lea rdx, [rbp - 0x58]
call fcn.14020ad30
mov rcx, qword [0x141443c60]
mov rax, qword [0x140db62e8]
mov qword [rcx + 0x61e0], rax
mov rax, qword [0x140db62f8]
mov qword [rcx + 0x61e8], rax
mov rax, qword [0x140db6308]
mov qword [rcx + 0x61f0], rax
mov rax, qword [0x140db6318]
mov qword [rcx + 0x61f8], rax
mov rax, qword [0x140db6328]
mov qword [rcx + 0x6200], rax
mov rax, qword [0x140db6338]
mov qword [rcx + 0x6208], rax
mov rax, qword [0x140db6348]
mov qword [rcx + 0x6210], rax
mov rax, qword [0x140db6358]
mov qword [rcx + 0x6218], rax
mov rax, qword [0x140db6368]
mov qword [rcx + 0x6220], rax
mov rax, qword [0x140db6378]
mov qword [rcx + 0x6228], rax
mov rax, qword [0x140db6388]
mov qword [rcx + 0x6230], rax
lea rax, [0x14020a230]
mov qword [rbx + 0xb0], rax
lea rax, [0x14020a380]
mov qword [rbx + 0xb8], rax
mov qword [rbx + 0xc0], rbx
lea rax, [0x14020a450]
mov qword [rbx + 0xc8], rax
mov ecx, 0x140
call fcn.1401e7830
mov qword [rbp + 0x50], rax
lea rcx, [rbp + 0x48]
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
test rax, rax
je 0x1401e5cf3
mov rcx, rax
call fcn.1401df0c0
mov rsi, rax
jmp 0x1401e5cf6
mov rsi, r12
mov dword [rsi], 0x11111111
mov dword [rsi + 0x68], r12d
mov byte [rsi + 0x58], 1
mov dword [rsi + 4], 4
lea rdi, [rbx + 0x4c90]
mov ecx, dword [rdi + 4]
mov r8d, dword [rdi]
mov r14d, 8
cmp r8d, ecx
jne 0x1401e5d4a
inc r8d
test ecx, ecx
je 0x1401e5d35
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1401e5d38
mov eax, r14d
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rdi
call fcn.140028040
movsxd rcx, dword [rdi]
mov rax, qword [rdi + 8]
mov qword [rax + rcx*8], rsi
inc dword [rdi]
mov ecx, dword [rbx + 0x646c]
cmp ecx, 0xc01
jge 0x1401e5d8d
test ecx, ecx
je 0x1401e5d74
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1401e5d77
mov eax, r14d
mov edx, 0xc01
cmp eax, edx
cmovg edx, eax
lea rcx, [rbx + 0x6468]
call fcn.140002920
movsxd rax, dword [rbx + 0x6468]
cmp eax, 0xc01
jge 0x1401e5dc7
mov rcx, rax
cmp rax, 0xc01
jge 0x1401e5dc7
nop word [rax + rax]
mov rax, qword [rbx + 0x6470]
mov byte [rcx + rax], 0
inc rcx
cmp rcx, 0xc01
jl 0x1401e5db0
mov dword [rbx + 0x6468], 0xc01
inc dword [rbx + 0x4d00]
lea rdi, [rbx + 0x39e8]
mov rax, qword [rbx + 0x4c98]
mov rsi, qword [rax]
mov r8d, dword [rdi + 4]
mov ecx, dword [rdi]
cmp ecx, r8d
jne 0x1401e5e17
inc ecx
test r8d, r8d
je 0x1401e5e06
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
lea r14d, [r8 + rax]
cmp r14d, ecx
cmovg ecx, r14d
mov edx, ecx
mov rcx, rdi
call fcn.140028040
movsxd rcx, dword [rdi]
mov rax, qword [rdi + 8]
mov qword [rax + rcx*8], rsi
inc dword [rdi]
mov r8d, 0x200
mov r9, r12
movabs r11, 0xfffffffff001001
movabs r10, 0x17fff06ff
lea eax, [r8 - 0x200]
cmp eax, 0x3b
ja 0x1401e5e53
bt r11, rax
jb 0x1401e5e65
lea eax, [r8 - 0x254]
cmp eax, 0x20
ja 0x1401e5e85
bt r10, rax
jae 0x1401e5e85
mov rax, r9
sar rax, 5
lea rdx, [rbx + rax*4]
mov ecx, r8d
and ecx, 0x1f
mov eax, dword [rdx + 0x4218]
bts eax, ecx
mov dword [rdx + 0x4218], eax
inc r8d
inc r9
cmp r8d, 0x29a
jl 0x1401e5e41
mov dword [rbp - 0x4c], r12d
mov qword [rbp - 0x18], r12
lea rax, [0x1413cfbb8]
mov qword [rbp - 0x58], rax
mov eax, r15d
lea r8, [0x1413cfbb9]
mov r9b, 0x44
cmp r9b, 0x23
jne 0x1401e5ec7
cmp byte [r8], r9b
jne 0x1401e5ec7
cmp byte [r8 + 1], r9b
cmove eax, r15d
movzx edx, al
movzx ecx, r9b
xor rdx, rcx
shr eax, 8
xor eax, dword [r13 + rdx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x1401e5eb4
not eax
mov dword [rbp - 0x50], eax
lea rax, [0x1402096f0]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
lea rax, [0x1402097f0]
mov qword [rbp - 0x38], rax
lea rax, [0x140209820]
mov qword [rbp - 0x30], rax
lea rax, [0x1402097b0]
mov qword [rbp - 0x28], rax
lea rax, [0x140209de0]
mov qword [rbp - 0x20], rax
lea rcx, [rbx + 0x6198]
lea rdx, [rbp - 0x58]
call fcn.14020ad30
lea rax, [0x140203f20]
mov qword [rbx + 0x6178], rax
mov byte [rbx], 1
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret