Function at 0x180004960
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rbx
push rdi
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x180031010]
xor rax, rsp
mov qword [rbp + 0x60], rax
xor ebx, ebx
mov qword [rbp - 0x50], rdx
mov qword [rbp - 0x48], rcx
mov ecx, 0x105
mov qword [rbp + 0x48], rbx
lea edx, [rbx + 2]
call fcn.180011a68
lea edx, [rbx + 2]
mov ecx, 0x209
mov r15, rax
call fcn.180011a68
mov r14, rax
test rax, rax
je 0x180004e41
test r15, r15
je 0x180004e41
lea edx, [rbx + 2]
mov ecx, 0x105
call fcn.180011a68
mov rdi, rax
test rax, rax
je 0x180004e41
mov r8, qword [0x1800c3e50]
mov edx, 0x104
mov qword [rsp + 0x1c0], rsi
add r8, 0x6e186
mov qword [rsp + 0x178], r12
mov rcx, rax
mov qword [rsp + 0x170], r13
call r8
mov rdx, qword [0x1800c3e58]
mov rcx, rdi
add rdx, 0x6698b
call rdx
mov eax, 0xbf12
mov dword [rsp + 0x68], 0xf91969b2
lea r9d, [rbx + 0x16]
mov word [rbp - 0x80], ax
lea r8d, [rbx + 9]
mov dword [rsp + 0x6c], 0xeb9d2c6f
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x70], 0xabb1604d
lea rcx, [rbp - 0x10]
mov dword [rsp + 0x74], 0xe18f35f4
mov dword [rsp + 0x78], 0x35f80c60
mov dword [rsp + 0x7c], 0x6ba082cc
mov word [rsp + 0x20], 0x1a
call fcn.180005210
lea rax, [rbp - 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp word [rax + 2], 0x3a
je 0x180004a9a
mov r8, rdi
mov edx, 0x104
mov rcx, r15
call fcn.180011ad8
mov rcx, rdi
call fcn.180011b5c
mov r8, qword [rsp + 0x30]
mov edx, 0x104
mov rcx, r15
call fcn.180011ad8
mov r8, r15
mov edx, 0x208
mov rcx, r14
call fcn.180011a70
mov edi, 0x11
mov dword [rbp - 0x78], 0x88b9144c
xor r9d, r9d
mov dword [rbp - 0x74], 0x46ef2c6b
lea rdx, [rbp - 0x78]
mov dword [rbp - 0x70], 0xf51e14b9
lea rcx, [rbp + 0x10]
mov dword [rbp - 0x6c], 0x5031f435
lea r8d, [rdi + 0xa]
mov dword [rbp - 0x68], 0xe5f5079d
mov dword [rbp - 0x64], 0x7113e7d2
mov dword [rbp - 0x60], 0x706edb24
mov word [rsp + 0x20], di
call fcn.180005480
lea rax, [rbp + 0x10]
mov edx, 0x208
mov qword [rsp + 0x30], rax
mov rcx, r14
mov r8, qword [rsp + 0x30]
call fcn.180011ad8
mov eax, 0x458b
mov dword [rsp + 0x38], 0x18a406f1
lea r9d, [rdi + 0x18]
mov word [rsp + 0x4c], ax
lea r8d, [rdi + 0x34]
mov dword [rsp + 0x3c], 0xb45c7aff
lea rdx, [rsp + 0x38]
mov dword [rsp + 0x40], 0x24266ff1
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x44], 0xb6c758f0
mov dword [rsp + 0x48], 0x25449e5a
mov word [rsp + 0x20], di
call fcn.180005720
lea rax, [rbp - 0x40]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0x30]
inc r8
cmp word [rsi + r8*2], bx
jne 0x180004b90
dec r8
lea r9, [0x18002c770]
mov edi, 0xffffffff
cmp r8, 0xffffffffffffffff
jne 0x180004bb3
mov eax, edi
jmp 0x180004bd4
lea rcx, [r8 - 1]
mov rdx, rsi
call fcn.180003600
movzx edx, word [rsi + r8*2]
mov ecx, eax
xor rdx, rcx
shr eax, 8
movzx r8d, dl
xor eax, dword [r9 + r8*4]
not eax
mov ecx, eax
call fcn.180006600
test rax, rax
jne 0x180004bea
mov rcx, rsi
call fcn.180006180
mov edx, 0xc797320e
mov rcx, rax
call fcn.1800067e0
mov ecx, 0x826b7be4
mov r13, rax
call fcn.180006600
mov edx, 0x6dcc221a
mov rcx, rax
call fcn.1800067e0
mov ecx, 0x826b7be4
mov qword [rbp - 0x58], rax
call fcn.180006600
mov edx, 0x37da1d96
mov rcx, rax
call fcn.1800067e0
mov r9d, 9
mov dword [rsp + 0x50], 0xec905696
mov r12, rax
mov dword [rsp + 0x54], 0xd0684566
mov eax, 0x9fd8
mov dword [rsp + 0x58], 0x9ab61f58
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x5c], 0xa9baebdc
lea r8d, [r9 + 0x20]
mov dword [rsp + 0x60], 0xa9f8a3a2
lea rcx, [rbp - 0x28]
mov word [rsp + 0x64], ax
mov word [rsp + 0x20], 0x46
call fcn.180005720
lea rax, [rbp - 0x28]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0x30]
inc r8
cmp word [rsi + r8*2], bx
jne 0x180004c95
dec r8
cmp r8, 0xffffffffffffffff
je 0x180004cd2
lea rcx, [r8 - 1]
mov rdx, rsi
call fcn.180003600
movzx edx, word [rsi + r8*2]
mov ecx, eax
xor rdx, rcx
mov edi, eax
movzx r8d, dl
lea rax, [0x18002c770]
shr edi, 8
xor edi, dword [rax + r8*4]
not edi
mov ecx, edi
call fcn.180006600
test rax, rax
jne 0x180004ce8
mov rcx, rsi
call fcn.180006180
mov edx, 0xd21bf9f
mov rcx, rax
call fcn.1800067e0
mov rdi, rax
test rax, rax
jne 0x180004d07
mov ebx, 0xc0000001
jmp 0x180004e15
test r13, r13
je 0x180004d5e
mov rsi, qword [rbp - 0x58]
test rsi, rsi
je 0x180004d5e
xorps xmm0, xmm0
lea rcx, [rbp + 0x50]
movups xmmword [rbp + 0x50], xmm0
call r13
lea rdx, [rbp + 0x38]
mov qword [rbp + 0x38], rbx
lea rcx, [rbp + 0x50]
call rsi
mov rcx, qword [rbp + 0x38]
call rdi
mov r8, qword [rbp + 0x38]
mov edx, 0x208
mov rcx, r14
call fcn.180011ad8
cmp qword [rbp + 0x38], rbx
je 0x180004d5e
test r12, r12
je 0x180004d5e
lea rcx, [rbp + 0x38]
call r12
mov qword [rbp + 0x38], rbx
lea rax, [rbp + 0x30]
mov dword [rbp + 0x30], 0x7d
mov qword [rbp - 0x58], rax
mov edx, 0x208
mov r8, qword [rbp - 0x58]
mov rcx, r14
call fcn.180011ad8
lea r8, [rbp + 0x30]
mov qword [rbp + 0x30], rbx
mov edx, 8
mov rcx, 0xffffffffffffffff
call fcn.180007c00
test eax, eax
jne 0x180004dc4
mov rcx, qword [rbp + 0x30]
lea rax, [rbp + 0x48]
mov r9d, 4
mov dword [rbp + 0x40], ebx
lea r8, [rbp + 0x40]
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x10]
call fcn.1800079e2
test eax, eax
cmove ebx, dword [rbp + 0x40]
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x180004dd2
call fcn.180007a16
test ebx, ebx
je 0x180004ddb
call fcn.180005d40
mov rsi, qword [rbp - 0x50]
mov rdx, r14
mov rdi, qword [rbp - 0x48]
mov rcx, r15
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rdi
call fcn.1800043e0
mov ebx, eax
test eax, eax
jns 0x180004e15
mov qword [rsp + 0x28], rsi
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], rdi
call fcn.1800043e0
mov ebx, eax
mov rcx, r14
call fcn.180011b5c
mov rcx, r15
call fcn.180011b5c
mov r13, qword [rsp + 0x170]
mov eax, ebx
mov r12, qword [rsp + 0x178]
mov rsi, qword [rsp + 0x1c0]
jmp 0x180004e46
mov eax, 0xc0000001
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.180007c30
add rsp, 0x180
pop r15
pop r14
pop rdi
pop rbx
pop rbp
ret