Function at 0x140039860
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, r8
mov rbx, rdx
mov r15, rcx
lea rax, [rcx + 0x138]
mov qword [rbp - 0x10], rax
lea rax, [rcx + 0x148]
mov qword [rbp - 0x28], rax
lea rax, [rcx + 0x2b8]
mov qword [rbp - 0x20], rax
lea rax, [rcx + 0x2c8]
mov qword [rbp - 0x18], rax
lea rax, [rcx + 0x2f0]
mov qword [rbp - 8], rax
add rcx, 8
mov r8d, 0x488
xor edx, edx
call fcn.1400a5800
mov qword [r15], rbx
mov rcx, rdi
call fcn.1400d3a00
mov rbx, rax
add rbx, 1
mov rdx, qword [0x140114190]
mov rcx, rbx
call qword [0x14010a998]
mov r14, rax
mov rax, qword [0x140114180]
test rax, rax
je 0x140039993
mov r8d, dword [rax + 0x40c8]
movsx rdx, word [rax + 0x6370]
cmp dword [rax + rdx*8 + 0x6374], r8d
jne 0x140039936
lea rdx, [rax + rdx*8]
add rdx, 0x6374
cmp rbx, 0xffffffffffffffff
je 0x140039985
add word [rdx + 4], 1
add rax, 0x6368
jmp 0x140039990
add edx, 1
movsxd rdx, edx
imul rsi, rdx, 0x2aaaaaab
mov rcx, rsi
shr rcx, 0x3f
shr rsi, 0x20
add esi, ecx
add esi, esi
lea ecx, [rsi + rsi*2]
sub edx, ecx
mov word [rax + 0x6370], dx
movsxd rcx, edx
lea rdx, [rax + rcx*8]
add rdx, 0x6374
mov dword [rax + rcx*8 + 0x6374], r8d
mov dword [rax + rcx*8 + 0x6378], 0
cmp rbx, 0xffffffffffffffff
jne 0x140039929
add word [rdx + 6], 1
add rax, 0x636c
add dword [rax], 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call fcn.1400a5150
mov qword [r15 + 8], r14
mov rcx, rdi
call fcn.1400d3a00
add eax, 1
mov dword [r15 + 0xb8], eax
mov bl, byte [rdi]
test bl, bl
je 0x140039a15
add rdi, 2
mov r8d, 0xffffffff
lea rdx, [0x1400d97e0]
mov eax, 0xffffffff
jmp 0x1400399f8
movzx ebx, bl
movzx esi, al
shr eax, 8
xor esi, ebx
xor eax, dword [rdx + rsi*4]
add rdi, 1
mov ebx, ecx
test cl, cl
je 0x140039a11
movzx ecx, byte [rdi - 1]
cmp bl, 0x23
jne 0x1400399e0
cmp cl, 0x23
jne 0x1400399e0
cmp byte [rdi], 0x23
cmove eax, r8d
mov cl, 0x23
jmp 0x1400399e0
not eax
jmp 0x140039a17
xor eax, eax
lea rdx, [r15 + 0x10]
mov dword [r15 + 0x10], eax
mov rcx, qword [rbp - 0x10]
call fcn.140031f70
mov dword [r15 + 0x54], 0xffffffff
movabs rax, 0x7f7fffff7f7fffff
mov qword [r15 + 0x4c], rax
mov r8, qword [r15 + 0x140]
movsxd r9, dword [r15 + 0x138]
mov edx, dword [r8 + r9*4 - 4]
add r9, 0xffffffffffffffff
not edx
mov cl, 0x23
lea rax, [0x1400f1a6b]
lea r14, [0x1400d97e0]
mov edi, edx
jmp 0x140039a8a
movzx ecx, cl
movzx esi, dil
shr edi, 8
xor esi, ecx
xor edi, dword [r14 + rsi*4]
add rax, 1
mov ecx, ebx
test bl, bl
je 0x140039aa2
movzx ebx, byte [rax - 1]
cmp cl, 0x23
jne 0x140039a70
cmp bl, 0x23
jne 0x140039a70
cmp byte [rax], 0x23
cmove edi, edx
mov bl, 0x23
jmp 0x140039a70
not edi
mov rax, qword [r15]
cmp dword [rax + 0x41d4], edi
jne 0x140039ad7
lea r8, str.MOVE
mov ecx, edi
mov edx, 0xb
xor r9d, r9d
call fcn.140054480
mov r8, qword [r15 + 0x140]
movsxd r9, dword [r15 + 0x138]
add r9, 0xffffffffffffffff
mov dword [r15 + 0xbc], edi
mov eax, dword [r8 + r9*4]
not eax
mov dl, 0x23
lea rcx, [0x1400f1aa9]
mov edi, eax
jmp 0x140039b1a
movzx edx, dl
movzx esi, dil
shr edi, 8
xor esi, edx
xor edi, dword [r14 + rsi*4]
add rcx, 1
mov edx, ebx
test bl, bl
je 0x140039b32
movzx ebx, byte [rcx - 1]
cmp dl, 0x23
jne 0x140039b00
cmp bl, 0x23
jne 0x140039b00
cmp byte [rcx], 0x23
cmove edi, eax
mov bl, 0x23
jmp 0x140039b00
not edi
mov rax, qword [r15]
cmp dword [rax + 0x41d4], edi
jne 0x140039b58
lea r8, str.TAB
mov ecx, edi
mov edx, 0xb
xor r9d, r9d
call fcn.140054480
mov rax, qword [r15]
mov dword [r15 + 0xc0], edi
movaps xmm0, xmmword [0x1400daaa0]
movups xmmword [r15 + 0xdc], xmm0
mov word [r15 + 0x118], 0xffff
mov dword [r15 + 0x11c], 0xffffffff
mov dword [r15 + 0x134], 0x7f7fffff
movaps xmm0, xmmword [0x1400daab0]
movups xmmword [r15 + 0x124], xmm0
mov qword [r15 + 0x2a8], 0xffffffffffffffff
mov dword [r15 + 0x2b0], 0xbf800000
movabs rcx, 0x3f8000003f800000
mov qword [r15 + 0x2d8], rcx
mov dword [r15 + 0x2e0], 0xffffffff
mov word [r15 + 0x446], 0xffff
mov rcx, qword [rbp - 8]
mov qword [r15 + 0x2e8], rcx
add rax, 0x3eb0
mov qword [r15 + 0x328], rax
mov rax, qword [r15 + 8]
mov qword [r15 + 0x3b0], rax
movaps xmm0, xmmword [0x1400daa90]
movups xmmword [r15 + 0x428], xmm0
xorps xmm0, xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x30], xmm0
mov dword [r15 + 0x24], 0xffffffff
mov byte [r15 + 0x3d], 1
mov rax, r15
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret