Function at 0x140031b50
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 7]
sub rsp, 0xd0
mov rdi, qword [rcx + 0xc0]
xor r13d, r13d
mov qword [rbp - 0x59], rdi
mov esi, r13d
mov ebx, r13d
mov dword [rbp - 0x5d], r13d
mov dword [rsp + 0x48], r13d
mov r14d, r13d
mov qword [rbp - 0x79], r13
test r8, r8
je 0x140031bd0
movzx ecx, byte [r8]
mov rax, r8
test cl, cl
je 0x140031bb9
nop
inc rax
inc esi
cmp byte [rax], bl
jne 0x140031bb0
test esi, esi
jne 0x140031bd0
mov rax, r8
mov esi, r13d
test cl, cl
je 0x140031bd0
inc rax
inc esi
cmp byte [rax], bl
jne 0x140031bc7
mov rax, rdx
mov r12d, r13d
test rdx, rdx
je 0x140031bea
cmp byte [rdx], bl
je 0x140031bea
nop
inc rax
inc r12d
cmp byte [rax], bl
jne 0x140031be0
mov qword [rsp + 0xc8], r15
test r12d, r12d
je 0x140031c0c
mov eax, dword [rdi + 0xd8]
lea ebx, [rax - 0x5dd3aa34]
lea r15d, [rax - 0x5dd3aa2c]
jmp 0x140031c2e
mov rax, rdx
mov r12d, r13d
test rdx, rdx
je 0x140031c2a
cmp byte [rdx], bl
je 0x140031c2a
nop dword [rax + rax]
inc rax
inc r12d
cmp byte [rax], bl
jne 0x140031c20
mov r15d, dword [rbp + 0x6f]
mov r8d, dword [rdi + 0xd8]
mov dword [rbp - 0x71], r15d
lea eax, [r8 - 0x5dd3a93c]
mov dword [rbp - 0x61], eax
cmp qword [rbp + 0x6f], r13
je 0x140031ce0
mov rcx, qword [rdi + 0x92b8]
mov edx, 0x2cc0385c
call qword [rdi + 0x260]
test rax, rax
je 0x140031c6a
lea rcx, [rbp - 0x69]
call rax
mov eax, dword [rbp - 0x69]
xor edx, edx
lea ecx, [r15 + 1]
lea r9d, [r15 + r15]
imul eax, eax, 0x19660d
add eax, 0x3c6ef35f
mov dword [rbp - 0x69], eax
div ecx
sub r9d, edx
mov dword [rbp - 0x5d], r9d
je 0x140031cac
mov r14d, dword [rdi + 0xd8]
sub r14d, r9d
sub r14d, ebx
sub r14d, r12d
sub r14d, esi
sub r14d, 0x5dd3a942
jmp 0x140031ce0
mov rcx, qword [rbp - 0x79]
xor r8d, r8d
mov edx, ebx
call fcn.140001410
mov edx, dword [rbp + 0x7f]
mov rcx, rax
mov qword [rbp - 0x79], rax
call fcn.140005a40
test r12d, r12d
je 0x140031ce0
mov r15d, dword [rdi + 0xd8]
sub r15d, 0x5dd3aa2c
mov dword [rbp - 0x71], r15d
mov rcx, qword [rbp + 0x67]
mov r8d, r13d
mov rax, rcx
test rcx, rcx
je 0x140031cff
cmp byte [rcx], r8b
je 0x140031cff
inc rax
inc r8d
cmp byte [rax], r13b
jne 0x140031cf4
mov edx, dword [rdi + 0xd8]
lea r9, [rbp - 0x79]
sub edx, 0x5dd32a39
call fcn.140006060
test eax, eax
jne 0x14003258c
mov rbx, qword [rbp + 0x87]
mov r8, qword [rbp + 0x57]
mov ecx, esi
mov rdx, rbx
call fcn.14000aeb0
mov r8d, dword [rdi + 0xd8]
mov rcx, qword [rdi + 0x268]
mov edx, 0x734df653
call qword [rdi + 0x260]
test rax, rax
je 0x140031d75
mov r9, qword [rbp + 0x77]
mov edx, dword [rbp - 0x61]
lea r8, [0x140083503]
add r8, qword [rdi + 0xe8]
mov r9d, dword [r9]
mov ecx, esi
sub edx, esi
add rcx, rbx
call rax
mov r8d, eax
jmp 0x140031d78
mov r8d, r13d
mov rcx, qword [rbp - 0x79]
mov eax, esi
mov dword [rbp - 0x6d], r8d
mov rdx, qword [rcx + 0x50]
add rax, rbx
mov dword [rsp + 0x40], r8d
mov qword [rbp - 0x51], rax
test rdx, rdx
je 0x140031db2
mov rax, qword [rcx + 0x40]
lea r9, [rbp - 0x51]
lea r8, [rsp + 0x40]
mov cl, 0xb8
mov qword [rsp + 0x20], rax
call fcn.140005b80
jmp 0x140031dba
mov edx, r8d
call fcn.140005a40
add esi, dword [rbp - 0x6d]
mov ebx, eax
test eax, eax
jne 0x140032576
mov eax, 0x3f
mov r15d, r14d
mov dword [rsp + 0x40], r13d
cmp r14d, eax
mov dword [rsp + 0x48], r13d
cmova r15d, eax
test r15d, r15d
je 0x1400322a8
test r14d, r14d
je 0x140031e47
mov ebx, dword [rbp + 0x7f]
cmp ebx, r15d
jbe 0x140031e42
mov ecx, dword [rbp - 0x69]
mov eax, 0x24924925
imul ecx, ecx, 0x19660d
add ecx, 0x3c6ef35f
mov dword [rbp - 0x69], ecx
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
mov rdx, qword [rbp + 0x6f]
shr eax, 2
imul eax, eax, 7
sub ecx, eax
sub r15d, ecx
cmp byte [r15 + rdx], 0x2d
jne 0x140031e32
dec r15d
jmp 0x140031ea0
lea eax, [r15 - 1]
cmp byte [rax + rdx], 0x2d
jne 0x140031ea0
add r15d, 0xfffffffe
jmp 0x140031ea0
mov r15d, ebx
jmp 0x140031ea0
mov rdx, qword [rbp + 0x6f]
mov r9, rdx
test rdx, rdx
je 0x140031e9d
mov edx, dword [rbp + 0x6f]
mov r10d, r15d
or ecx, 0xffffffff
nop dword [rax]
dec r10d
test r9, r9
je 0x140031e6f
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x140031e7b
lea eax, [r15 + 1]
test eax, eax
je 0x140031e9d
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x140031e91
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x140031e81
test r10d, r10d
jne 0x140031e60
mov ebx, dword [rbp + 0x7f]
test r15d, r15d
je 0x1400322a8
cmp ebx, r15d
jb 0x140031edc
sub ebx, r15d
mov dword [rbp + 0x7f], ebx
cmp r14d, r15d
jae 0x140031fa1
test r12d, r12d
je 0x140031fa1
mov eax, dword [rdi + 0xd8]
lea r9d, [rax - 0x5dd3aa34]
mov dword [rbp - 0x6d], r9d
jmp 0x140031f96
mov edx, dword [rbp - 0x61]
mov rcx, qword [rbp - 0x79]
call fcn.140005a40
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x48], r13d
cmp qword [rbp + 0x6f], r13
je 0x140031fa1
mov r8d, dword [rdi + 0xd8]
mov rcx, qword [rdi + 0x92b8]
mov edx, 0x2cc0385c
call qword [rdi + 0x260]
test rax, rax
je 0x140031f20
lea rcx, [rbp - 0x69]
call rax
mov eax, dword [rbp - 0x69]
mov r8d, dword [rbp - 0x71]
xor edx, edx
lea ecx, [r8 + 1]
imul eax, eax, 0x19660d
add eax, 0x3c6ef35f
mov dword [rbp - 0x69], eax
div ecx
lea eax, [r8 + r8]
sub eax, edx
mov dword [rbp - 0x5d], eax
je 0x140031f65
mov r14d, dword [rdi + 0xd8]
sub r14d, eax
sub r14d, dword [rbp - 0x6d]
sub r14d, r12d
sub r14d, esi
sub r14d, 0x5dd3a942
jmp 0x140031fa1
mov edx, dword [rbp - 0x6d]
mov rcx, qword [rbp - 0x79]
xor r8d, r8d
call fcn.140001410
mov edx, ebx
mov rcx, rax
mov qword [rbp - 0x79], rax
call fcn.140005a40
test r12d, r12d
je 0x140031fa1
mov eax, dword [rdi + 0xd8]
lea ecx, [rax - 0x5dd3aa34]
mov dword [rbp - 0x6d], ecx
lea r8d, [rax - 0x5dd3aa2c]
mov dword [rbp - 0x71], r8d
mov rcx, qword [rbp - 0x79]
mov rbx, qword [rbp + 0x6f]
sub r14d, r15d
mov rdx, qword [rcx + 0x50]
mov qword [rbp - 0x39], rbx
mov dword [rbp - 0x51], r15d
test rdx, rdx
je 0x140031fd7
mov rax, qword [rcx + 0x40]
lea r9, [rbp - 0x39]
lea r8, [rbp - 0x51]
mov cl, 0xb8
mov qword [rsp + 0x20], rax
call fcn.140005b80
jmp 0x140031fdf
mov edx, r15d
call fcn.140005a40
mov ebx, eax
test eax, eax
jne 0x140032572
mov rax, qword [rbp + 0x6f]
cmp r14d, 0x3f
mov edi, r15d
lea r11, [rdi + rax]
mov eax, 0x3f
mov r10d, r14d
cmova r10d, eax
mov dword [rsp + 0x48], r10d
test r10d, r10d
je 0x1400320e4
test r14d, r14d
je 0x140032086
mov eax, dword [rbp + 0x7f]
cmp eax, r10d
jbe 0x14003207d
mov ecx, dword [rbp - 0x69]
mov eax, 0x24924925
imul ecx, ecx, 0x19660d
add ecx, 0x3c6ef35f
mov dword [rbp - 0x69], ecx
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
imul eax, eax, 7
sub ecx, eax
sub r10d, ecx
mov dword [rsp + 0x48], r10d
cmp byte [r10 + r11], 0x2d
jne 0x140032064
dec r10d
mov dword [rsp + 0x48], r10d
jmp 0x1400320e4
lea eax, [r10 - 1]
cmp byte [rax + r11], 0x2d
mov eax, dword [rbp + 0x7f]
jne 0x1400320e7
add r10d, 0xfffffffe
mov dword [rsp + 0x48], r10d
jmp 0x1400320e7
mov r10d, eax
mov dword [rsp + 0x48], eax
jmp 0x1400320e7
mov r9, r11
test r11, r11
je 0x1400320e4
mov edi, dword [rsp + 0x48]
mov edx, dword [rbp + 0x6f]
or ecx, 0xffffffff
mov r10d, edi
nop dword [rax + rax]
dec r10d
test r9, r9
je 0x1400320af
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x1400320ba
lea eax, [rdi + 1]
test eax, eax
je 0x1400320dc
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x1400320d0
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x1400320c0
test r10d, r10d
jne 0x1400320a0
mov r10d, dword [rsp + 0x48]
mov edi, r15d
mov eax, dword [rbp + 0x7f]
test r10d, r10d
je 0x1400322a4
mov r8, qword [rbp - 0x79]
sub eax, r10d
mov rdx, r11
mov ecx, r10d
sub r14d, r10d
mov dword [rbp + 0x7f], eax
call fcn.1400062d0
mov ebx, eax
test eax, eax
jne 0x140032572
mov ebx, dword [rsp + 0x48]
mov eax, 0x3f
add rbx, rdi
mov edi, r14d
add rbx, qword [rbp + 0x6f]
cmp r14d, 0x3f
cmova edi, eax
mov dword [rsp + 0x40], edi
test edi, edi
je 0x1400321ec
test r14d, r14d
je 0x14003219e
mov eax, dword [rbp + 0x7f]
cmp eax, edi
jbe 0x140032196
mov ecx, dword [rbp - 0x69]
mov eax, 0x24924925
imul ecx, ecx, 0x19660d
add ecx, 0x3c6ef35f
mov dword [rbp - 0x69], ecx
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
imul eax, eax, 7
sub ecx, eax
sub edi, ecx
mov dword [rsp + 0x40], edi
cmp byte [rdi + rbx], 0x2d
jne 0x140032181
dec edi
mov dword [rsp + 0x40], edi
jmp 0x1400321ec
lea eax, [rdi - 1]
cmp byte [rax + rbx], 0x2d
mov eax, dword [rbp + 0x7f]
jne 0x1400321ef
add edi, 0xfffffffe
mov dword [rsp + 0x40], edi
jmp 0x1400321ef
mov edi, eax
mov dword [rsp + 0x40], eax
jmp 0x1400321ef
mov r9, rbx
test rbx, rbx
je 0x1400321ec
mov edx, dword [rbp + 0x6f]
mov r10d, edi
or ecx, 0xffffffff
nop
dec r10d
test r9, r9
je 0x1400321bf
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x1400321ca
lea eax, [rdi + 1]
test eax, eax
je 0x1400321ec
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x1400321e0
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x1400321d0
test r10d, r10d
jne 0x1400321b0
mov eax, dword [rbp + 0x7f]
test edi, edi
je 0x1400322a4
cmp eax, edi
jb 0x14003223d
cmp r14d, edi
jae 0x14003228c
mov edx, dword [rbp - 0x6d]
mov rcx, qword [rbp - 0x79]
call fcn.140005a40
mov rcx, qword [rbp - 0x79]
mov edx, r15d
call fcn.140005a40
mov r14, qword [rbp + 0x67]
mov r8d, r13d
mov r11, r14
test r14, r14
je 0x140032270
cmp byte [r14], r8b
je 0x140032270
inc r11
inc r8d
cmp byte [r11], r13b
jne 0x140032230
jmp 0x140032270
mov rcx, qword [rbp + 0x47]
call fcn.140033720
mov rcx, qword [rbp - 0x79]
mov edx, esi
call fcn.140005a40
mov r14, qword [rbp + 0x67]
mov r8d, r13d
mov r11, r14
test r14, r14
je 0x140032270
cmp byte [r14], r8b
je 0x140032270
inc r11
inc r8d
cmp byte [r11], r13b
jne 0x140032265
mov rcx, qword [rbp - 0x59]
lea r9, [rbp - 0x79]
mov edx, dword [rcx + 0xd8]
mov rcx, r14
sub edx, 0x5dd32a39
call fcn.140006060
mov r8, qword [rbp - 0x79]
mov rdx, rbx
mov ecx, edi
call fcn.1400062d0
mov ebx, eax
test eax, eax
jne 0x140032572
mov rdi, qword [rbp - 0x59]
mov r14d, dword [rbp - 0x71]
mov rcx, qword [rbp - 0x79]
lea rdx, [rbp - 0x49]
mov r8d, r14d
mov r9b, 0xa7
call fcn.140006320
mov ebx, eax
test eax, eax
jne 0x14003258c
cmp esi, dword [rbp - 0x61]
jae 0x140032361
mov r8d, dword [rdi + 0xd8]
mov rcx, qword [rdi + 0x268]
mov edx, 0x734df653
call qword [rdi + 0x260]
mov rdi, rax
test rax, rax
je 0x140032338
mov rcx, qword [rbp - 0x59]
mov eax, dword [rbp - 0x3d]
mov r11d, dword [rbp - 0x41]
mov r10d, dword [rbp - 0x45]
mov r9d, dword [rbp - 0x49]
bswap eax
mov dword [rsp + 0x30], eax
bswap r11d
bswap r10d
mov dword [rsp + 0x28], r11d
lea r8, [0x1400834f7]
lea edx, [r14 + r14 + 1]
add r8, qword [rcx + 0xe8]
lea rcx, [rbp - 0x31]
bswap r9d
mov dword [rsp + 0x20], r10d
call rdi
mov r13, qword [rbp + 0x87]
mov edi, dword [rbp - 0x5d]
mov edx, esi
lea r8, [rbp - 0x31]
add rdx, r13
mov ecx, edi
call fcn.14000aeb0
add esi, edi
mov rdi, qword [rbp - 0x59]
mov byte [rsi + r13], 0x2e
inc esi
jmp 0x14003239e
mov rcx, qword [rbp + 0x67]
mov rax, rcx
test rcx, rcx
je 0x14003237d
cmp byte [rcx], r13b
je 0x14003237d
inc rax
inc r13d
cmp byte [rax], 0
jne 0x140032372
mov edx, dword [rdi + 0xd8]
lea r9, [rbp - 0x79]
mov r8d, r13d
sub edx, 0x5dd32a39
call fcn.140006060
mov r13, qword [rbp + 0x87]
mov ebx, eax
mov r8, qword [rbp + 0x6f]
cmp esi, dword [rbp - 0x61]
jae 0x1400323c1
mov edx, esi
mov ecx, r15d
add rdx, r13
call fcn.14000aeb0
mov r13d, dword [rsp + 0x48]
add esi, r15d
jmp 0x140032488
mov rax, qword [rbp + 0x5f]
mov r13d, dword [rsp + 0x48]
mov rdx, qword [rbp + 0x57]
mov rcx, qword [rbp + 0x47]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x79]
mov r9d, r13d
mov qword [rsp + 0x20], rax
call fcn.140033280
mov rcx, qword [rbp + 0x47]
mov ebx, eax
call fcn.140033720
cmp qword [rbp + 0x6f], 0
je 0x140032476
mov r8d, dword [rdi + 0xd8]
mov rcx, qword [rdi + 0x92b8]
mov edx, 0x2cc0385c
call qword [rdi + 0x260]
test rax, rax
je 0x140032422
lea rcx, [rbp - 0x69]
call rax
mov eax, dword [rbp - 0x69]
xor edx, edx
lea ecx, [r14 + 1]
imul eax, eax, 0x19660d
add eax, 0x3c6ef35f
mov dword [rbp - 0x69], eax
div ecx
lea eax, [r14 + r14]
cmp eax, edx
jne 0x140032476
mov edx, dword [rbp - 0x6d]
mov rcx, qword [rbp - 0x79]
mov r8d, r13d
call fcn.140001410
mov edx, dword [rbp + 0x7f]
mov rcx, rax
mov qword [rbp - 0x79], rax
call fcn.140005a40
mov ebx, eax
test r12d, r12d
je 0x140032476
mov r14d, dword [rdi + 0xd8]
sub r14d, 0x5dd3aa2c
mov r8, qword [rbp + 0x57]
mov rdx, qword [rbp + 0x87]
mov ecx, esi
call fcn.14000aeb0
mov rcx, qword [rbp + 0x87]
mov byte [rsi + rcx], 0x2e
inc esi
test r13d, r13d
je 0x140032543
mov rax, qword [rbp + 0x6f]
mov edi, r15d
mov edx, esi
add rdx, rcx
lea r8, [rdi + rax]
mov ecx, r13d
call fcn.14000aeb0
mov rcx, qword [rbp + 0x87]
add esi, r13d
mov byte [rsi + rcx], 0x2e
inc esi
cmp esi, dword [rbp - 0x61]
jae 0x140032507
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x14003256e
mov r8d, r13d
mov edx, esi
add r8, rdi
add rdx, rcx
mov ecx, eax
add r8, qword [rbp + 0x6f]
call fcn.14000aeb0
mov edi, dword [rsp + 0x40]
add esi, edi
cmp esi, dword [rbp - 0x61]
jae 0x140032547
mov rcx, qword [rbp + 0x87]
mov byte [rsi + rcx], 0x2e
inc esi
jmp 0x140032547
mov rcx, qword [rbp + 0x47]
call fcn.140033720
mov rcx, qword [rbp - 0x79]
lea rdx, [rbp - 0x49]
mov r9b, 0xa7
mov r8d, r14d
call fcn.140006320
mov rcx, qword [rbp + 0x87]
lea rdx, [rbp - 0x49]
mov byte [rsi + rcx], 0x2e
mov rcx, qword [rbp - 0x79]
mov r9b, 0xa7
mov r8d, r14d
call fcn.140006320
mov ebx, eax
mov edi, dword [rsp + 0x40]
mov r8, qword [rbp + 0x4f]
mov edx, esi
lea ecx, [r12 + 1]
add rdx, qword [rbp + 0x87]
call fcn.14000aeb0
mov rax, qword [rbp + 0x5f]
lea r11d, [r15 + rdi]
add r11d, r13d
mov dword [rax], r11d
jmp 0x14003258a
mov edi, eax
jmp 0x140032547
mov r15d, dword [rbp - 0x71]
movzx r9d, byte [rsp + 0x48]
mov rcx, qword [rbp - 0x79]
mov r8d, r15d
xor edx, edx
call fcn.140006320
mov eax, ebx
mov r15, qword [rsp + 0xc8]
add rsp, 0xd0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret