Function at 0x1400313c0
Capabilities:
Hash data with crc32

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
sub rsp, 0x60
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0xb8]
xor esi, esi
mov qword [rsp + 0x48], r9
mov ebp, esi
test edx, edx
je 0x1400313f6
mov ebp, edx
lea r10, [r9 + rcx]
sub ebp, ecx
jmp 0x1400313fb
mov r10, qword [rsp + 0x50]
mov ebx, esi
test ebp, ebp
je 0x1400316ad
mov r11, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rdi
mov edi, dword [rsp + 0x90]
nop dword [rax]
test r10, r10
je 0x140031545
movzx esi, byte [r10]
inc r10
dec ebp
mov qword [rsp + 0x50], r10
test esi, esi
je 0x140031683
test sil, 0xc0
jne 0x140031596
test r10, r10
je 0x1400314a6
cmp esi, ebp
jae 0x14003166d
test ebx, ebx
je 0x14003145c
inc ebx
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x140031530
test ebx, ebx
je 0x14003147f
mov byte [rcx], 0x2e
inc rcx
mov qword [rsp + 0xa8], rcx
mov rdx, rcx
mov r8, r10
mov ecx, esi
call fcn.14000aeb0
add qword [rsp + 0xa8], rsi
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0xa8]
jmp 0x140031533
mov r8, r11
test r11, r11
je 0x14003150f
or ecx, 0xffffffff
mov r9d, ebp
test ebp, ebp
je 0x140031503
dec r9d
test r8, r8
je 0x1400314c7
movsx edi, byte [r8]
inc r8
test edi, edi
jne 0x1400314d2
lea eax, [rbp + 1]
test eax, eax
je 0x1400314fc
mov edx, 8
nop word [rax + rax]
mov eax, edi
xor eax, ecx
shr ecx, 1
test al, 1
je 0x1400314f0
xor ecx, 0xedb88320
shr edi, 1
dec rdx
jne 0x1400314e0
test r9d, r9d
jne 0x1400314b8
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0xb8]
mov r9, qword [rsp + 0x48]
test edx, edx
je 0x140031528
mov r10d, ecx
mov ebp, edx
add r10, r9
sub ebp, ecx
xor r8d, r8d
mov esi, r8d
mov ebx, r8d
jmp 0x140031533
xor r8d, r8d
mov ebx, r8d
jmp 0x140031533
mov r11, rcx
mov r9, qword [rsp + 0x48]
mov eax, esi
add ebx, esi
add r10, rax
sub ebp, esi
xor esi, esi
jmp 0x14003157b
mov eax, dword [rsp + 0x90]
mov r8, r9
mov rcx, r9
test eax, eax
je 0x140031579
movzx eax, byte [r8]
test al, al
je 0x140031579
cmp al, 0x20
je 0x140031579
cmp al, 9
je 0x140031579
inc r8
test rcx, rcx
je 0x140031575
mov byte [rcx], al
dec edx
inc rcx
test edx, edx
jne 0x140031556
mov ebx, esi
test ebp, ebp
je 0x14003166d
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0xb8]
jmp 0x140031420
test ebp, ebp
je 0x14003166d
test r10, r10
je 0x140031602
movzx eax, byte [r10]
and esi, 0x3f
xor r8d, r8d
shl esi, 8
add esi, eax
cmp edx, esi
jbe 0x140031670
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], r8
mov r8d, edx
mov qword [rsp + 0x28], r11
lea rcx, [rsp + 0x40]
mov edx, 0x1af5a804
mov dword [rsp + 0x20], ebx
call fcn.1400313c0
mov r8d, eax
test eax, eax
je 0x140031670
add ebx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0xb8]
dec ebp
jmp 0x140031689
mov rbx, qword [rsp + 0x48]
xor r8d, r8d
mov rdx, r11
mov r9, rbx
call fcn.140002e20
test rbx, rbx
je 0x140031670
mov r10d, dword [rsp + 0x40]
or ecx, 0xffffffff
mov r9d, r10d
test r10d, r10d
je 0x140031670
mov edx, dword [rsp + 0x90]
dec r9d
test rbx, rbx
je 0x14003163f
movsx edx, byte [rbx]
inc rbx
test edx, edx
jne 0x14003164b
lea eax, [r10 + 1]
test eax, eax
je 0x14003166d
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x140031661
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x140031651
test r9d, r9d
jne 0x140031631
xor r8d, r8d
mov rdi, qword [rsp + 0x88]
mov eax, r8d
add rsp, 0x60
pop rsi
pop rbp
pop rbx
ret
mov r8d, 1
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x14003169c
sub edx, ebp
sub edx, ecx
mov dword [rax], edx
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140031670
mov dword [rax], ebx
jmp 0x140031670
xor r8d, r8d
mov eax, r8d
add rsp, 0x60
pop rsi
pop rbp
pop rbx
ret