Function at 0x1400240a0
Capabilities:
Hash data with crc32

Disassembly:
push rsi
push rdi
push r12
push r13
sub rsp, 0x48
mov r12, qword [rcx + 0x2d0]
mov rsi, qword [rcx + 0x70]
mov r13, r8
mov rdi, rdx
test r12, r12
je 0x1400244cc
mov qword [rsp + 0x78], rbx
mov ebx, dword [rsi + 0xd8]
xor edx, edx
sub ebx, 0x5dd3a824
mov rcx, rsi
mov qword [rsp + 0x80], rbp
mov r8d, ebx
call qword [rsi + 0xc8]
mov rbp, rax
test rax, rax
je 0x1400244c5
mov qword [rsp + 0x40], r14
xor r14d, r14d
xor r9d, r9d
mov r8d, ebx
mov edx, ebx
mov rcx, rax
mov dword [rsp + 0x20], r14d
call fcn.14000b210
mov qword [rbp + 0x190], 0xffffffffffffffff
mov qword [rbp + 0x88], r12
mov rcx, r13
mov eax, r14d
test r13, r13
je 0x14002414c
cmp word [r13], ax
je 0x14002414c
nop dword [rax]
add rcx, 2
inc eax
cmp word [rcx], r14w
jne 0x140024140
mov r9, r13
lea r11d, [rax + rax]
test r13, r13
je 0x1400241ae
or ecx, 0xffffffff
mov r10d, r11d
test r11d, r11d
je 0x1400241b2
mov edx, dword [rsp + 0x70]
dec r10d
test r9, r9
je 0x140024176
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x140024182
lea eax, [r11 + 1]
test eax, eax
je 0x1400241b2
mov r8d, 8
nop dword [rax + rax]
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x1400241a0
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x140024190
test r10d, r10d
jne 0x140024167
jmp 0x1400241b2
mov ecx, dword [rsp + 0x70]
mov dword [rbp + 0x1a8], ecx
mov qword [rbp + 0x1c8], r13
mov rax, rdi
mov r10d, r14d
test rdi, rdi
je 0x1400241db
cmp byte [rdi], r10b
je 0x1400241db
nop
inc rax
inc r10d
cmp byte [rax], r14b
jne 0x1400241d0
mov r9, rdi
test rdi, rdi
je 0x140024231
or ecx, 0xffffffff
mov r11d, r10d
test r10d, r10d
je 0x140024235
mov edx, dword [rsp + 0x70]
dec r11d
test r9, r9
je 0x140024201
movsx edx, byte [r9]
inc r9
test edx, edx
jne 0x14002420d
lea eax, [r10 + 1]
test eax, eax
je 0x140024235
mov r8d, 8
mov eax, edx
xor eax, ecx
shr ecx, 1
test al, 1
je 0x140024223
xor ecx, 0xedb88320
shr edx, 1
dec r8
jne 0x140024213
test r11d, r11d
jne 0x1400241f2
jmp 0x140024235
mov ecx, dword [rsp + 0x70]
mov dword [rbp + 0x198], ecx
mov qword [rbp + 0x1c0], rdi
mov dword [rbp + 0x2c], 1
mov dword [rbp + 0x48], 1
mov qword [rbp + 0x60], rsi
mov dword [rbp + 0x80], r14d
mov dword [rbp + 0x5c], r14d
mov dword [rbp + 0x50], r14d
mov dword [rbp + 0x54], 0xc
mov r8d, dword [rsi + 0xd8]
mov rcx, qword [rsi + 0x268]
mov edx, 0xfad305a7
call qword [rsi + 0x260]
test rax, rax
je 0x14002428f
lea rcx, [r12 + 0x20]
call rax
mov rax, qword [r12 + 0x48]
mov edx, dword [rbp + 0x1a8]
lea r8, [r12 + 0x48]
cmp rax, r8
je 0x1400242c7
lea rcx, [rax - 0x1b0]
mov rax, qword [rax]
test edx, edx
je 0x140024369
cmp dword [rcx + 0x1a8], edx
je 0x140024369
cmp rax, r8
jne 0x1400242a4
inc dword [rbp + 0x48]
mov rax, qword [r8 + 8]
lea rcx, [rbp + 0x1b0]
mov qword [rbp + 0x1b8], rax
mov qword [rcx], r8
mov qword [rax], rcx
mov qword [r8 + 8], rcx
mov ebx, r14d
mov r8d, dword [rsi + 0xd8]
mov rcx, qword [rsi + 0x268]
mov edx, 0x3dd44a92
call qword [rsi + 0x260]
test rax, rax
je 0x14002430e
lea rcx, [r12 + 0x20]
call rax
test ebx, ebx
jne 0x1400244af
mov r8d, dword [rsi + 0xd8]
mov rcx, qword [rsi + 0x92b8]
mov edx, 0x3c3bcea
call qword [rsi + 0x260]
test rax, rax
je 0x14002437c
mov edx, dword [rsi + 0xd8]
mov qword [rsp + 0x30], r14
xor r9d, r9d
lea r8d, [rdx - 0x5dd3aa39]
mov rcx, r13
add edx, 0x622c55c4
mov dword [rsp + 0x28], 0x40000000
mov dword [rsp + 0x20], 3
call rax
mov rdi, rax
jmp 0x14002437f
test rcx, rcx
je 0x1400242c7
mov ebx, 0xb7
jmp 0x1400242e9
mov rdi, r14
mov r8d, dword [rsi + 0xd8]
mov rcx, qword [rsi + 0x268]
mov edx, 0xfad305a7
call qword [rsi + 0x260]
test rax, rax
je 0x1400243a4
lea rcx, [r12 + 0x20]
call rax
cmp rdi, 0xffffffffffffffff
je 0x140024433
test byte [rbp + 0x44], 1
mov qword [rbp + 0x190], rdi
jne 0x14002442c
cmp qword [r12 + 0x18], r14
lea r9, [r12 + 0x18]
jne 0x1400243e0
lea rdx, [fcn.140023d40]
mov r8, r12
mov rcx, rsi
call qword [rsi + 0xf8]
mov ebx, eax
test eax, eax
jne 0x14002443f
mov r8d, dword [rsi + 0xd8]
mov rcx, qword [rsi + 0x92b8]
mov edx, 0x873aa0bc
call qword [rsi + 0x260]
test rax, rax
je 0x140024433
mov rdx, qword [r12 + 0x10]
xor r9d, r9d
mov r8, rbp
mov rcx, rdi
call rax
test rax, rax
je 0x140024433
mov ecx, dword [rsi + 0xd8]
mov r8, rbp
mov rdx, r12
sub ecx, 0x5dd3aa38
call fcn.140022e80
jmp 0x140024439
mov ebx, 0x3e3
jmp 0x14002443f
call qword [rsi + 0x92d8]
mov ebx, eax
test eax, eax
je 0x140024460
mov qword [rbp + 0x1c0], r14
mov qword [rbp + 0x1c8], r14
cmp ebx, 0x3e3
je 0x140024460
mov rdx, r12
mov rcx, rbp
call fcn.140022dd0
mov rdx, r12
mov rcx, rbp
call fcn.140022dd0
mov r8d, dword [rsi + 0xd8]
mov rcx, qword [rsi + 0x268]
mov edx, 0x3dd44a92
call qword [rsi + 0x260]
test rax, rax
je 0x140024490
lea rcx, [r12 + 0x20]
call rax
mov r14, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x48
pop r13
pop r12
pop rdi
pop rsi
ret
cmp ebx, 0xb7
jne 0x140024490
mov rdx, rbp
mov rcx, rsi
call qword [rsi + 0x230]
jmp 0x140024490
mov eax, 8
jmp 0x140024497
mov eax, 1
add rsp, 0x48
pop r13
pop r12
pop rdi
pop rsi
ret