Function at 0x140020050
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x2f]
sub rsp, 0x88
mov r13, qword [rcx + 0x70]
xor edi, edi
mov rbx, rdx
mov r12, rcx
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x31], rdi
mov dword [rbp + 0x7f], edi
mov dword [rbp + 0x77], edi
mov r14d, edi
test rdx, rdx
je 0x14002037a
mov edx, dword [r13 + 0xd8]
mov rcx, rbx
xor edx, 0x4bf9fab7
call fcn.140048a40
test rax, rax
je 0x1400200b5
mov rdx, r12
mov rcx, rax
call fcn.14001eb00
mov edx, dword [r13 + 0xd8]
mov rcx, rbx
xor edx, 0x520f2e4
call fcn.140048a40
test rax, rax
je 0x140020364
mov r8d, dword [rax + 4]
mov ecx, dword [rax]
mov qword [rsp + 0x80], rsi
lea rdx, [r8 + 0xc]
cmp rcx, rdx
jbe 0x1400200f6
cmp dword [r8 + rax + 0xc], edi
lea rsi, [r8 + rax + 0xc]
jne 0x1400200f9
mov rsi, rdi
mov qword [rbp + 0x6f], rsi
test rsi, rsi
je 0x140020360
mov ebx, dword [rbp + 0x6f]
mov qword [rsp + 0x78], r15
nop
mov eax, dword [r13 + 0xd8]
lea r9, [rbp + 0x7f]
lea r8, [rbp - 0x29]
xor eax, 0x13a3410d
lea rdx, [rbp - 0x39]
lea rcx, [rbp + 0x6f]
mov dword [rbp - 0x39], eax
call fcn.140048ab0
mov rcx, qword [rbp - 0x29]
test eax, eax
jne 0x1400202d3
mov eax, dword [rbp + 0x7f]
cmp eax, 0x20
jbe 0x140020152
mov eax, 0x20
mov dword [rbp + 0x7f], eax
jmp 0x140020156
test eax, eax
je 0x140020185
lea r9, [rbp - 0x11]
mov rdx, rcx
mov r8d, eax
sub r9, rcx
movzx eax, byte [rdx]
cmp al, 0x61
jl 0x140020176
cmp al, 0x7a
jg 0x140020176
movsx ecx, al
sub ecx, 0x20
jmp 0x140020179
movsx ecx, al
mov byte [r9 + rdx], cl
inc rdx
dec r8
jne 0x140020163
mov eax, dword [r13 + 0xd8]
lea r8, [rbp - 0x19]
lea rdx, [rbp - 0x39]
xor eax, 0xb3ff36f9
lea rcx, [rbp + 0x6f]
xor r9d, r9d
mov dword [rbp - 0x39], eax
call fcn.140048ab0
mov r15, qword [rbp - 0x19]
test eax, eax
mov eax, dword [r13 + 0xd8]
lea r9, [rbp + 0x77]
cmovne r15, rdi
xor eax, 0xaf200002
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x39]
lea rcx, [rbp + 0x6f]
mov r14, rdi
mov dword [rbp - 0x39], eax
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x21], rdi
call fcn.140048ab0
test eax, eax
jne 0x14002021e
mov edx, dword [rbp + 0x77]
mov r12, qword [rbp - 0x31]
lea rcx, [rbp - 0x31]
mov r9d, edx
mov r8, r12
call fcn.140003e40
lea rdx, [rbp - 0x21]
mov rcx, r12
mov dword [rbp + 0x77], eax
mov eax, eax
mov byte [rax + r12], dil
mov r8d, dword [rbp + 0x77]
call fcn.1400492f0
mov r14, qword [rbp - 0x21]
test eax, eax
je 0x140020228
jmp 0x14002028b
mov r12, rdi
mov qword [rbp - 0x31], rdi
mov dword [rbp + 0x77], edi
mov r10d, dword [rbp + 0x7f]
or edx, 0xffffffff
lea r8, [rbp - 0x11]
mov r9d, r10d
test r10d, r10d
je 0x14002027c
nop dword [rax + rax]
dec r9d
test r8, r8
je 0x14002024f
movsx ebx, byte [r8]
inc r8
test ebx, ebx
jne 0x14002025b
lea eax, [r10 + 1]
test eax, eax
je 0x14002027c
mov ecx, 8
mov eax, ebx
xor eax, edx
shr edx, 1
test al, 1
je 0x140020270
xor edx, 0xedb88320
shr ebx, 1
dec rcx
jne 0x140020260
test r9d, r9d
jne 0x140020240
mov r9, qword [rbp + 0x67]
mov r8, r15
mov rcx, r14
call fcn.14001f8c0
test r14, r14
je 0x14002029d
mov rdx, r14
mov rcx, r13
call qword [r13 + 0x230]
test r15, r15
je 0x1400202af
mov rdx, r15
mov rcx, r13
call qword [r13 + 0x230]
test r12, r12
je 0x1400202c1
mov rdx, r12
mov rcx, r13
call qword [r13 + 0x230]
mov rdx, qword [rbp - 0x29]
mov rcx, r13
call qword [r13 + 0x230]
mov rcx, qword [rbp - 0x29]
test rsi, rsi
je 0x140020315
mov eax, dword [rsi]
add rax, rsi
mov rsi, rax
je 0x1400202e8
cmp dword [rax], edi
cmove rsi, rdi
mov qword [rbp + 0x6f], rsi
test rsi, rsi
jne 0x140020110
mov eax, edi
mov r15, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
mov r8, rcx
mov rcx, qword [rbp + 0x67]
mov rdx, r14
call fcn.14001f000
mov r9d, dword [r13 + 0xd8]
xor r9d, 0x520f2e4
mov r11d, eax
je 0x1400202f7
xor r9d, 0x13287164
nop
cmp dword [rdi + 8], r9d
je 0x14002035b
xor r8d, r8d
mov rdx, rdi
mov cl, 0x1c
call fcn.1400489e0
mov rdi, rax
test rax, rax
jne 0x140020340
mov eax, r11d
jmp 0x1400202f7
mov eax, edi
jmp 0x1400202fc
mov eax, 0xb
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
xor r8d, r8d
xor edx, edx
call fcn.14001cae0
xor r8d, r8d
mov rdx, r12
xor ecx, ecx
call fcn.14001e390
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret