Function at 0x1800048e0
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.180011c18
lea edx, [rbx + 2]
mov ecx, 0x209
mov r15, rax
call fcn.180011c18
mov r14, rax
test rax, rax
je 0x180004dcc
test r15, r15
je 0x180004dcc
lea edx, [rbx + 2]
mov ecx, 0x105
call fcn.180011c18
mov rdi, rax
test rax, rax
je 0x180004dcc
mov r8, qword [0x180081020]
mov edx, 0x104
mov qword [rsp + 0x1c0], rsi
add r8, 0x6a4a4
mov qword [rsp + 0x178], r12
mov rcx, rax
mov qword [rsp + 0x170], r13
call r8
mov rdx, qword [0x180081028]
mov rcx, rdi
add rdx, 0x27dbe
call rdx
mov eax, 0x9b94
mov dword [rsp + 0x68], 0x5ad23a42
lea r9d, [rbx + 0x43]
mov word [rbp - 0x80], ax
lea r8d, [rbx + 0x19]
mov dword [rsp + 0x6c], 0x8dc3e250
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x70], 0x306b2c2d
lea rcx, [rbp - 0x10]
mov dword [rsp + 0x74], 0x75aff727
mov dword [rsp + 0x78], 0x4ef69aba
mov dword [rsp + 0x7c], 0x24f626ac
mov word [rsp + 0x20], 0x30
call fcn.180005190
lea rax, [rbp - 0x10]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp word [rax + 2], 0x3a
je 0x180004a1a
mov r8, rdi
mov edx, 0x104
mov rcx, r15
call fcn.180011c88
mov rcx, rdi
call fcn.180011d0c
mov r8, qword [rsp + 0x30]
mov edx, 0x104
mov rcx, r15
call fcn.180011c88
mov r8, r15
mov edx, 0x208
mov rcx, r14
call fcn.180011c20
mov r9d, 9
mov dword [rbp - 0x78], 0xbe1dff99
lea rdx, [rbp - 0x78]
mov dword [rbp - 0x74], 0x1137247b
lea rcx, [rbp + 0x10]
mov dword [rbp - 0x70], 0xd48722a
mov dword [rbp - 0x6c], 0x99ca1d57
lea r8d, [r9 + 0x42]
mov dword [rbp - 0x68], 0x2406e177
mov dword [rbp - 0x64], 0xc02f6a60
mov dword [rbp - 0x60], 0x8152e98a
mov word [rsp + 0x20], 0xa
call fcn.180005400
lea rax, [rbp + 0x10]
mov edx, 0x208
mov qword [rsp + 0x30], rax
mov rcx, r14
mov r8, qword [rsp + 0x30]
call fcn.180011c88
mov r9d, 0x1f
mov dword [rsp + 0x38], 0x5a4c1400
mov eax, 0x4c3c
mov dword [rsp + 0x3c], 0xb77c9254
lea rdx, [rsp + 0x38]
mov dword [rsp + 0x40], 0x677e5c82
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x44], 0x3e92fd64
lea r8d, [r9 - 0x11]
mov dword [rsp + 0x48], 0x145bbc62
mov word [rsp + 0x4c], ax
mov word [rsp + 0x20], 0x45
call fcn.1800056a0
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 0x180004b14
dec r8
lea r9, [0x18002c740]
mov edi, 0xffffffff
cmp r8, 0xffffffffffffffff
jne 0x180004b37
mov eax, edi
jmp 0x180004b58
lea rcx, [r8 - 1]
mov rdx, rsi
call fcn.180003530
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.180006960
test rax, rax
jne 0x180004b6e
mov rcx, rsi
call fcn.180006500
mov edx, 0xc797320e
mov rcx, rax
call fcn.180006b00
mov ecx, 0x826b7be4
mov r13, rax
call fcn.180006960
mov edx, 0x6dcc221a
mov rcx, rax
call fcn.180006b00
mov ecx, 0x826b7be4
mov qword [rbp - 0x58], rax
call fcn.180006960
mov edx, 0x37da1d96
mov rcx, rax
call fcn.180006b00
mov r9d, 0x28
mov dword [rsp + 0x50], 0x382101ae
mov r12, rax
mov dword [rsp + 0x54], 0x79d6d620
mov eax, 0x16f1
mov dword [rsp + 0x58], 0x7be6ca54
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x5c], 0x4c201de0
lea r8d, [r9 + 0x1d]
mov dword [rsp + 0x60], 0xce9dff54
lea rcx, [rbp - 0x28]
mov word [rsp + 0x64], ax
mov word [rsp + 0x20], 0x46
call fcn.1800056a0
lea rax, [rbp - 0x28]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x30], rax
mov rsi, qword [rsp + 0x30]
nop dword [rax]
inc r8
cmp word [rsi + r8*2], bx
jne 0x180004c20
dec r8
cmp r8, 0xffffffffffffffff
je 0x180004c5d
lea rcx, [r8 - 1]
mov rdx, rsi
call fcn.180003530
movzx edx, word [rsi + r8*2]
mov ecx, eax
xor rdx, rcx
mov edi, eax
movzx r8d, dl
lea rax, [0x18002c740]
shr edi, 8
xor edi, dword [rax + r8*4]
not edi
mov ecx, edi
call fcn.180006960
test rax, rax
jne 0x180004c73
mov rcx, rsi
call fcn.180006500
mov edx, 0xd21bf9f
mov rcx, rax
call fcn.180006b00
mov rdi, rax
test rax, rax
jne 0x180004c92
mov ebx, 0xc0000001
jmp 0x180004da0
test r13, r13
je 0x180004ce9
mov rsi, qword [rbp - 0x58]
test rsi, rsi
je 0x180004ce9
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.180011c88
cmp qword [rbp + 0x38], rbx
je 0x180004ce9
test r12, r12
je 0x180004ce9
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.180011c88
lea r8, [rbp + 0x30]
mov qword [rbp + 0x30], rbx
mov edx, 8
mov rcx, 0xffffffffffffffff
call fcn.180007db0
test eax, eax
jne 0x180004d4f
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.180007b92
test eax, eax
cmove ebx, dword [rbp + 0x40]
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x180004d5d
call fcn.180007bc6
test ebx, ebx
je 0x180004d66
call fcn.1800060c0
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.180004360
mov ebx, eax
test eax, eax
jns 0x180004da0
mov qword [rsp + 0x28], rsi
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], rdi
call fcn.180004360
mov ebx, eax
mov rcx, r14
call fcn.180011d0c
mov rcx, r15
call fcn.180011d0c
mov r13, qword [rsp + 0x170]
mov eax, ebx
mov r12, qword [rsp + 0x178]
mov rsi, qword [rsp + 0x1c0]
jmp 0x180004dd1
mov eax, 0xc0000001
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.180007de0
add rsp, 0x180
pop r15
pop r14
pop rdi
pop rbx
pop rbp
ret