Function at 0x14005a110
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
movaps xmmword [rsp + 0x20], xmm6
mov r13d, ecx
mov r15, qword [0x1402808a8]
test r13b, 0x10
jne 0x14005a183
mov r12, qword [r15 + 0x1a90]
mov ebp, dword [r12 + 0x11c]
test ebp, ebp
je 0x14005a2ff
cmp dword [r15 + 0x1ae0], ebp
jne 0x14005a4d7
cmp byte [r15 + 0x138], 0
je 0x14005a4d7
mov byte [r15 + 0x1aed], 0
mov eax, dword [0x14027b550]
mov edx, dword [0x14027b554]
mov r14d, ebp
jmp 0x14005a460
mov esi, 0xffffffff
mov bl, reloc.WLDAP32.dll_Ordinal_35
lea rcx, [0x1401d791e]
lea rdx, [0x1401ca9b0]
mov ebp, 0xffffffff
jmp 0x14005a1b9
movzx ebx, bl
movzx edi, bpl
shr ebp, 8
xor edi, ebx
xor ebp, dword [rdx + rdi*4]
add rcx, 1
mov ebx, eax
test al, al
je 0x14005a1d0
movzx eax, byte [rcx - 1]
cmp bl, 0x23
jne 0x14005a1a0
cmp al, 0x23
jne 0x14005a1a0
cmp byte [rcx], 0x23
cmove ebp, esi
mov al, reloc.WLDAP32.dll_Ordinal_35
jmp 0x14005a1a0
not ebp
mov eax, dword [0x14027b550]
xor r12d, r12d
mov edx, dword [0x14027b554]
mov rbx, r15
xor r14d, r14d
cmp byte [r15 + 0x1fb4], 0
jne 0x14005a2c2
mov byte [rbx + 0x1fb4], 0
xorps xmm6, xmm6
movups xmmword [rbx + 0x1fe0], xmm6
movups xmmword [rbx + 0x1ff0], xmm6
mov byte [rbx + 0x2000], 0
movups xmmword [rbx + 0x1fc8], xmm6
movabs rcx, 0xffffffff00000000
mov qword [rbx + 0x1fd8], rcx
mov word [rbx + 0x2001], 0
mov dword [rbx + 0x201c], 0
mov qword [rbx + 0x2028], rcx
mov qword [rbx + 0x2020], 0x7f7fffff
mov rcx, qword [rbx + 0x2040]
test rcx, rcx
je 0x14005a293
mov qword [rbx + 0x2038], 0
add dword [rbx + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov qword [rbx + 0x2040], 0
mov eax, dword [0x14027b550]
mov edx, dword [0x14027b554]
movups xmmword [rbx + 0x2048], xmm6
mov dword [r15 + 0x1fd4], ebp
mov dword [r15 + 0x1fd8], r14d
mov byte [r15 + 0x1fb4], 1
mov dword [r15 + 0x1fb8], r13d
mov dword [r15 + 0x1fc0], 0
mov ecx, dword [r15 + 0x1a18]
mov dword [r15 + 0x1fbc], ecx
mov byte [r15 + 0x1fb5], 1
test r13b, 1
jne 0x14005a535
cmp edx, 0xa
jl 0x14005a4db
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14005a4fe
jmp 0x14005a4db
xor eax, eax
cmp byte [r15 + 0x138], 0
je 0x14005a546
mov ecx, r13d
and ecx, 8
je 0x14005a546
test byte [r12 + 0x120], 1
jne 0x14005a341
cmp dword [r15 + 0x1ae0], 0
je 0x14005a4d7
cmp qword [r15 + 0x1b10], r12
jne 0x14005a4d7
lea rbp, [r12 + 0x124]
mov rcx, r12
mov rdx, rbp
call fcn.140041f00
mov r14d, eax
mov dword [r12 + 0x11c], eax
mov rcx, rbp
mov edx, eax
call fcn.140042890
mov ebx, eax
test al, al
je 0x14005a43e
cmp byte [r15 + 0x428], 0
je 0x14005a43e
mov rax, qword [0x1402808a8]
cmp dword [rax + 0x1ae0], r14d
setne byte [rax + 0x1aec]
je 0x14005a3c1
mov dword [rax + 0x1ae8], 0
mov word [rax + 0x1aef], 0
test r14d, r14d
je 0x14005a3c1
mov dword [rax + 0x1b30], r14d
mov dword [rax + 0x1b34], 0
mov dword [rax + 0x1ae0], r14d
mov word [rax + 0x1aed], 0
mov qword [rax + 0x1b10], r12
mov byte [rax + 0x1af1], 0
test r14d, r14d
je 0x14005a420
mov dword [rax + 0x1ae4], r14d
mov ecx, 2
cmp dword [rax + 0x1c20], r14d
je 0x14005a41a
cmp dword [rax + 0x1c2c], r14d
je 0x14005a41a
cmp dword [rax + 0x1c30], r14d
je 0x14005a41a
xor ecx, ecx
cmp dword [rax + 0x1c34], r14d
sete cl
add ecx, 1
mov dword [rax + 0x1b18], ecx
mov qword [rax + 0x1af4], 0
mov qword [rax + 0x1b00], 0
mov rcx, r12
call fcn.140044c60
mov eax, dword [0x14027b550]
mov edx, dword [0x14027b554]
mov ebp, dword [r15 + 0x1ae0]
cmp ebp, r14d
jne 0x14005a460
mov byte [r15 + 0x1aed], bl
mov ebp, r14d
cmp ebp, r14d
jne 0x14005a4d7
mov rbx, qword [0x1402808a8]
cmp byte [rbx + 0x138], 0
je 0x14005a4c1
mov rcx, qword [r12 + 0xd0]
mov edi, dword [r12 + 0xc8]
add edi, 0xffffffff
movsxd rdi, edi
mov r14d, dword [rcx + rdi*4]
movss xmm0, dword [rbx + 0x38]
movss xmm1, dword [rbx + 0x494]
mulss xmm0, xmm0
ucomiss xmm1, xmm0
mov qword [r15 + 0x1af4], 0xffffffffffffffff
mov qword [r15 + 0x1b00], 0xffffffffffffffff
jae 0x14005a1e7
jmp 0x14005a4d7
mov qword [r15 + 0x1af4], 0xffffffffffffffff
mov qword [r15 + 0x1b00], 0xffffffffffffffff
xor eax, eax
jmp 0x14005a546
xor ecx, ecx
xor edx, edx
call fcn.1400580c0
cmp dword [0x14027b554], 0xa
jl 0x14005a509
mov eax, dword [0x14027b550]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14005a509
xor ecx, ecx
xor edx, edx
call fcn.1400580c0
jmp 0x14005a4db
cmp dword [r15 + 0x2028], 0
je 0x14005a535
test byte [r15 + 0x201d], 0x10
je 0x14005a535
mov rax, qword [r15 + 0x1a90]
mov byte [rax + 0x8b], 1
mov dword [rax + 0xa4], 1
mov al, 1
test r13b, 0x12
jne 0x14005a546
and byte [r12 + 0x120], 0xfe
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret