Function at 0x180108900
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, rdx
mov rbx, r9
mov rdx, rcx
mov rsi, r8
mov rdi, rcx
call fcn.180053ac0
test al, al
je 0x18005e8c0
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
test al, al
je 0x18005e8c0
mov rcx, rdi
call fcn.180053810
test al, al
je 0x18005e8c0
mov rcx, rdi
mov byte [rdi + 8], 2
call fcn.18004aa70
test rbx, rbx
lea rax, [0x1802769d0]
cmove rbx, rax
mov r8d, dword [rbx]
test rsi, rsi
je 0x18005e8a1
cmp byte [rsi], 0
jne 0x18005e8a1
mov byte [rsi], 1
xor esi, esi
mov rdx, rsi
mov rcx, rbp
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp 0x180108900
mov rcx, rdi
call fcn.180052ec0
int3
push rbx
push rsi
push rdi
sub rsp, 0x90
mov r9, qword [0x180338dd0]
mov rbx, rcx
mov edi, r8d
mov rsi, rdx
mov rax, qword [r9 + 0x1438]
mov byte [rax + 0x101], 1
mov rcx, qword [r9 + 0x1438]
cmp byte [rcx + 0x104], 0
jne 0x180108b1a
test rdx, rdx
je 0x18010894b
cmp byte [rdx], 0
je 0x180108b1a
mov qword [rsp + 0xb0], rbp
mov rdx, rbx
mov qword [rsp + 0xb8], r14
call fcn.1800c9310
mov ebp, eax
mov edx, 0x10001e
mov eax, 0x1a
test rsi, rsi
mov r8, rbx
mov ecx, ebp
cmove edx, eax
xor r9d, r9d
or edx, edi
call fcn.180107900
movzx r14d, al
test rsi, rsi
je 0x180108afb
mov rdi, qword [0x180338dd0]
lea rdx, [0x1802e4c45]
movaps xmmword [rsp + 0x80], xmm6
lea r9, [0x180279e80]
movaps xmmword [rsp + 0x70], xmm7
not ebp
movaps xmmword [rsp + 0x60], xmm8
mov ebx, ebp
movss xmm0, dword [rdi + 0x1e04]
mov r8b, 0x23
subss xmm0, dword [rdi + 0xcec]
movss xmm6, dword [rdi + 0x1dfc]
movss xmm7, dword [rdi + 0x1e00]
movups xmm8, xmmword [rdi + 0x1df0]
subss xmm0, dword [rdi + 0x1158]
addss xmm7, dword [rdi + 0xcf0]
movaps xmmword [rsp + 0x50], xmm9
movups xmm9, xmmword [rdi + 0x1e00]
movaps xmmword [rsp + 0x40], xmm10
maxss xmm6, xmm0
movups xmm10, xmmword [rdi + 0x1e10]
movaps xmmword [rsp + 0x30], xmm11
movups xmm11, xmmword [rdi + 0x1e20]
movaps xmmword [rsp + 0x20], xmm12
movups xmm12, xmmword [rdi + 0x1e30]
cmp r8b, 0x23
jne 0x180108a46
cmp byte [rdx], r8b
jne 0x180108a46
cmp byte [rdx + 1], r8b
cmove ebx, ebp
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r9 + rcx*4]
test r8b, r8b
jne 0x180108a34
not ebx
cmp dword [rdi + 0x148c], ebx
jne 0x180108a80
lea r8, str.CLOSE
mov edx, 0xb
mov ecx, ebx
call fcn.1800efbc0
lea rdx, [rsp + 0xc8]
movss dword [rsp + 0xc8], xmm6
mov ecx, ebx
movss dword [rsp + 0xcc], xmm7
call fcn.1800f3f90
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
test al, al
je 0x180108ab5
mov byte [rsi], 0
movups xmmword [rdi + 0x1df0], xmm8
movaps xmm8, xmmword [rsp + 0x60]
movups xmmword [rdi + 0x1e00], xmm9
movaps xmm9, xmmword [rsp + 0x50]
movups xmmword [rdi + 0x1e10], xmm10
movaps xmm10, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x1e20], xmm11
movaps xmm11, xmmword [rsp + 0x30]
movups xmmword [rdi + 0x1e30], xmm12
movaps xmm12, xmmword [rsp + 0x20]
mov rbp, qword [rsp + 0xb0]
movzx eax, r14b
mov r14, qword [rsp + 0xb8]
add rsp, 0x90
pop rdi
pop rsi
pop rbx
ret
xor al, al
add rsp, 0x90
pop rdi
pop rsi
pop rbx
ret