Function at 0x1400a91b0
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rbx, rdx
mov rdi, rcx
mov rsi, qword [0x140186d50]
test rdx, rdx
jne 0x1400a91dd
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbx, rax
lea rcx, [rsi + 0x60a0]
lea edx, [rbx + 1]
call fcn.1400878c0
mov r14, qword [rsi + 0x60a8]
mov rcx, r14
mov qword [rsp + 0x30], rdi
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x20], r14
mov byte [r14 + rbx], 0
movsxd rax, dword [rsi + 0x60b0]
test rax, rax
je 0x1400a924d
mov r15, qword [rsi + 0x60b8]
shl rax, 3
lea rdi, [rax + rax*8]
jmp 0x1400a923a
add r15, 0x48
add rdi, 0xffffffffffffffb8
je 0x1400a924d
mov rax, qword [r15 + 0x18]
test rax, rax
je 0x1400a9230
mov rcx, rsi
mov rdx, r15
call rax
jmp 0x1400a9230
mov qword [rsp + 0x28], rbx
test rbx, rbx
jle 0x1400a946c
mov rax, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
lea rdi, [rbx + rax]
xor r15d, r15d
xor r12d, r12d
jmp 0x1400a928c
xor r12d, r12d
xor r15d, r15d
nop word [rax + rax]
inc rbx
cmp rbx, rdi
jae 0x1400a946c
lea rax, [rbx + 2]
lea rcx, [rbx + 1]
lea r14, [rbx + 3]
mov r13, rbx
jmp 0x1400a92ac
inc r13
inc rax
inc rcx
inc r14
movzx edx, byte [r13]
cmp edx, 0xa
je 0x1400a92a0
cmp edx, 0xd
je 0x1400a92a0
mov rbx, r13
cmp r13, rdi
jae 0x1400a92f3
nop word cs:[rax + rax]
cmp dl, 0xa
je 0x1400a92ed
movzx edx, dl
cmp edx, 0xd
je 0x1400a92ed
cmp rcx, rdi
jae 0x1400a92f0
movzx edx, byte [rcx]
inc rcx
cmp dl, 0xa
jne 0x1400a92d5
dec rcx
mov rbx, rcx
mov byte [rbx], 0
movzx ecx, byte [r13]
cmp ecx, 0x3b
je 0x1400a9280
cmp ecx, 0x5b
jne 0x1400a93d0
cmp rbx, r13
jbe 0x1400a93d0
cmp byte [rbx - 1], 0x5d
jne 0x1400a93d0
mov byte [rbx - 1], 0
inc r13
mov r8, rbx
sub r8, rax
mov rcx, r13
mov edx, 0x5d
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1400a9280
mov rbp, rax
lea r8, [rbx - 1]
lea rcx, [rax + 1]
sub r8, rcx
mov edx, 0x5b
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1400a9280
mov byte [rbp], 0
movzx edx, byte [r13]
test dl, dl
je 0x1400a93fc
mov ecx, 0xffffffff
mov r10d, 0xffffffff
lea r11, [0x140109410]
jmp 0x1400a93a9
movzx r8d, r8b
movzx r9d, cl
shr ecx, 8
xor r9d, r8d
xor ecx, dword [r11 + r9*4]
inc r14
test dl, dl
je 0x1400a93f8
mov r8d, edx
movzx edx, byte [r14 - 1]
cmp r8b, 0x23
jne 0x1400a9390
cmp dl, 0x23
jne 0x1400a9390
cmp byte [r14], 0x23
cmove ecx, r10d
jmp 0x1400a9390
test r12, r12
je 0x1400a9280
test r15, r15
je 0x1400a9280
mov rcx, rsi
mov rdx, r12
mov r8, r15
mov r9, r13
call qword [r12 + 0x28]
jmp 0x1400a9280
not ecx
jmp 0x1400a93fe
xor ecx, ecx
mov r8, qword [0x140186d50]
movsxd rdx, dword [r8 + 0x60b0]
test rdx, rdx
je 0x1400a9271
mov r13, qword [r8 + 0x60b8]
shl rdx, 3
lea rdx, [rdx + rdx*8]
nop word cs:[rax + rax]
cmp dword [r13 + 8], ecx
je 0x1400a9451
add r13, 0x48
mov r12d, 0
mov r15d, 0
add rdx, 0xffffffffffffffb8
jne 0x1400a9430
jmp 0x1400a9280
inc rax
mov rcx, rsi
mov rdx, r13
mov r8, rax
call qword [r13 + 0x20]
mov r15, rax
mov r12, r13
jmp 0x1400a9280
mov byte [rsi + 0x6098], 1
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rsi + 0x60b0]
test rax, rax
je 0x1400a94cd
mov rdi, qword [rsi + 0x60b8]
shl rax, 3
lea rbx, [rax + rax*8]
jmp 0x1400a94ba
add rdi, 0x48
add rbx, 0xffffffffffffffb8
je 0x1400a94cd
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x1400a94b0
mov rcx, rsi
mov rdx, rdi
call rax
jmp 0x1400a94b0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret