Function at 0x140004e20
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rcx + 0x14], xmm0
mov qword [rcx + 0x24], rax
mov dword [rcx + 0x2c], eax
mov r13d, 0xffffffff
mov dword [rcx + 0x18], r13d
mov byte [rcx + 0x2d], 1
xor ebx, ebx
mov qword [rcx + 0x3c], rbx
mov qword [rcx + 0x48], rbx
mov qword [rcx + 0x50], rbx
mov qword [rcx + 0x58], rbx
mov qword [rcx + 0x60], rbx
mov qword [rcx + 0x68], rbx
mov qword [rcx + 0x70], rbx
mov qword [rcx + 0x78], rbx
mov qword [rcx + 0x94], rbx
mov qword [rcx + 0x9c], rbx
mov qword [rcx + 0xa4], rbx
mov qword [rcx + 0xac], rbx
mov qword [rcx + 0xb4], rbx
mov qword [rcx + 0xbc], rbx
mov qword [rcx + 0xf0], rbx
mov qword [rcx + 0xf8], rbx
lea r14, [rcx + 0x100]
mov qword [r14], rbx
mov qword [r14 + 8], rbx
mov qword [rcx + 0x110], rbx
mov qword [rcx + 0x118], rbx
mov qword [rcx + 0x120], rbx
mov qword [rcx + 0x128], rbx
mov qword [rcx + 0x130], rbx
mov qword [rcx + 0x138], rbx
mov qword [rcx + 0x140], rbx
mov qword [rcx + 0x150], rbx
mov dword [rcx + 0x158], ebx
mov qword [rcx + 0x16c], rbx
movups xmmword [rcx + 0x174], xmm0
mov qword [rcx + 0x184], rax
mov dword [rcx + 0x18c], eax
mov qword [rcx + 0x198], rbx
mov qword [rcx + 0x1a0], rbx
mov qword [rcx + 0x1d0], rbx
mov qword [rcx + 0x1d8], rbx
mov qword [rcx + 0x1e0], rbx
mov qword [rcx + 0x1e8], rbx
mov qword [rcx + 0x1f0], rbx
mov qword [rcx + 0x1f8], rbx
mov qword [rcx + 0x200], rbx
mov qword [rcx + 0x208], rbx
mov qword [rcx + 0x210], rbx
mov qword [rcx + 0x218], rbx
mov qword [rcx + 0x220], rbx
mov qword [rcx + 0x228], rbx
mov qword [rcx + 0x230], rbx
mov qword [rcx + 0x238], rbx
mov qword [rcx + 0x240], rbx
mov qword [rcx + 0x248], rbx
mov qword [rcx + 0x250], rbx
mov qword [rcx + 0x258], rbx
mov qword [rcx + 0x260], rbx
mov qword [rcx + 0x278], rbx
mov qword [rcx + 0x280], rbx
mov qword [rcx + 0x288], rbx
mov qword [rcx + 0x290], rbx
lea r15, [rcx + 0x2b0]
mov qword [r15], rbx
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], rbx
mov qword [r15 + 0x20], rbx
mov qword [r15 + 0x28], rbx
mov qword [r15 + 0x58], rbx
mov qword [r15 + 0x60], rbx
mov qword [r15 + 0x68], rbx
mov qword [r15 + 0x70], rbx
mov qword [r15 + 0x78], rbx
mov qword [r15 + 0x80], rbx
mov qword [r15 + 0x90], rbx
mov qword [r15 + 0x88], rbx
movups xmmword [r15 + 0xa8], xmm0
mov qword [r15 + 0xb8], rax
xor edx, edx
mov r8d, 0xc8
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
mov qword [r15 + 0x38], rbx
mov qword [rdi + 0x3b8], rbx
mov qword [rdi + 0x3c0], rbx
mov qword [rdi + 0x3c8], rbx
mov qword [rdi + 0x3d0], rbx
mov qword [rdi + 0x418], rbx
mov qword [rdi + 0x420], rbx
xor edx, edx
mov r8d, 0x428
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov r12, 0xffffffffffffffff
mov rbx, r12
lea rbx, [rbx + 1]
cmp byte [rsi + rbx], 0
jne 0x140005086
mov rax, qword [0x140060d50]
test rax, rax
je 0x1400050a2
inc dword [rax + 0x3ac]
lea rcx, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi], rax
mov rax, r12
inc rax
cmp byte [rsi + rax], 0
jne 0x1400050c1
inc eax
mov dword [rdi + 0x88], eax
mov edx, r13d
movzx r9d, byte [rsi]
lea r8, [rsi + 1]
test r9b, r9b
je 0x140005120
lea r10, [0x1400520f0]
nop dword [rax]
cmp r9b, 0x23
jne 0x140005103
cmp byte [r8], r9b
jne 0x140005103
cmp byte [r8 + 1], r9b
cmove edx, r13d
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [r10 + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x1400050f0
not edx
mov dword [rdi + 8], edx
mov ecx, dword [r14 + 4]
mov r8d, dword [r14]
cmp r8d, ecx
jne 0x14000515a
inc r8d
test ecx, ecx
je 0x140005143
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140005148
mov eax, 8
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, r14
call fcn.1400244f0
movsxd rdx, dword [r14]
mov rcx, qword [r14 + 8]
mov eax, dword [rdi + 8]
mov dword [rcx + rdx*4], eax
inc dword [r14]
mov dword [rdi + 0x44], r12d
mov dword [rdi + 0x3c], 0x7f7fffff
mov dword [rdi + 0x40], 0x7f7fffff
movsxd r8, dword [r14]
mov rax, qword [r14 + 8]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, str.MOVE
call fcn.140002880
mov ebx, eax
mov rax, qword [0x140060d50]
cmp dword [rax + 0x1d7c], ebx
jne 0x1400051ad
mov dword [rax + 0x1d80], ebx
cmp dword [rax + 0x1db8], ebx
jne 0x1400051bc
mov byte [rax + 0x1dbc], 1
cmp dword [rax + 0x1d64], ebx
jne 0x1400051d7
lea r8, str.MOVE
mov edx, 0xb
mov ecx, ebx
call fcn.140023030
mov dword [rdi + 0x8c], ebx
mov dword [rdi + 0xa4], 0x7f7fffff
mov dword [rdi + 0xa8], 0x7f7fffff
mov dword [rdi + 0xac], 0x3f000000
mov dword [rdi + 0xb0], 0x3f000000
mov word [rdi + 0xe0], 0xffff
mov dword [rdi + 0xe4], r12d
mov dword [rdi + 0xec], 0xf0f0f0f
mov dword [rdi + 0xf8], 0x7f7fffff
mov dword [rdi + 0xfc], 0x7f7fffff
mov dword [rdi + 0xf0], 0x7f7fffff
mov dword [rdi + 0xf4], 0x7f7fffff
mov qword [rdi + 0x268], r12
mov dword [rdi + 0x270], 0xbf800000
mov dword [rdi + 0x29c], 0x3f800000
mov dword [rdi + 0x298], 0x3f800000
mov dword [rdi + 0x2a0], r12d
mov word [rdi + 0x3e2], r12w
mov qword [rdi + 0x2a8], r15
lea rax, [rbp + 0x1aa0]
mov qword [r15 + 0x38], rax
mov rcx, qword [rdi + 0x2a8]
mov rax, qword [rdi]
mov qword [rcx + 0x40], rax
mov rax, rdi
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret