Function at 0x1400bf380
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov byte [rax + 0x20], r9b
mov byte [rax + 0x18], r8b
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0x100
cmp byte [rcx + 0xd2], 0
movzx r14d, r9b
mov rsi, qword [0x140317818]
mov r13, rdx
mov r15d, dword [rcx + 0xc]
mov rdi, rcx
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovss xmm8, dword [rcx + 0x8c]
vmovaps xmmword [rax - 0x78], xmm9
vmovss xmm9, dword [rbp + 0x7f]
vmovaps xmmword [rax - 0xb8], xmm13
movzx eax, r8b
vmovss xmm13, dword [rcx + 0x88]
mov byte [rcx + 0xd4], 0
je 0x1400bf5ae
vmovss xmm7, dword [rsi + 0x167c]
vmovss dword [rsi + 0x167c], xmm8
test al, al
je 0x1400bf425
cmp byte [rsi + 0x1fa6], 0
mov eax, 0x174
je 0x1400bf42a
mov eax, 0x184
mov rbx, qword [0x140317818]
lea rcx, [rsp + 0x60]
vmovsd xmm1, qword [rdx + 8]
vmovsd qword [rbp + 0x4f], xmm1
vmovups xmm0, xmmword [rax + rbx + 0x1638]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rbx + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vmovsd xmm0, qword [rdx]
vmovsd qword [rsp + 0x48], xmm0
mov rdi, qword [rbx + 0x1d18]
call fcn.1400aa9d0
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
xor r12d, r12d
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x28], r12d
mov r9d, eax
vmovss dword [rsp + 0x20], xmm13
call fcn.1400c94e0
vmovss xmm6, dword [rbx + 0x167c]
vxorps xmm0, xmm0, xmm0
vcomiss xmm6, xmm0
jbe 0x1400bf5a1
vmovss xmm3, dword [0x1401e1fdc]
mov rax, qword [0x140317818]
lea rcx, [rsp + 0x60]
vaddss xmm1, xmm3, dword [rbp + 0x53]
vaddss xmm2, xmm3, dword [rsp + 0x48]
vmovups xmm0, xmmword [rax + 0x175c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vaddss xmm0, xmm3, dword [rbp + 0x4f]
vmovss dword [rsp + 0x50], xmm0
vaddss xmm0, xmm3, dword [rsp + 0x4c]
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rsp + 0x54], xmm1
vmovss dword [rsp + 0x58], xmm2
call fcn.1400aa9d0
mov rcx, qword [rdi + 0x2f8]
lea r8, [rsp + 0x50]
vmovss dword [rsp + 0x30], xmm6
mov r9d, eax
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x58]
vmovss dword [rsp + 0x20], xmm13
call fcn.1400c93d0
mov rax, qword [0x140317818]
lea rcx, [rsp + 0x60]
vmovups xmm0, xmmword [rax + 0x174c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
call fcn.1400aa9d0
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
vmovss dword [rsp + 0x30], xmm6
mov r9d, eax
mov dword [rsp + 0x28], r12d
lea rdx, [rsp + 0x48]
vmovss dword [rsp + 0x20], xmm13
call fcn.1400c93d0
vmovss dword [rsi + 0x167c], xmm7
jmp 0x1400bfded
xor r12d, r12d
vmovaps xmmword [rsp + 0xb0], xmm10
vxorps xmm10, xmm10, xmm10
test r15b, r15b
js 0x1400bf783
xor bl, bl
cmp byte [rsi + 0x20d4], bl
je 0x1400bf620
mov eax, dword [rsi + 0x1c90]
sub eax, dword [rsi + 0x214c]
cmp eax, 1
jg 0x1400bf620
cmp byte [rsi + 0xca], bl
je 0x1400bf620
cmp dword [rsi + 0x20fc], 0xffffffff
je 0x1400bf620
lea rdx, [rsi + 0x2100]
lea rcx, str._IMWINDOW
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x1400bf620
mov rax, qword [rsi + 0x20e8]
movzx ebx, bl
cmp qword [rax], rdi
mov eax, 1
cmove ebx, eax
test r15d, 0x6000000
je 0x1400bf630
mov ecx, 0x104
jmp 0x1400bf644
mov rcx, r15
and ecx, 0x1000000
or rcx, 0xe400000
shr rcx, 0x14
mov rax, qword [0x140317818]
vmovups xmm0, xmmword [rax + rcx + 0x1638]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x6c], xmm0
call fcn.1400aa9d0
mov r14d, eax
cmp byte [rdi + 0xce], r12b
je 0x1400bf6a6
or r14d, 0xff000000
test bl, bl
je 0x1400bf70c
mov rcx, qword [rdi + 0x38]
vmovss xmm0, dword [rcx + 0x78]
vmulss xmm0, xmm0, dword [0x1401e1fac]
vmovss dword [rcx + 0x78], xmm0
jmp 0x1400bf70c
mov eax, dword [rsi + 0x1dc0]
vmovss xmm1, dword [0x1401e1fdc]
vmovaps xmm0, xmm1
and eax, 0x40
je 0x1400bf6c5
vmovss xmm0, dword [rsi + 0x1e20]
vmovss xmm2, dword [0x1401e1fac]
test bl, bl
je 0x1400bf6d7
vmulss xmm0, xmm0, xmm2
jmp 0x1400bf6db
test eax, eax
je 0x1400bf70c
vcomiss xmm10, xmm0
jbe 0x1400bf6e7
vxorps xmm1, xmm1, xmm1
jmp 0x1400bf6eb
vminss xmm1, xmm1, xmm0
vmulss xmm0, xmm1, dword [0x1401e2040]
mov eax, r14d
vaddss xmm1, xmm0, xmm2
vcvttss2si ecx, xmm1
shl ecx, 0x18
and eax, 0xffffff
mov r14d, ecx
or r14d, eax
vmovss xmm7, dword [rdi + 0x50]
vaddss xmm0, xmm7, dword [rdi + 0x58]
vmovss xmm6, dword [rdi + 0x54]
vmovss dword [rbp + 0x4f], xmm0
vaddss xmm0, xmm6, dword [rdi + 0x5c]
mov rcx, rdi
vmovss dword [rbp + 0x53], xmm0
call fcn.1400c2230
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
mov eax, 0xc0
lea rdx, [rsp + 0x58]
vaddss xmm1, xmm7, xmm10
vaddss xmm0, xmm6, xmm0
mov ebx, r15d
mov r9d, r14d
and ebx, 1
vmovss dword [rsp + 0x58], xmm1
cmovne eax, r12d
mov dword [rsp + 0x28], eax
vmovss dword [rsp + 0x20], xmm13
vmovss dword [rsp + 0x5c], xmm0
call fcn.1400c94e0
movzx eax, byte [rbp + 0x5f]
movzx r14d, byte [rbp + 0x67]
jmp 0x1400bf789
mov ebx, r15d
and ebx, 1
test ebx, ebx
jne 0x1400bf7f3
test byte [rdi + 0x429], 1
jne 0x1400bf7f3
mov rcx, qword [0x140317818]
movzx eax, al
add rax, rax
vmovups xmm0, xmmword [rcx + rax*8 + 0x179c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rcx + 0x1638]
lea rcx, [rsp + 0x60]
vmovss dword [rsp + 0x6c], xmm0
call fcn.1400aa9d0
mov rcx, qword [rdi + 0x2f8]
lea r8, [r13 + 8]
mov r9d, eax
mov dword [rsp + 0x28], Ordinal_50
mov rdx, r13
vmovss dword [rsp + 0x20], xmm13
call fcn.1400c94e0
vmovaps xmmword [rsp + 0xa0], xmm11
vmovaps xmmword [rsp + 0x90], xmm12
bt r15d, 0xa
jae 0x1400bf9f8
mov edx, dword [rdi + 0xc]
mov rax, qword [0x140317818]
test dl, 1
je 0x1400bf825
vxorps xmm0, xmm0, xmm0
jmp 0x1400bf861
vmovss xmm0, dword [rax + 0x1a84]
mov rcx, qword [rdi + 0x3c8]
vmulss xmm1, xmm0, dword [rdi + 0x2e8]
vmulss xmm2, xmm1, dword [rdi + 0x2ec]
test rcx, rcx
je 0x1400bf851
vmulss xmm2, xmm2, dword [rcx + 0x2e8]
vmovss xmm0, dword [rax + 0x1674]
vaddss xmm1, xmm0, xmm0
vaddss xmm0, xmm1, xmm2
vmovss xmm5, dword [rdi + 0x54]
vaddss xmm6, xmm5, xmm0
bt edx, 0xa
jae 0x1400bf8b6
vmovss xmm0, dword [rax + 0x1a84]
mov rcx, qword [rdi + 0x3c8]
vmulss xmm1, xmm0, dword [rdi + 0x2e8]
vmulss xmm2, xmm1, dword [rdi + 0x2ec]
test rcx, rcx
je 0x1400bf89c
vmulss xmm2, xmm2, dword [rcx + 0x2e8]
vmovss xmm0, dword [rax + 0x1674]
vaddss xmm1, xmm2, dword [rdi + 0x1a0]
vaddss xmm0, xmm0, xmm0
vaddss xmm4, xmm1, xmm0
jmp 0x1400bf8ba
vxorps xmm4, xmm4, xmm4
vmovss xmm3, dword [rdi + 0x50]
vaddss xmm0, xmm5, dword [rdi + 0x5c]
vaddss xmm2, xmm3, dword [rdi + 0x60]
vaddss xmm1, xmm4, xmm6
vminss xmm7, xmm1, xmm0
vaddss xmm0, xmm3, dword [rdi + 0x58]
vminss xmm12, xmm2, xmm0
vmovups xmm0, xmmword [rax + 0x17cc]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vsubss xmm0, xmm7, xmm10
vmovss dword [rbp + 0x53], xmm0
vmaxss xmm0, xmm6, xmm5
vsubss xmm1, xmm12, xmm8
vmovss dword [rbp + 0x4f], xmm1
vaddss xmm0, xmm0, xmm10
vmaxss xmm11, xmm3, xmm3
vaddss xmm1, xmm11, xmm8
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rsp + 0x58], xmm1
vmovd xmm0, ebx
xor r13d, r13d
lea rcx, [rsp + 0x60]
vmovd xmm1, r13d
vpcmpeqd xmm2, xmm0, xmm1
vblendvps xmm6, xmm13, xmm10, xmm2
call fcn.1400aa9d0
mov rcx, qword [rdi + 0x2f8]
lea r8, [rbp + 0x4f]
mov r9d, eax
mov dword [rsp + 0x28], Ordinal_50
lea rdx, [rsp + 0x58]
vmovss dword [rsp + 0x20], xmm6
call fcn.1400c94e0
vmovss xmm6, dword [rsi + 0x167c]
vcomiss xmm6, xmm10
jbe 0x1400bf9fb
vmovss xmm0, dword [rdi + 0x5c]
vaddss xmm1, xmm0, dword [rdi + 0x54]
vcomiss xmm1, xmm7
jbe 0x1400bf9fb
mov rax, qword [0x140317818]
lea rcx, [rsp + 0x60]
vunpcklps xmm1, xmm12, xmm7
vmovups xmm0, xmmword [rax + 0x174c]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rsp + 0x6c], xmm0
vmovss dword [rbp + 0x4f], xmm11
vmovss dword [rbp + 0x53], xmm7
vmovsd qword [rsp + 0x58], xmm1
call fcn.1400aa9d0
mov rcx, qword [rdi + 0x2f8]
lea r8, [rsp + 0x58]
mov r9d, eax
lea rdx, [rbp + 0x4f]
vmovss dword [rsp + 0x20], xmm6
call fcn.1400c82f0
jmp 0x1400bf9fb
xor r13d, r13d
test byte [rdi + 0x429], 1
mov rbx, qword [rdi + 0x448]
vmovaps xmm12, xmmword [rsp + 0x90]
vmovaps xmm11, xmmword [rsp + 0xa0]
je 0x1400bfc3d
mov ecx, dword [rbx + 8]
mov eax, ecx
shr eax, 0xd
test al, 1
je 0x1400bfc3d
shr ecx, 0xc
test cl, 1
jne 0x1400bfc3d
vmovss xmm1, dword [rsi + 0x1a80]
vmulss xmm0, xmm1, dword [0x1401e1fc0]
vmovss xmm3, dword [rbx + 0x40]
movsxd rcx, dword [rdi + 0x108]
lea r8, [0x1401e1a91]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [0x1401e1fb0]
vmovss xmm1, dword [rbx + 0x44]
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, eax
vcvttss2si eax, xmm0
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, eax
mov rax, qword [rdi + 0x110]
lea r11, [0x1401e13e0]
vaddss xmm5, xmm2, xmm1
vunpcklps xmm1, xmm3, xmm1
vaddss xmm4, xmm2, xmm3
vmovsd qword [rsp + 0x48], xmm1
vmovsd qword [rsp + 0x60], xmm1
vmovss dword [rsp + 0x68], xmm4
vmovss dword [rsp + 0x6c], xmm5
mov r10d, dword [rax + rcx*4 - 4]
mov r9b, reloc.WLDAP32.dll_Ordinal_35
not r10d
mov edx, r10d
cmp r9b, 0x23
jne 0x1400bfad8
cmp byte [r8], r9b
jne 0x1400bfad8
cmp byte [r8 + 1], r9b
cmove edx, r10d
movzx ecx, dl
movzx eax, r9b
movzx r9d, byte [r8]
xor rcx, rax
shr edx, 8
inc r8
xor edx, dword [r11 + rcx*4]
test r9b, r9b
jne 0x1400bfac5
mov rax, qword [0x140317818]
not edx
cmp dword [rax + 0x1d6c], edx
jne 0x1400bfb0c
mov dword [rax + 0x1d70], edx
cmp dword [rax + 0x1da8], edx
jne 0x1400bfb1b
mov byte [rax + 0x1dac], 1
lea r9, [rsp + 0x40]
mov dword [rsp + 0x20], 0x800
lea r8, [rbp + 0x4f]
lea rcx, [rsp + 0x60]
call fcn.1400dd080
test al, al
je 0x1400bfb43
or byte [rbx + 0xbd], 1
jmp 0x1400bfb84
cmp byte [rsp + 0x40], r12b
je 0x1400bfb95
mov rax, qword [0x140317818]
cmp byte [rax + 0x128], r12b
je 0x1400bfb84
vmovss xmm0, dword [rax + 0x38]
vmovss xmm1, dword [rax + 0x484]
vmulss xmm2, xmm0, xmm0
vcomiss xmm1, xmm2
setae al
test al, al
je 0x1400bfb84
mov r8b, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1400c2040
movzx eax, byte [rbp + 0x4f]
cmp byte [rsp + 0x40], r12b
je 0x1400bfb99
test al, al
jne 0x1400bfba6
jmp 0x1400bfb99
movzx eax, byte [rbp + 0x4f]
test byte [rbx + 0xbc], 2
je 0x1400bfbad
test al, al
jne 0x1400bfbad
mov ecx, reloc.WS2_32.dll_socket
jmp 0x1400bfbb9
test al, al
mov rcx, r13
setne cl
add rcx, 0x15
mov rax, qword [0x140317818]
add rcx, rcx
vaddss xmm1, xmm6, dword [rsp + 0x4c]
vmovss dword [rsp + 0x5c], xmm1
vaddss xmm1, xmm10, dword [rsp + 0x4c]
vmovups xmm0, xmmword [rax + rcx*8 + 0x16fc]
vmovups xmmword [rsp + 0x70], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rax + 0x1638]
vmovss dword [rbp - 0x75], xmm0
vaddss xmm0, xmm10, dword [rsp + 0x48]
vmovss dword [rsp + 0x58], xmm0
vaddss xmm0, xmm6, dword [rsp + 0x48]
lea rcx, [rsp + 0x70]
vmovss dword [rsp + 0x50], xmm0
vmovss dword [rsp + 0x54], xmm1
call fcn.1400aa9d0
mov rcx, qword [rdi + 0x2f8]
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x50]
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x48]
call fcn.1400c97b0
cmp byte [rdi + 0xcc], r12b
je 0x1400bfc4d
xor ecx, ecx
call fcn.1400e1750
cmp byte [rdi + 0xcd], r12b
je 0x1400bfc60
mov ecx, 1
call fcn.1400e1750
test r14b, r14b
je 0x1400bfde4
test r15b, 2
jne 0x1400bfdd2
mov r12d, dword [rbp + 0x6f]
mov r14d, r13d
test r12d, r12d
jle 0x1400bfdd2
mov r15, qword [rbp + 0x77]
lea rsi, [0x14022e818]
vaddss xmm10, xmm8, xmm13
nop dword [rax]
nop word [rax + rax]
vmovss xmm3, dword [rdi + 0x50]
vmovss xmm4, dword [rdi + 0x54]
vaddss xmm0, xmm3, dword [rdi + 0x58]
vsubss xmm1, xmm0, xmm3
vmulss xmm2, xmm1, dword [rsi - 8]
vaddss xmm0, xmm4, dword [rdi + 0x5c]
vsubss xmm1, xmm0, xmm4
vaddss xmm6, xmm2, xmm3
vmulss xmm2, xmm1, dword [rsi - 4]
mov ebx, r14d
vaddss xmm7, xmm2, xmm4
and ebx, 1
je 0x1400bfce2
vmovaps xmm0, xmm8
vmovaps xmm2, xmm9
jmp 0x1400bfcec
vmovaps xmm0, xmm9
vmovaps xmm2, xmm8
vmulss xmm0, xmm0, dword [rsi]
vmulss xmm2, xmm2, dword [rsi + 4]
mov rcx, qword [rdi + 0x2f8]
lea rdx, [rbp + 0x4f]
vaddss xmm1, xmm0, xmm6
vaddss xmm0, xmm2, xmm7
vmovss dword [rbp + 0x53], xmm0
vmovss dword [rbp + 0x4f], xmm1
call fcn.1400bca40
test ebx, ebx
je 0x1400bfd27
vmovaps xmm0, xmm9
vmovaps xmm2, xmm8
jmp 0x1400bfd31
vmovaps xmm0, xmm8
vmovaps xmm2, xmm9
vmulss xmm0, xmm0, dword [rsi]
vmulss xmm2, xmm2, dword [rsi + 4]
mov rcx, qword [rdi + 0x2f8]
lea rdx, [rsp + 0x58]
vaddss xmm1, xmm0, xmm6
vaddss xmm0, xmm2, xmm7
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rsp + 0x58], xmm1
call fcn.1400bca40
vmulss xmm0, xmm10, dword [rsi]
mov eax, dword [rsi + 0xc]
lea rdx, [rsp + 0x50]
mov r9d, dword [rsi + 8]
mov rcx, qword [rdi + 0x2f8]
vaddss xmm1, xmm0, xmm6
vmulss xmm0, xmm10, dword [rsi + 4]
vmovss dword [rsp + 0x50], xmm1
vaddss xmm1, xmm0, xmm7
vmovaps xmm2, xmm13
vmovss dword [rsp + 0x54], xmm1
mov dword [rsp + 0x20], eax
call fcn.1400cd520
mov rbx, qword [rdi + 0x2f8]
mov r9d, dword [r15]
mov rcx, rbx
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
call fcn.1400c6fd0
inc r14d
mov dword [rbx + 0x78], r13d
add rsi, 0x18
add r15, 4
cmp r14d, r12d
jl 0x1400bfca0
cmp qword [rdi + 0x450], 0
jne 0x1400bfde4
mov rcx, rdi
call fcn.1400bfe30
vmovaps xmm10, xmmword [rsp + 0xb0]
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x48]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret