Function at 0x18004cf60
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r11d, dword [rsp + 0x90]
mov r15d, edx
mov rbp, qword [0x1802663c0]
mov r14, rcx
mov r10d, r9d
vmovaps xmmword [rsp + 0x30], xmm6
or r10d, 2
mov eax, 0x1000001
bt r11d, 0x1e
mov ebx, 0x1000041
mov r13, qword [rbp + 0x40b0]
mov r12, r8
cmovae r10d, r9d
mov rsi, rbp
mov edx, r10d
bts edx, 8
test r11d, r11d
cmovns edx, r10d
mov ecx, edx
and ecx, 0xfffffffb
test dl, 0x10
cmove ecx, edx
mov edi, ecx
and edi, 0xfffffff7
test cl, 0x20
cmove edi, ecx
test dil, 0x70
cmove ebx, eax
mov eax, dword [r13 + 0x14]
and eax, 4
or ebx, eax
or ebx, r11d
test dil, 0xc
jne 0x18004d001
or ebx, 0x102
test dil, dil
jns 0x18004d059
lea rdx, [rbp + 0x3a98]
mov ecx, 3
call fcn.1800459e0
vmovss xmm1, dword [rbp + 0x397c]
mov ecx, 7
call fcn.180045af0
vmovss xmm1, dword [rbp + 0x3980]
mov ecx, 8
call fcn.180045af0
lea rdx, [rbp + 0x3974]
mov ecx, 2
call fcn.180045c20
mov rbp, qword [0x1802663c0]
or edi, 3
or ebx, 4
mov rcx, qword [rbp + 0x40b0]
mov r8d, edi
cmp qword [rcx + 0x1c0], 0
jne 0x18004d07c
cmp qword [rbp + 0x4ed0], 0
mov eax, 0x268
je 0x18004d081
mov eax, 0x238
vmovss xmm0, dword [rcx + rax]
vmovss xmm4, dword [rcx + rax + 4]
vsubss xmm3, xmm0, dword [rcx + 0x118]
vsubss xmm4, xmm4, dword [rcx + 0x11c]
xor edx, edx
lea rcx, [rsp + 0x70]
vmovd xmm1, edx
vxorps xmm6, xmm6, xmm6
mov eax, edi
and eax, 0x10
vmovd xmm0, eax
vpcmpeqd xmm2, xmm0, xmm1
vmovd xmm1, edx
mov rdx, qword [r12]
mov eax, edi
vblendvps xmm2, xmm6, xmm3, xmm2
and eax, 0x20
vmovd xmm0, eax
vpcmpeqd xmm3, xmm0, xmm1
vblendvps xmm3, xmm6, xmm4, xmm3
call fcn.1800583f0
test byte [rsi + 0x4ad0], 2
je 0x18004d131
test byte [rsi + 0x4ad8], 1
je 0x18004d131
vmovss xmm2, dword [rsi + 0x4af0]
vmovss xmm0, dword [rsp + 0x70]
and edi, 0xfffffffb
vcomiss xmm2, xmm6
vcmpltss xmm1, xmm6, xmm2
vblendvps xmm1, xmm0, xmm2, xmm1
vmovss xmm0, dword [rsi + 0x4af4]
cmovbe edi, r8d
vcomiss xmm0, xmm6
vmovss dword [rsp + 0x70], xmm1
jbe 0x18004d131
vmovss dword [rsp + 0x74], xmm0
and edi, 0xfffffff7
or dword [rbp + 0x4ad0], 2
lea rcx, [rsp + 0x70]
vmovsd xmm0, qword [rsp + 0x70]
vmovsd qword [rbp + 0x4af0], xmm0
mov dword [rbp + 0x4ad8], 1
xor edx, edx
or dword [rsi + 0x4ad0], 0x100
mov dword [rsi + 0x4b08], edi
mov r9, qword [r13 + 8]
test r14, r14
je 0x18004d188
mov dword [rsp + 0x28], r15d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], r14
call fcn.180044ae0
jmp 0x18004d199
lea r8, str._s__08X
mov dword [rsp + 0x20], r15d
call fcn.180044ae0
vmovss xmm6, dword [rsi + 0x3968]
test dil, 1
jne 0x18004d1b1
mov dword [rsi + 0x3968], 0
mov rcx, qword [rsp + 0x70]
mov r8d, ebx
xor edx, edx
call fcn.180050360
movzx r14d, al
vmovss dword [rsi + 0x3968], xmm6
test dil, dil
jns 0x18004d1e5
mov ecx, 3
call fcn.180045cd0
mov ecx, 1
call fcn.180045a60
mov rbp, qword [rsi + 0x40b0]
cmp word [rbp + 0xd8], 1
mov dword [rbp + 0x90], r15d
jne 0x18004d20b
vmovsd xmm0, qword [rbp + 0x28]
vmovsd qword [r13 + 0x118], xmm0
mov r9d, r15d
lea rdx, [0x1801e3ac1]
not r9d
lea r10, [0x1801e53c0]
mov ebx, r9d
mov r8b, 0x23
cmp r8b, 0x23
jne 0x18004d238
cmp byte [rdx], r8b
jne 0x18004d238
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 [r10 + rcx*4]
test r8b, r8b
jne 0x18004d225
not ebx
cmp dword [rsi + 0x4124], ebx
jne 0x18004d268
xor edx, edx
xor ecx, ecx
call fcn.180049460
cmp dword [rsi + 0x4c00], r15d
jne 0x18004d2b4
bt edi, 8
jb 0x18004d2b4
cmp word [rbp + 0x174], 0
jne 0x18004d28a
cmp byte [rbp + 0x17a], 0
je 0x18004d2b4
xor edx, edx
mov rcx, rbp
call fcn.180052ea0
xor edx, edx
mov rcx, rbp
call fcn.18005b3e0
mov rdx, rbp
mov ecx, ebx
call fcn.180049460
mov eax, dword [rsi + 0x4c30]
mov dword [rsi + 0x4150], eax
vmovaps xmm6, xmmword [rsp + 0x30]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
movzx eax, r14b
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret