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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
lea rbp, [rcx + 0x298]
xorps xmm0, xmm0
mov r15, rdx
mov r14, r8
xor edx, edx
mov rsi, rcx
mov dword [rcx + 0x1c], edx
xor eax, eax
mov dword [rcx + 0x24], edx
mov dword [rcx + 0x2c], edx
mov dword [rcx + 0x34], edx
mov dword [rcx + 0x3c], edx
mov dword [rcx + 0x44], edx
mov dword [rcx + 0x4c], edx
mov dword [rcx + 0x68], edx
mov dword [rcx + 0x70], edx
mov dword [rcx + 0x78], edx
mov dword [rcx + 0x80], edx
mov dword [rcx + 0x88], edx
mov dword [rcx + 0x90], edx
mov dword [rcx + 0xc4], edx
mov dword [rcx + 0xcc], edx
mov dword [rcx + 0xd4], edx
mov qword [rcx + 0xd8], rdx
mov qword [rcx + 0xe4], rdx
mov qword [rcx + 0xec], rdx
mov qword [rcx + 0xf4], rdx
mov qword [rcx + 0xfc], rdx
mov qword [rcx + 0x104], rdx
mov qword [rcx + 0x10c], rdx
mov dword [rcx + 0x114], edx
mov qword [rcx + 0x124], rdx
mov qword [rcx + 0x12c], rdx
mov qword [rcx + 0x134], rdx
mov qword [rcx + 0x13c], rdx
mov dword [rcx + 0x144], edx
mov qword [rcx + 0x15c], rdx
movups xmmword [rcx + 0x164], xmm0
mov qword [rcx + 0x174], rax
mov dword [rcx + 0x17c], eax
mov qword [rcx + 0x188], rdx
mov qword [rcx + 0x190], rdx
mov qword [rcx + 0x1c0], rdx
mov qword [rcx + 0x1c8], rdx
mov qword [rcx + 0x1d0], rdx
mov qword [rcx + 0x1d8], rdx
mov qword [rcx + 0x1e4], rdx
mov dword [rcx + 0x1ec], edx
mov qword [rcx + 0x1f4], rdx
mov dword [rcx + 0x1fc], edx
mov qword [rcx + 0x204], rdx
mov dword [rcx + 0x20c], edx
mov qword [rcx + 0x214], rdx
mov dword [rcx + 0x21c], edx
mov qword [rcx + 0x224], rdx
mov dword [rcx + 0x22c], edx
mov qword [rcx + 0x234], rdx
mov dword [rcx + 0x23c], edx
mov qword [rcx + 0x244], rdx
mov dword [rcx + 0x24c], edx
mov word [rcx + 0x252], dx
mov word [rcx + 0x256], dx
mov dword [rcx + 0x26c], edx
mov qword [rcx + 0x270], rdx
mov dword [rcx + 0x27c], edx
mov qword [rcx + 0x280], rdx
mov dword [rbp + 4], edx
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rdx
mov qword [rbp + 0x90], rdx
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], rax
lea rax, [rcx + 0x3a0]
mov ecx, 2
mov qword [rbp + 0x38], rdx
mov qword [rax], rdx
mov qword [rax + 8], rdx
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x180040610
mov r8d, 0x3d0
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [r14 + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x180040640
mov rax, qword [0x180141f68]
test rax, rax
je 0x18004065e
inc dword [rax + 0xf4]
lea rcx, [rbx + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
lea r8, [rbx + 1]
mov rdx, r14
mov rcx, rax
mov rdi, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, 0xffffffffffffffff
mov qword [rsi], rdi
inc rax
cmp byte [r14 + rax], 0
jne 0x180040684
inc eax
lea r8, [r14 + 1]
mov dword [rsi + 0x58], eax
mov r10d, 0xffffffff
movzx r9d, byte [r14]
mov edx, r10d
lea r14, [0x180111d80]
test r9b, r9b
je 0x1800406e0
cmp r9b, 0x23
jne 0x1800406c3
cmp byte [r8], r9b
jne 0x1800406c3
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 [r14 + rcx*4]
test r9b, r9b
jne 0x1800406b0
not edx
mov dword [rsi + 8], edx
mov r8d, dword [rsi + 0xd4]
mov ecx, dword [rsi + 0xd0]
cmp ecx, r8d
jne 0x180040797
lea ebx, [rcx + 1]
test r8d, r8d
je 0x180040710
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180040715
mov eax, 8
cmp eax, ebx
cmovg ebx, eax
cmp ebx, r8d
jle 0x180040797
mov rax, qword [0x180141f68]
test rax, rax
je 0x180040731
inc dword [rax + 0xf4]
movsxd rcx, ebx
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdx, qword [rsi + 0xd8]
mov rdi, rax
test rdx, rdx
je 0x180040784
movsxd r8, dword [rsi + 0xd0]
mov rcx, rax
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsi + 0xd8]
test rcx, rcx
je 0x18004077e
mov rax, qword [0x180141f68]
test rax, rax
je 0x18004077e
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [rsi + 0xd0]
mov qword [rsi + 0xd8], rdi
mov dword [rsi + 0xd4], ebx
mov eax, dword [rsi + 8]
mov r8b, 0x23
movsxd rdx, ecx
mov rcx, qword [rsi + 0xd8]
mov dword [rcx + rdx*4], eax
lea rdx, [0x180119359]
movsxd rcx, dword [rsi + 0xd0]
lea eax, [rcx + 1]
mov dword [rsi + 0xd0], eax
mov rax, qword [rsi + 0xd8]
mov r9d, dword [rax + rcx*4]
not r9d
mov ebx, r9d
cmp r8b, 0x23
jne 0x1800407e5
cmp byte [rdx], r8b
jne 0x1800407e5
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r14 + rcx*4]
test r8b, r8b
jne 0x1800407d2
mov rax, qword [0x180141f68]
not ebx
cmp dword [rax + 0x3ed4], ebx
jne 0x180040826
lea r8, str.MOVE
mov edx, 0xb
mov ecx, ebx
call fcn.180052700
mov qword [rsi + 0x290], rbp
lea rax, [r15 + 0x3c08]
mov dword [rsi + 0x5c], ebx
mov rbx, qword [rsp + 0x40]
mov dword [rsi + 0x74], 0x7f7fffff
mov dword [rsi + 0x78], 0x7f7fffff
mov dword [rsi + 0x7c], 0x3f000000
mov dword [rsi + 0x80], 0x3f000000
mov word [rsi + 0xb0], 0xffff
mov dword [rsi + 0xb4], 0xffffffff
mov word [rsi + 0xbd], 0xf0f
mov byte [rsi + 0xbc], 0xf
mov dword [rsi + 0xc8], 0x7f7fffff
mov dword [rsi + 0xcc], 0x7f7fffff
mov dword [rsi + 0xc0], 0x7f7fffff
mov dword [rsi + 0xc4], 0x7f7fffff
mov dword [rsi + 0x258], 0xffffffff
mov dword [rsi + 0x25c], 0xbf800000
mov dword [rsi + 0x288], 0x3f800000
mov dword [rsi + 0x28c], 0xffffffff
mov qword [rbp + 0x38], rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x290]
mov rbp, qword [rsp + 0x48]
mov qword [rcx + 0x40], rax
mov rax, rsi
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret