Function at 0x14000cb10
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1401550a0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, qword [0x14019ace0]
mov r15, rcx
mov r10d, r9d
mov qword [rsp + 0x38], r8
or r9d, 2
mov eax, 0x1000001
test dword [rsp + 0xe0], 0x40000000
mov r12d, edx
mov rdx, qword [rsi + 0x4018]
mov ebp, 0x1000041
cmove r9d, r10d
mov qword [rsp + 0x40], rdx
mov ecx, r9d
mov rdi, rsi
and ecx, 0xfffffffb
test r9b, 0x10
cmove ecx, r9d
mov ebx, ecx
and ebx, 0xfffffff7
test cl, 0x20
cmove ebx, ecx
test bl, 0x70
cmove ebp, eax
mov eax, dword [rdx + 0x14]
and eax, 4
or ebp, eax
or ebp, dword [rsp + 0xe0]
test bl, 0xc
jne 0x14000cbc0
or ebp, 0x102
mov r14d, 2
test bl, bl
jns 0x14000cc40
movups xmm0, xmmword [rsi + 0x3a14]
lea rcx, [rsi + 0x4a40]
mov dword [rsp + 0x48], 4
lea rdx, [rsp + 0x48]
movups xmmword [rsp + 0x4c], xmm0
call fcn.14001ed90
movups xmm0, xmmword [rsi + 0x3a54]
lea ecx, [r14 + 5]
movups xmmword [rsi + 0x3a14], xmm0
movss xmm1, dword [rsi + 0x3934]
call fcn.140006000
movss xmm1, dword [rsi + 0x3938]
lea ecx, [r14 + 6]
call fcn.140006000
lea rdx, [rsi + 0x392c]
mov ecx, r14d
call fcn.140006080
mov rsi, qword [0x14019ace0]
or ebx, 3
mov r8, qword [rsp + 0x38]
or ebp, 4
or dword [rdi + 0x49c8], 0x100
mov dword [rdi + 0x4a00], ebx
mov rdx, qword [rsi + 0x4018]
cmp qword [rdx + 0x1b8], 0
jne 0x14000cc70
cmp qword [rsi + 0x4db8], 0
mov eax, 0x260
je 0x14000cc75
mov eax, 0x230
movss xmm2, dword [rdx + rax]
xorps xmm6, xmm6
movss xmm3, dword [rdx + rax + 4]
subss xmm2, dword [rdx + 0x110]
subss xmm3, dword [rdx + 0x114]
test bl, 0x20
je 0x14000cc9b
xorps xmm3, xmm3
test bl, 0x10
je 0x14000cca3
xorps xmm2, xmm2
mov rdx, qword [r8]
lea rcx, [rsp + 0x30]
call fcn.140015c40
or dword [rsi + 0x49c8], r14d
lea rcx, [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov r13d, 1
movsd xmm3, qword [rsp + 0x30]
xor edx, edx
movsd qword [rsi + 0x49e8], xmm3
mov dword [rsi + 0x49d0], r13d
mov r9, qword [r9 + 8]
test r15, r15
je 0x14000ccff
mov dword [rsp + 0x28], r12d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], r15
call fcn.140004550
jmp 0x14000cd10
lea r8, str._s__08X
mov dword [rsp + 0x20], r12d
call fcn.140004550
movss xmm7, dword [rdi + 0x3920]
test r13b, bl
jne 0x14000cd27
mov dword [rdi + 0x3920], 0
mov rcx, qword [rsp + 0x30]
mov r8d, ebp
xor edx, edx
call fcn.14000fdd0
movss dword [rdi + 0x3920], xmm7
movzx r15d, al
test bl, bl
jns 0x14000cd8b
mov ecx, 3
call fcn.140006110
mov r8, qword [0x14019ace0]
movsxd rax, dword [r8 + 0x4a40]
cmp eax, r13d
jl 0x14000cd8b
mov rcx, qword [r8 + 0x4a48]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x39d4], xmm0
dec dword [r8 + 0x4a40]
mov rcx, qword [rsp + 0x38]
movss xmm1, dword [rcx + 4]
comiss xmm1, xmm6
cvttss2si eax, xmm1
jae 0x14000cdae
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
jp 0x14000cdac
je 0x14000cdae
dec eax
movss xmm1, dword [rcx]
comiss xmm1, xmm6
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm1
jae 0x14000cdd2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
jp 0x14000cdd0
je 0x14000cdd2
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm6
jp 0x14000cde0
je 0x14000cde3
xor r13d, r13d
ucomiss xmm2, xmm6
jp 0x14000cdea
je 0x14000cded
xor r14d, r14d
mov rsi, qword [rdi + 0x4018]
or r14d, r13d
cmp word [rsi + 0xcc], 1
mov dword [rsi + 0x88], r12d
mov dword [rsi + 0xe0], r14d
jne 0x14000ce21
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rsi + 0x28]
movsd qword [rax + 0x110], xmm0
mov r9d, r12d
lea rdx, [0x140114e61]
not r9d
lea r10, [0x140115f00]
mov ebx, r9d
mov r8b, reloc.WLDAP32.dll_Ordinal_35
nop dword [rax + rax]
cmp r8b, 0x23
jne 0x14000ce53
cmp byte [rdx], r8b
jne 0x14000ce53
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 0x14000ce40
not ebx
cmp dword [rdi + 0x407c], ebx
jne 0x14000ce83
xor edx, edx
xor ecx, ecx
call fcn.140009490
cmp dword [rdi + 0x4af8], r12d
jne 0x14000cecf
bt ebp, 0x17
jb 0x14000cecf
cmp word [rsi + 0x16c], 0
jne 0x14000cea5
cmp byte [rsi + 0x172], 0
je 0x14000cecf
xor edx, edx
mov rcx, rsi
call fcn.140012390
xor edx, edx
mov rcx, rsi
call fcn.140018ad0
mov rdx, rsi
mov ecx, ebx
call fcn.140009490
mov eax, dword [rdi + 0x4b1c]
mov dword [rdi + 0x40a0], eax
movzx eax, r15b
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400fe240
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret