Function at 0x180027c40
Capabilities:
Hash data with crc32

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
xor r12d, r12d
mov qword [rcx + 0x20], r12
mov qword [rcx + 0x28], r12
mov qword [rcx + 0x30], r12
mov qword [rcx + 0x38], r12
mov qword [rcx + 0x40], r12
mov qword [rcx + 0x48], r12
mov qword [rcx + 0x50], r12
mov qword [rcx + 0x84], r12
mov qword [rcx + 0x8c], r12
mov qword [rcx + 0x94], r12
mov qword [rcx + 0x9c], r12
mov qword [rcx + 0xa4], r12
mov qword [rcx + 0xac], r12
mov qword [rcx + 0xe0], r12
mov qword [rcx + 0xe8], r12
lea r14, [rcx + 0xf0]
mov qword [r14], r12
mov qword [r14 + 8], r12
lea rax, [rcx + 0x100]
mov qword [r11 + 0x10], rax
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r12
mov qword [rax + 0x28], r12
mov qword [rax + 0x30], r12
mov qword [rax + 0x44], r12
mov qword [rax + 0x4c], r12
mov dword [rax + 0x54], r12d
mov qword [rax + 0x64], r12
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax + 0x6c], xmm0
mov qword [rax + 0x7c], rcx
mov dword [rax + 0x84], ecx
mov qword [rax + 0x90], r12
mov qword [rax + 0x98], r12
mov qword [rax + 0xc8], r12
mov qword [rax + 0xd0], r12
mov qword [rax + 0xd8], r12
mov qword [rax + 0xe0], r12
mov qword [rdi + 0x1e8], r12
mov qword [rdi + 0x1f0], r12
mov qword [rdi + 0x1f8], r12
mov qword [rdi + 0x200], r12
mov qword [rdi + 0x208], r12
mov qword [rdi + 0x210], r12
mov qword [rdi + 0x218], r12
mov qword [rdi + 0x220], r12
mov qword [rdi + 0x228], r12
mov qword [rdi + 0x230], r12
mov qword [rdi + 0x238], r12
mov qword [rdi + 0x240], r12
mov qword [rdi + 0x248], r12
mov qword [rdi + 0x250], r12
mov qword [rdi + 0x258], r12
lea rax, [rdi + 0x270]
mov qword [r11 + 0x18], rax
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rdi + 0x280], r12
mov qword [rdi + 0x288], r12
lea rbp, [rdi + 0x2a0]
mov qword [r11 + 0x20], rbp
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x90], r12
lea rax, [rbp + 0xa8]
mov qword [r11 - 0x48], rax
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rcx
xor edx, edx
mov r8d, 0xc8
mov rcx, rbp
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x38], r12
lea rax, [rdi + 0x3a8]
mov edx, 2
mov ecx, edx
nop word [rax + rax]
mov qword [rax], r12
mov qword [rax + 8], r12
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x180027e50
lea rax, [rdi + 0x3c8]
nop dword [rax + rax]
mov qword [rax], r12
lea rax, [rax + 8]
sub rdx, 1
jne 0x180027e70
mov r8d, 0x3e8
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov qword [rdi], rbx
mov rbx, 0xffffffffffffffff
lea rbx, [rbx + 1]
cmp byte [rsi + rbx], 0
jne 0x180027e95
mov rax, qword [0x1801cfa30]
test rax, rax
je 0x180027eb1
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, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 8], rax
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], 0
jne 0x180027ed5
inc eax
mov dword [rdi + 0x78], eax
mov r10d, 0xffffffff
mov edx, r10d
movzx r9d, byte [rsi]
lea r8, [rsi + 1]
test r9b, r9b
je 0x180027f30
lea r11, [0x180165d00]
cmp r9b, 0x23
jne 0x180027f13
cmp byte [r8], r9b
jne 0x180027f13
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
xor rcx, rax
shr edx, 8
xor edx, dword [r11 + rcx*4]
movzx r9d, byte [r8]
inc r8
test r9b, r9b
jne 0x180027f00
not edx
mov dword [rdi + 0x10], edx
mov ecx, dword [r14 + 4]
mov r8d, dword [r14]
cmp r8d, ecx
jne 0x180027f6a
inc r8d
test ecx, ecx
je 0x180027f53
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180027f58
mov eax, 8
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, r14
call fcn.18003e310
movsxd rdx, dword [r14]
mov rcx, qword [r14 + 8]
mov eax, dword [rdi + 0x10]
mov dword [rcx + rdx*4], eax
movsxd rcx, dword [r14]
lea eax, [rcx + 1]
mov dword [r14], eax
mov rax, qword [r14 + 8]
mov r8d, dword [rax + rcx*4]
xor edx, edx
lea rcx, str.MOVE
call fcn.180024f40
mov ebx, eax
mov rcx, qword [rdi]
cmp dword [rcx + 0x3f40], eax
jne 0x180027fb6
lea r8, str.MOVE
mov edx, 0xb
mov ecx, eax
call fcn.18003d070
mov dword [rdi + 0x7c], ebx
mov dword [rdi + 0x94], 0x7f7fffff
mov dword [rdi + 0x98], 0x7f7fffff
mov dword [rdi + 0x9c], 0x3f000000
mov dword [rdi + 0xa0], 0x3f000000
mov word [rdi + 0xd0], 0xffff
mov dword [rdi + 0xd4], 0xffffffff
mov word [rdi + 0xdd], 0
mov byte [rdi + 0xdc], 0
mov dword [rdi + 0xe8], 0x7f7fffff
mov dword [rdi + 0xec], 0x7f7fffff
mov dword [rdi + 0xe0], 0x7f7fffff
mov dword [rdi + 0xe4], 0x7f7fffff
mov dword [rdi + 0x260], 0xffffffff
mov dword [rdi + 0x264], 0xbf800000
mov dword [rdi + 0x290], 0x3f800000
mov dword [rdi + 0x294], 0xffffffff
mov qword [rdi + 0x298], rbp
mov rax, qword [rdi]
add rax, 0x3c28
mov qword [rbp + 0x38], rax
mov rcx, qword [rdi + 0x298]
mov rax, qword [rdi + 8]
mov qword [rcx + 0x40], rax
mov dword [rdi + 0x3d0], 0x7f7fffff
mov dword [rdi + 0x3d4], 0x7f7fffff
mov dword [rdi + 0x3c8], 0x7f7fffff
mov dword [rdi + 0x3cc], 0x7f7fffff
mov rax, rdi
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret