Function at 0x1800115d0
Capabilities:
Hash data with crc32

Disassembly:
push rdi
mov eax, 0x30d0
call fcn.180051560
sub rsp, rax
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rsp + 0x30e8], rbx
mov qword [rsp + 0x30f0], rbp
mov qword [rsp + 0x30f8], rsi
mov rax, qword [0x180071060]
xor rax, rsp
mov qword [rsp + 0x30c0], rax
mov rbx, rcx
mov rcx, qword [rcx + 0x20]
sub rcx, qword [rbx + 0x18]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x180011644
xor eax, eax
jmp 0x180011936
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.180010d80
nop
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.180011240
nop
xor ebp, ebp
mov dword [rsp + 0xb0], ebp
xor edx, edx
mov r8d, 0x3008
lea rcx, [rsp + 0xb4]
call fcn.18003e200
mov rsi, qword [rsp + 0xa0]
cmp rsi, 0xfff
jbe 0x1800116f5
cmp qword [rsp + 0xa8], 8
jb 0x1800116aa
mov rcx, qword [rsp + 0x90]
call fcn.18003cec4
mov qword [rsp + 0xa8], 7
mov qword [rsp + 0xa0], rbp
mov word [rsp + 0x90], bp
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1800116d5
call fcn.18003cec4
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rbp
mov rcx, qword [rsp + 0x38]
call fcn.18003cec4
xor eax, eax
jmp 0x180011936
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
sub rbx, rdi
sar rbx, 2
cmp ebx, 0x400
jbe 0x180011774
cmp qword [rsp + 0xa8], 8
jb 0x18001172b
mov rcx, qword [rsp + 0x90]
call fcn.18003cec4
mov rdi, qword [rsp + 0x50]
mov qword [rsp + 0xa8], 7
mov qword [rsp + 0xa0], rbp
mov word [rsp + 0x90], bp
test rdi, rdi
je 0x180011754
mov rcx, rdi
call fcn.18003cec4
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rbp
mov rcx, qword [rsp + 0x38]
call fcn.18003cec4
xor eax, eax
jmp 0x180011936
test rbx, rbx
je 0x1800117a8
test rbx, rbx
jne 0x180011790
call fcn.18003ce6c
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xa0]
lea r8, [rbx*4]
mov rdx, rdi
lea rcx, [rsp + 0xb8]
call fcn.18003c980
test rsi, rsi
je 0x1800117e0
lea rdx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rdx, qword [rsp + 0x90]
mov r8d, 0x1000
lea rcx, [rsp + 0x10bc]
call qword [sym.imp.KERNEL32.dll_lstrcpynW]
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
sub rax, rdi
sar rax, 2
mov dword [rsp + 0xb4], eax
mov ecx, dword [rsp + 0xa0]
mov dword [rsp + 0x10b8], ecx
lea r9, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae r9, qword [rsp + 0x90]
or eax, 0xffffffff
lea r10d, [rcx + rcx]
test r10d, r10d
je 0x18001184f
lea r11, [0x180072c80]
nop
movzx edx, byte [r9]
mov ecx, eax
xor rdx, rcx
movzx r8d, dl
shr ecx, 8
mov eax, dword [r11 + r8*4]
xor eax, ecx
inc r9
add r10d, 0xffffffff
jne 0x180011830
not eax
mov dword [rsp + 0xb0], eax
xor eax, eax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x30], 0x463
mov dword [rsp + 0x34], 0x13c5
lea rax, vtable.MemoryHolder_char_.0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], 0x3014
mov ecx, 0x3014
call fcn.18003c69c
mov rbx, rax
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
lea rcx, [rax + 8]
mov r8d, 0x300c
lea rdx, [rsp + 0xb0]
call fcn.18003c980
mov qword [rsp + 0x20], rbp
xor r9d, r9d
xor r8d, r8d
mov edx, 0x3014
mov rcx, rbx
call fcn.18000d900
movzx edi, al
mov rcx, rbx
call fcn.18003d2a0
nop
cmp qword [rsp + 0xa8], 8
jb 0x1800118f0
mov rcx, qword [rsp + 0x90]
call fcn.18003cec4
mov qword [rsp + 0xa8], 7
mov qword [rsp + 0xa0], rbp
mov word [rsp + 0x90], bp
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18001191b
call fcn.18003cec4
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rbp
mov rcx, qword [rsp + 0x38]
call fcn.18003cec4
mov eax, edi
mov rcx, qword [rsp + 0x30c0]
xor rcx, rsp
call fcn.18003c6c0
lea r11, [rsp + 0x30d0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret