Function at 0x140043a10
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x1400d3168]
xor rax, rsp
mov qword [rbp - 0x70], rax
cmp byte [rcx + 0xce], 0
movzx r15d, r9b
mov rax, qword [rbp + 0x78]
mov r14, rdx
mov rsi, qword [0x1400d4318]
mov rdi, rcx
movss xmm9, dword [rbp + 0x80]
mov r13d, dword [rcx + 0xc]
movss xmm12, dword [rcx + 0x80]
movss xmm8, dword [rcx + 0x84]
mov qword [rbp - 0x78], rax
mov byte [rsp + 0x61], r9b
mov byte [rsp + 0x60], r8b
mov qword [rsp + 0x78], rdx
mov byte [rcx + 0xd0], 0
je 0x140043c60
movss xmm6, dword [rsi + 0x3950]
movss dword [rsi + 0x3950], xmm8
test r8b, r8b
je 0x140043acf
cmp byte [rsi + 0x42aa], 0
mov eax, 0x178
je 0x140043ad4
mov eax, 0x188
mov rbx, qword [0x1400d4318]
lea rcx, [rsp + 0x68]
movsd xmm1, qword [rdx]
movsd qword [rsp + 0x78], xmm1
movups xmm0, xmmword [rax + rbx + 0x3908]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rbx + 0x3908]
movss dword [rsp + 0x74], xmm0
movsd xmm0, qword [rdx + 8]
movsd qword [rbp - 0x78], xmm0
mov rdi, qword [rbx + 0x3fe0]
call fcn.14002d270
mov rcx, qword [rdi + 0x2c0]
lea r8, [rbp - 0x78]
xor r14d, r14d
lea rdx, [rsp + 0x78]
mov dword [rsp + 0x28], r14d
mov r9d, eax
movss dword [rsp + 0x20], xmm12
call fcn.14004f2e0
movss xmm7, dword [rbx + 0x3950]
xorps xmm0, xmm0
comiss xmm7, xmm0
jbe 0x140043c53
movss xmm2, dword [0x14009e3d8]
lea rcx, [rsp + 0x68]
mov rax, qword [0x1400d4318]
movss xmm1, dword [rsp + 0x78]
addss xmm1, xmm2
movups xmm0, xmmword [rax + 0x3a30]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x3908]
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x74], xmm0
movss xmm0, dword [rbp - 0x78]
addss xmm0, xmm2
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rbp - 0x74]
addss xmm0, xmm2
movss dword [rsp + 0x4c], xmm0
movss xmm0, dword [rsp + 0x7c]
addss xmm0, xmm2
movss dword [rsp + 0x44], xmm0
call fcn.14002d270
mov rcx, qword [rdi + 0x2c0]
lea r8, [rsp + 0x48]
movss dword [rsp + 0x30], xmm7
lea rdx, [rsp + 0x40]
mov r9d, eax
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm12
call fcn.14004f1d0
mov rax, qword [0x1400d4318]
lea rcx, [rsp + 0x68]
movups xmm0, xmmword [rax + 0x3a20]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x3908]
movss dword [rsp + 0x74], xmm0
call fcn.14002d270
mov rcx, qword [rdi + 0x2c0]
lea r8, [rbp - 0x78]
movss dword [rsp + 0x30], xmm7
lea rdx, [rsp + 0x78]
mov r9d, eax
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm12
call fcn.14004f1d0
movss dword [rsi + 0x3950], xmm6
jmp 0x14004458e
mov qword [rsp + 0x168], r12
xor r12d, r12d
movaps xmmword [rsp + 0xb0], xmm11
xorps xmm11, xmm11
test r13b, r13b
js 0x140043ee5
xor bl, bl
cmp byte [rsi + 0x43fc], bl
je 0x140043cd6
mov eax, dword [rsi + 0x3f60]
sub eax, dword [rsi + 0x4474]
cmp eax, 1
jg 0x140043cd6
cmp byte [rsi + 0x73], bl
je 0x140043cd6
cmp dword [rsi + 0x4424], 0xffffffff
je 0x140043cd6
lea rdx, [rsi + 0x4428]
lea rcx, [0x1400a21d0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x140043cd6
mov rax, qword [rsi + 0x4410]
movzx ebx, bl
cmp qword [rax], rdi
mov eax, 1
cmove ebx, eax
test r13d, 0x6000000
je 0x140043ce6
mov ecx, 0x108
jmp 0x140043d00
bt r13d, 0x18
jae 0x140043cfb
test byte [rdi + 0x401], 1
mov ecx, pe_nt_image_headers64
je 0x140043d00
mov ecx, 0xe8
mov rax, qword [0x1400d4318]
movups xmm0, xmmword [rcx + rax + 0x3908]
lea rcx, [rsp + 0x68]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x3908]
movss dword [rsp + 0x74], xmm0
call fcn.14002d270
movss xmm1, dword [0x14009e3d8]
mov r12d, eax
xor al, al
movaps xmm2, xmm1
test byte [rsi + 0x40f0], 0x40
je 0x140043d71
cmp byte [rdi + 0xca], al
je 0x140043d67
mov rcx, qword [rdi + 0x30]
movss xmm0, dword [rcx + 0x78]
mulss xmm0, dword [rsi + 0x4150]
movss dword [rcx + 0x78], xmm0
movss xmm2, dword [rsi + 0x4150]
mov al, 1
movss xmm3, dword [0x14009e3cc]
test bl, bl
je 0x140043d9e
cmp byte [rdi + 0xca], 0
mulss xmm2, xmm3
je 0x140043da2
mov rax, qword [rdi + 0x30]
movss xmm0, dword [rax + 0x78]
mulss xmm0, xmm3
movss dword [rax + 0x78], xmm0
jmp 0x140043da2
test al, al
je 0x140043dd2
comiss xmm11, xmm2
jbe 0x140043dad
xorps xmm1, xmm1
jmp 0x140043db1
minss xmm1, xmm2
mulss xmm1, dword [0x1400a3b98]
mov eax, r12d
and eax, 0xffffff
addss xmm1, xmm3
cvttss2si ecx, xmm1
shl ecx, 0x18
mov r12d, ecx
or r12d, eax
test byte [rdi + 0x401], 1
mov ebx, r13d
mov rax, qword [rdi + 0x420]
je 0x140043dfb
mov rax, qword [rax + 0x88]
and ebx, 0x20000000
mov r14, qword [rax + 0x2c0]
jmp 0x140043e0a
mov r14, qword [rdi + 0x2c0]
and ebx, 0x20000000
je 0x140043e28
lea r15, [r14 + 0xa8]
xor r8d, r8d
mov rcx, r15
mov rdx, r14
call fcn.140055910
mov rax, qword [rdi + 0x420]
jmp 0x140043e2f
lea r15, [r14 + 0xa8]
test byte [rdi + 0x401], 1
je 0x140043e3f
mov dword [rax + 0x80], r12d
movss xmm7, dword [rdi + 0x48]
mov rcx, rdi
movss xmm6, dword [rdi + 0x4c]
movaps xmm0, xmm7
addss xmm0, dword [rdi + 0x50]
movaps xmm1, xmm6
addss xmm1, dword [rdi + 0x54]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
call fcn.140047010
addss xmm6, xmm0
mov eax, 0xc0
addss xmm7, xmm11
mov ecx, 0
test r13b, 1
lea r8, [rsp + 0x40]
mov r9d, r12d
lea rdx, [rsp + 0x48]
cmovne eax, ecx
mov rcx, r14
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x4c], xmm6
movss dword [rsp + 0x20], xmm12
movss dword [rsp + 0x48], xmm7
call fcn.14004f2e0
test byte [rdi + 0x401], 1
jne 0x140043ec0
test ebx, ebx
je 0x140043ed1
mov r8d, 1
mov rdx, r14
mov rcx, r15
call fcn.140055910
movzx r15d, byte [rsp + 0x61]
xor r12d, r12d
movzx r8d, byte [rsp + 0x60]
mov r14, qword [rsp + 0x78]
movzx eax, byte [rdi + 0x401]
test al, 1
je 0x140043f05
mov rax, qword [rdi + 0x420]
or byte [rax + 0xc8], 4
movzx eax, byte [rdi + 0x401]
mov ebx, r13d
and ebx, 1
jne 0x140043f6d
test al, 1
jne 0x140043f6d
mov rcx, qword [0x1400d4318]
movzx eax, r8b
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x3a70]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rcx + 0x3908]
lea rcx, [rsp + 0x68]
movss dword [rsp + 0x74], xmm0
call fcn.14002d270
mov rcx, qword [rdi + 0x2c0]
lea r8, [r14 + 8]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
mov rdx, r14
movss dword [rsp + 0x20], xmm12
call fcn.14004f2e0
movaps xmmword [rsp + 0xc0], xmm10
bt r13d, 0xa
jae 0x140044178
mov edx, dword [rdi + 0xc]
mov rax, qword [0x1400d4318]
test dl, 1
je 0x140043f95
xorps xmm1, xmm1
jmp 0x140043fd1
movss xmm0, dword [rax + 0x3d54]
mulss xmm0, dword [rdi + 0x2b0]
mov rcx, qword [rdi + 0x390]
mulss xmm0, dword [rdi + 0x2b4]
test rcx, rcx
je 0x140043fc1
mulss xmm0, dword [rcx + 0x2b0]
movss xmm1, dword [rax + 0x3948]
addss xmm1, xmm1
addss xmm1, xmm0
movss xmm2, dword [rdi + 0x4c]
addss xmm1, xmm2
bt edx, 0xa
jae 0x140044026
movss xmm6, dword [rax + 0x3d54]
mulss xmm6, dword [rdi + 0x2b0]
mov rcx, qword [rdi + 0x390]
mulss xmm6, dword [rdi + 0x2b4]
test rcx, rcx
je 0x14004400c
mulss xmm6, dword [rcx + 0x2b0]
movss xmm0, dword [rax + 0x3948]
addss xmm6, dword [rdi + 0x184]
addss xmm0, xmm0
addss xmm6, xmm0
jmp 0x140044029
xorps xmm6, xmm6
movss xmm0, dword [rdi + 0x48]
movaps xmm3, xmm1
addss xmm6, xmm1
movaps xmm10, xmm0
maxss xmm10, xmm0
movaps xmm1, xmm0
maxss xmm3, xmm2
addss xmm0, dword [rdi + 0x50]
addss xmm2, dword [rdi + 0x54]
addss xmm1, dword [rdi + 0x58]
minss xmm6, xmm2
minss xmm1, xmm0
movss dword [rbp - 0x7c], xmm6
movss dword [rbp - 0x80], xmm1
test ebx, ebx
je 0x140044070
movaps xmm7, xmm12
jmp 0x140044073
xorps xmm7, xmm7
movups xmm0, xmmword [rax + 0x3aa0]
lea rcx, [rsp + 0x68]
subss xmm1, xmm8
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
addss xmm3, xmm11
mulss xmm0, dword [rax + 0x3908]
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x74], xmm0
movaps xmm0, xmm6
subss xmm0, xmm11
movss dword [rsp + 0x4c], xmm3
movss dword [rsp + 0x44], xmm0
movaps xmm0, xmm10
addss xmm0, xmm8
movss dword [rsp + 0x48], xmm0
call fcn.14002d270
mov rcx, qword [rdi + 0x2c0]
lea r8, [rsp + 0x40]
mov r9d, eax
mov dword [rsp + 0x28], 0x30
lea rdx, [rsp + 0x48]
movss dword [rsp + 0x20], xmm7
call fcn.14004f2e0
movss xmm7, dword [rsi + 0x3950]
comiss xmm7, xmm11
jbe 0x140044178
movss xmm0, dword [rdi + 0x54]
addss xmm0, dword [rdi + 0x4c]
comiss xmm0, xmm6
jbe 0x140044178
mov rax, qword [0x1400d4318]
lea rcx, [rsp + 0x68]
movups xmm0, xmmword [rax + 0x3a20]
movups xmmword [rsp + 0x68], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x3908]
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x44], xmm6
movss dword [rsp + 0x74], xmm0
movsd xmm0, qword [rbp - 0x80]
movsd qword [rsp + 0x48], xmm0
call fcn.14002d270
mov rcx, qword [rdi + 0x2c0]
lea r8, [rsp + 0x48]
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea rdx, [rsp + 0x40]
call fcn.14004e170
test byte [rdi + 0x401], 1
mov r14, qword [rdi + 0x420]
je 0x1400443c8
mov ecx, dword [r14 + 0x10]
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x1400443c8
shr ecx, 0xc
test cl, 1
jne 0x1400443c8
movss xmm1, dword [rsi + 0x3d50]
lea rdx, [0x1400a23d9]
movss xmm2, dword [r14 + 0x4c]
lea r10, [0x1400a31d0]
movsxd rcx, dword [rdi + 0x108]
movaps xmm0, xmm1
mulss xmm0, dword [0x1400a3b38]
movaps xmm3, xmm2
mov r8b, 0x23
mulss xmm1, dword [0x14009e3d0]
cvttss2si eax, xmm0
movd xmm6, eax
cvttss2si eax, xmm1
movss xmm1, dword [r14 + 0x48]
movaps xmm4, xmm1
unpcklps xmm1, xmm2
movsd qword [rsp + 0x78], xmm1
movsd qword [rsp + 0x68], xmm1
movd xmm0, eax
mov rax, qword [rdi + 0x110]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm6, xmm6
addss xmm4, xmm0
addss xmm3, xmm0
movss dword [rsp + 0x70], xmm4
movss dword [rsp + 0x74], xmm3
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
nop dword [rax]
cmp r8b, 0x23
jne 0x140044253
cmp byte [rdx], r8b
jne 0x140044253
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 0x140044240
mov rax, qword [0x1400d4318]
not ebx
cmp dword [rax + 0x401c], ebx
jne 0x140044296
xor r9d, r9d
lea r8, str.UNHIDE
mov ecx, ebx
lea edx, [r9 + 0xb]
call fcn.14002d8b0
lea r9, [rsp + 0x61]
mov dword [rsp + 0x20], 0x800
lea r8, [rsp + 0x60]
mov edx, ebx
lea rcx, [rsp + 0x68]
call fcn.14006bb80
test al, al
je 0x1400442c2
or byte [r14 + 0xc9], 4
jmp 0x140044302
cmp byte [rsp + 0x61], 0
je 0x140044314
mov rax, qword [0x1400d4318]
cmp byte [rax + 0xda4], 0
je 0x140044302
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + 0x3740]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
je 0x140044302
mov r8b, 1
mov rdx, r14
mov rcx, rdi
call fcn.140046e10
cmp byte [rsp + 0x61], 0
movzx eax, byte [rsp + 0x60]
je 0x140044319
test al, al
jne 0x140044327
jmp 0x140044319
movzx eax, byte [rsp + 0x60]
test byte [r14 + 0xc8], 2
je 0x14004432e
test al, al
jne 0x14004432e
mov ecx, 0x17
jmp 0x14004433a
test al, al
mov rcx, r12
setne cl
add rcx, 0x15
mov rax, qword [0x1400d4318]
add rcx, rcx
movss xmm2, dword [rsp + 0x78]
movss xmm1, dword [rsp + 0x7c]
movups xmm0, xmmword [rax + rcx*8 + 0x39d0]
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x3908]
movss dword [rsp + 0x5c], xmm0
movaps xmm0, xmm2
addss xmm0, xmm11
addss xmm2, xmm6
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm1
addss xmm0, xmm6
movss dword [rsp + 0x48], xmm2
addss xmm1, xmm11
movss dword [rsp + 0x44], xmm0
movss dword [rsp + 0x4c], xmm1
call fcn.14002d270
mov rcx, qword [rdi + 0x2c0]
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x78]
call fcn.14004f630
cmp byte [rdi + 0xc8], 0
movaps xmm11, xmmword [rsp + 0xb0]
je 0x1400443e1
xor ecx, ecx
call fcn.140071860
cmp byte [rdi + 0xc9], 0
je 0x1400443f4
mov ecx, 1
call fcn.140071860
test r15b, r15b
je 0x14004457d
test r13b, 2
jne 0x14004456b
mov r15d, dword [rbp + 0x70]
mov r14d, r12d
test r15d, r15d
jle 0x14004456b
mov r13, qword [rbp - 0x78]
lea rsi, [0x1400a1948]
movaps xmm10, xmm8
addss xmm10, xmm12
nop dword [rax + rax]
movss xmm0, dword [rdi + 0x48]
mov ebx, r14d
movss xmm1, dword [rdi + 0x4c]
movaps xmm6, xmm0
movaps xmm7, xmm1
addss xmm6, dword [rdi + 0x50]
addss xmm7, dword [rdi + 0x54]
subss xmm6, xmm0
subss xmm7, xmm1
mulss xmm6, dword [rsi - 8]
mulss xmm7, dword [rsi - 4]
addss xmm6, xmm0
addss xmm7, xmm1
and ebx, 1
je 0x140044476
movaps xmm0, xmm8
movaps xmm1, xmm9
jmp 0x14004447e
movaps xmm0, xmm9
movaps xmm1, xmm8
mulss xmm0, dword [rsi]
lea rdx, [rsp + 0x40]
mov rcx, qword [rdi + 0x2c0]
mulss xmm1, dword [rsi + 4]
addss xmm0, xmm6
addss xmm1, xmm7
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
call fcn.140040420
test ebx, ebx
je 0x1400444ba
movaps xmm0, xmm9
movaps xmm1, xmm8
jmp 0x1400444c2
movaps xmm0, xmm8
movaps xmm1, xmm9
mulss xmm0, dword [rsi]
lea rdx, [rsp + 0x48]
mov rcx, qword [rdi + 0x2c0]
mulss xmm1, dword [rsi + 4]
addss xmm0, xmm6
addss xmm1, xmm7
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
call fcn.140040420
mov eax, dword [rsi + 0xc]
lea rdx, [rsp + 0x78]
mov r9d, dword [rsi + 8]
movaps xmm0, xmm10
mulss xmm0, dword [rsi]
movaps xmm1, xmm10
mov rcx, qword [rdi + 0x2c0]
mulss xmm1, dword [rsi + 4]
movaps xmm2, xmm12
mov dword [rsp + 0x20], eax
addss xmm0, xmm6
addss xmm1, xmm7
movss dword [rsp + 0x78], xmm0
movss dword [rsp + 0x7c], xmm1
call fcn.140053100
mov rbx, qword [rdi + 0x2c0]
mov r9d, dword [r13]
mov rcx, rbx
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
call fcn.14004d000
inc r14d
mov dword [rbx + 0x78], r12d
add rsi, 0x18
add r13, 4
cmp r14d, r15d
jl 0x140044430
cmp qword [rdi + 0x428], 0
jne 0x14004457d
mov rcx, rdi
call fcn.1400445d0
movaps xmm10, xmmword [rsp + 0xc0]
mov r12, qword [rsp + 0x168]
mov rcx, qword [rbp - 0x70]
xor rcx, rsp
call fcn.140095c20
lea r11, [rsp + 0x110]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret