Function at 0x1400e35e0
Capabilities:
Hash data with crc32

Disassembly:
push rdi
push r12
push r14
push r15
sub rsp, 0x38
movsxd r14, r9d
mov r12, r8
mov r15, rdx
mov rdi, rcx
call fcn.1400e3bd0
cmp eax, 0xffffffff
je 0x1400e3615
mov rax, 0xffffffffffffffff
add rsp, 0x38
pop r15
pop r14
pop r12
pop rdi
ret
mov ecx, dword [rdi + 0x24]
mov r8d, dword [rdi + 0x20]
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x30], rbp
mov ebp, dword [rdi]
mov qword [rsp + 0x28], rsi
mov esi, 8
mov qword [rsp + 0x20], r13
cmp r8d, ecx
jne 0x1400e3663
inc r8d
test ecx, ecx
je 0x1400e364e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400e3650
mov eax, esi
cmp eax, r8d
lea rcx, [rdi + 0x20]
cmovg r8d, eax
mov edx, r8d
call fcn.1400724d0
movsxd rcx, dword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
mov dword [rax + rcx*4], ebp
inc dword [rdi + 0x20]
mov ecx, dword [rdi + 0x14]
mov r8d, dword [rdi + 0x10]
cmp r8d, ecx
jne 0x1400e36a4
inc r8d
test ecx, ecx
je 0x1400e368f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400e3691
mov eax, esi
cmp eax, r8d
lea rcx, [rdi + 0x10]
cmovg r8d, eax
mov edx, r8d
call fcn.1400724d0
movsxd rcx, dword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
mov dword [rax + rcx*4], r14d
mov rcx, rdi
inc dword [rdi + 0x10]
mov edx, dword [rdi]
add edx, r14d
call fcn.1400724d0
xor r13d, r13d
test r14d, r14d
jle 0x1400e3718
mov ebx, r13d
nop dword [rax + rax]
mov ecx, dword [rdi + 4]
mov eax, dword [rdi]
cmp eax, ecx
jne 0x1400e3700
lea r8d, [rax + 1]
test ecx, ecx
je 0x1400e36ec
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400e36ee
mov eax, esi
cmp eax, r8d
mov rcx, rdi
cmovg r8d, eax
mov edx, r8d
call fcn.1400724d0
mov eax, dword [r12 + rbx*4]
inc rbx
movsxd rdx, dword [rdi]
mov rcx, qword [rdi + 8]
mov dword [rcx + rdx*4], eax
inc dword [rdi]
cmp rbx, r14
jl 0x1400e36d0
mov eax, dword [rdi + 0x60]
test eax, eax
mov r8d, dword [rdi + 0x74]
mov ecx, dword [rdi + 0x70]
lea ebp, [rax - 1]
cmove ebp, r13d
mov r13, qword [rsp + 0x20]
cmp ecx, r8d
jne 0x1400e375b
inc ecx
test r8d, r8d
je 0x1400e3749
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x1400e374b
mov eax, esi
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rdi + 0x70]
call fcn.1400724d0
movsxd rcx, dword [rdi + 0x70]
mov rax, qword [rdi + 0x78]
mov dword [rax + rcx*4], ebp
mov rax, 0xffffffffffffffff
inc dword [rdi + 0x70]
mov rbp, qword [rsp + 0x30]
inc rax
cmp byte [r15 + rax], 0
jne 0x1400e3775
lea r8, [r15 + 1]
mov rdx, r15
add r8, rax
lea rcx, [rdi + 0x60]
call fcn.14003e9e0
mov ecx, dword [rdi + 0x84]
mov ebx, dword [rdi + 0x80]
cmp ebx, ecx
jne 0x1400e3829
inc ebx
test ecx, ecx
je 0x1400e37b6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea esi, [rcx + rax]
cmp esi, ebx
cmovg ebx, esi
cmp ebx, ecx
jle 0x1400e3829
mov rax, qword [0x140369a98]
test rax, rax
je 0x1400e37d1
inc dword [rax + 0xf8]
movsxd rcx, ebx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [rdi + 0x88]
mov rsi, rax
test rdx, rdx
je 0x1400e381c
movsxd r8, dword [rdi + 0x80]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rdi + 0x88]
test rcx, rcx
je 0x1400e3816
mov rax, qword [0x140369a98]
test rax, rax
je 0x1400e3816
dec dword [rax + 0xf8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x88], rsi
mov dword [rdi + 0x84], ebx
movsxd rdx, dword [rdi + 0x80]
lea r8, [r15 + 1]
mov rcx, qword [rdi + 0x88]
mov r10d, 0xffffffff
movzx eax, byte [rsp + 0x80]
mov rsi, qword [rsp + 0x28]
mov byte [rdx + rcx], al
mov edx, r10d
inc dword [rdi + 0x80]
movzx r9d, byte [r15]
test r9b, r9b
je 0x1400e38a0
lea r11, [0x140213bd0]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x1400e3883
cmp byte [r8], r9b
jne 0x1400e3883
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x1400e3870
mov ebx, dword [rdi + 0xa0]
lea rcx, [rdi + 0x90]
not edx
lea r8d, [rbx + 1]
mov dword [rdi + 0xa0], r8d
mov r8d, ebx
call fcn.14003e320
mov edx, ebx
mov rcx, rdi
call fcn.1400e38e0
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x38
pop r15
pop r14
pop r12
pop rdi
ret