Function at 0x140040950
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov r14, r8
mov rdi, rdx
mov rdx, rcx
xorps xmm0, xmm0
movups xmmword [rcx + 0x30], xmm0
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x54], xmm0
movups xmmword [rcx + 0x64], xmm0
movups xmmword [rcx + 0x74], xmm0
movups xmmword [rcx + 0xb8], xmm0
movups xmmword [rcx + 0xc8], xmm0
cmp dword [0x14027aaa4], 0xa
jl 0x1400409c2
mov eax, dword [0x14027aaa0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400409c2
nop word cs:[rax + rax]
nop
jmp 0x1400409c0
mov qword [rdx + 0x110], 0
mov dword [rdx + 0x118], 0
mov qword [rdx + 0x158], 0
lea rcx, [rdx + 0x160]
movups xmmword [rdx + 0xd8], xmm0
movups xmmword [rdx + 0xe8], xmm0
movups xmmword [rdx + 0xf8], xmm0
movups xmmword [rdx + 0x124], xmm0
movups xmmword [rdx + 0x134], xmm0
mov qword [rbp - 8], rdx
call fcn.140094750
mov rbx, qword [rbp - 8]
lea rdx, [rbx + 0xd8]
xorps xmm0, xmm0
movups xmmword [rbx + 0x200], xmm0
movups xmmword [rbx + 0x1f0], xmm0
movups xmmword [rbx + 0x1e0], xmm0
movups xmmword [rbx + 0x1d0], xmm0
mov qword [rbx + 0x158], 0
mov qword [rbx + 0x184], 0
movups xmmword [rdx + 0x10], xmm0
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm0
movups xmmword [rdx + 0x40], xmm0
movups xmmword [rdx + 0x50], xmm0
movups xmmword [rdx + 0x60], xmm0
movups xmmword [rdx + 0x6f], xmm0
movups xmmword [rdx], xmm0
movups xmmword [rbx + 0x1a0], xmm0
movups xmmword [rbx + 0x190], xmm0
movaps xmm1, xmmword [0x1401cb0e0]
movups xmmword [rbx + 0x1b0], xmm1
mov qword [rbx + 0x1c0], 0
mov dword [rbx + 0x1c8], 0xbf800000
mov qword [rbx + 0x210], 0
mov dword [rbx + 0x218], 0
movups xmmword [rbx + 0x220], xmm0
movups xmmword [rbx + 0x230], xmm0
movups xmmword [rbx + 0x240], xmm0
movups xmmword [rbx + 0x250], xmm0
movups xmmword [rbx + 0x260], xmm0
movups xmmword [rbx + 0x270], xmm0
movups xmmword [rbx + 0x280], xmm0
mov qword [rbx + 0x290], 0
movups xmmword [rbx + 0x2b8], xmm0
movups xmmword [rbx + 0x2a8], xmm0
cmp dword [0x14027a098], 0xa
jl 0x140040b22
mov eax, dword [0x14027a09c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140040b22
nop
jmp 0x140040b20
mov qword [rbp - 0x18], rdx
lea rsi, [rbx + 0x2d8]
add rdi, 0x1938
mov rcx, rsi
mov rdx, rdi
call fcn.140041180
mov qword [rbp - 0x10], rsi
xorps xmm0, xmm0
mov rax, qword [rbp - 8]
movups xmmword [rax + 0x3f8], xmm0
movups xmmword [rax + 0x3e8], xmm0
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rdi, rax
add rdi, 1
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140040b7a
add dword [rax + 0x3bc], 1
mov rdx, qword [0x1402808b8]
mov rcx, rdi
call qword [0x140275378]
mov rbx, rax
mov rcx, rax
mov rdx, r14
mov r8, rdi
call fcn.140115f70
mov r15, qword [rbp - 8]
mov qword [r15], rbx
mov dl, byte [r14]
test dl, dl
je 0x140040c06
lea rcx, [r14 + 2]
mov r8d, 0xffffffff
lea rdi, [0x1401ca9b0]
mov esi, 0xffffffff
jmp 0x140040bed
movzx edx, dl
mov eax, esi
shr eax, 8
movzx esi, sil
xor esi, edx
xor eax, dword [rdi + rsi*4]
add rcx, 1
mov edx, ebx
mov esi, eax
test bl, bl
je 0x140040c0b
movzx ebx, byte [rcx - 1]
cmp dl, 0x23
jne 0x140040bd0
cmp bl, 0x23
jne 0x140040bd0
cmp byte [rcx], 0x23
cmove esi, r8d
mov bl, reloc.WLDAP32.dll_Ordinal_35
jmp 0x140040bd0
mov eax, 0xffffffff
not eax
mov dword [r15 + 8], eax
mov ecx, dword [r15 + 0xc8]
cmp ecx, dword [r15 + 0xcc]
jne 0x140040d11
lea ebx, [rcx + 1]
test ecx, ecx
je 0x140040c39
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x140040c3e
mov edx, 8
cmp edx, ebx
cmovg ebx, edx
cmp ecx, ebx
jge 0x140040d11
movsxd rcx, ebx
shl rcx, 2
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140040c65
add dword [rax + 0x3bc], 1
mov rdx, qword [0x1402808b8]
call qword [0x140275378]
mov rdi, rax
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 0xd0]
test rdx, rdx
je 0x140040cf4
mov rsi, qword [rbp - 8]
movsxd r8, dword [rsi + 0xc8]
shl r8, 2
mov rcx, rdi
call fcn.140115f70
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140040ce7
mov eax, dword [0x14027a788]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x14027a78c], 0xa
setl al
or al, dl
nop word cs:[rax + rax]
test al, al
je 0x140040cd0
mov rax, qword [0x1402808a8]
test rax, rax
je 0x140040ce7
add dword [rax + 0x3bc], 0xffffffff
mov rdx, qword [0x1402808b8]
call qword [0x140275380]
mov r15, qword [rbp - 8]
mov qword [r15 + 0xd0], rdi
mov dword [r15 + 0xcc], ebx
mov eax, dword [r15 + 8]
mov ecx, dword [r15 + 0xc8]
mov rdx, qword [r15 + 0xd0]
movsxd rcx, ecx
mov dword [rdx + rcx*4], eax
movsxd rsi, dword [r15 + 0xc8]
lea eax, [rsi + 1]
mov dword [r15 + 0xc8], eax
xorps xmm0, xmm0
movups xmmword [r15 + 0xc], xmm0
movups xmmword [r15 + 0x1c], xmm0
movups xmmword [r15 + 0x2c], xmm0
movups xmmword [r15 + 0x38], xmm0
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add eax, 1
mov dword [r15 + 0x48], eax
mov rax, qword [r15 + 0xd0]
mov r11d, dword [rax + rsi*4]
mov eax, dword [0x14027aad0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x14027aad4], 0xa
setl r8b
or r8b, al
mov r10, qword [0x1402808a8]
mov r9d, dword [r10 + 0x1ae0]
not r11d
cmp r8b, 1
je 0x140040d99
jmp 0x140040e02
mov bl, reloc.WLDAP32.dll_Ordinal_35
lea rsi, [0x1401d8263]
lea rcx, [0x1401ca9b0]
mov eax, r11d
jmp 0x140040dc8
movzx ebx, bl
movzx edi, al
shr eax, 8
xor edi, ebx
xor eax, dword [rcx + rdi*4]
add rsi, 1
mov ebx, edx
test dl, dl
je 0x140040de1
movzx edx, byte [rsi - 1]
cmp bl, 0x23
jne 0x140040db0
cmp dl, 0x23
jne 0x140040db0
cmp byte [rsi], 0x23
cmove eax, r11d
mov dl, reloc.WLDAP32.dll_Ordinal_35
jmp 0x140040db0
not eax
cmp r9d, eax
je 0x140040e79
cmp dword [r10 + 0x1b20], eax
je 0x140040e8d
test r8b, r8b
jne 0x140040e9e
mov bl, reloc.WLDAP32.dll_Ordinal_35
lea rsi, [0x1401d8263]
lea rcx, [0x1401ca9b0]
mov eax, r11d
jmp 0x140040e38
movzx edi, bl
movzx ebx, al
shr eax, 8
xor ebx, edi
xor eax, dword [rcx + rbx*4]
add rsi, 1
mov ebx, edx
test dl, dl
je 0x140040e51
movzx edx, byte [rsi - 1]
cmp bl, 0x23
jne 0x140040e20
cmp dl, 0x23
jne 0x140040e20
cmp byte [rsi], 0x23
cmove eax, r11d
mov dl, reloc.WLDAP32.dll_Ordinal_35
jmp 0x140040e20
not eax
cmp r9d, eax
jne 0x140040e5f
mov dword [r10 + 0x1ae4], r9d
cmp dword [r10 + 0x1b20], eax
jne 0x140040d99
mov byte [r10 + 0x1b24], 1
jmp 0x140040d99
mov dword [r10 + 0x1ae4], r9d
cmp dword [r10 + 0x1b20], eax
jne 0x140040df9
mov byte [r10 + 0x1b24], 1
test r8b, r8b
je 0x140040e02
mov dword [r15 + 0x4c], eax
mov qword [r15 + 0x50], 0
mov dword [r15 + 0x58], 0
movaps xmm0, xmmword [0x1401cb0f0]
movups xmmword [r15 + 0x64], xmm0
xorps xmm0, xmm0
movups xmmword [r15 + 0x7c], xmm0
mov dword [r15 + 0x8c], 0
mov byte [r15 + 0x90], 0xff
mov dword [r15 + 0x92], 0xffff0000
mov word [r15 + 0x96], 0xffff
movabs rax, 0xffff00000000
mov qword [r15 + 0x98], rax
movaps xmm1, xmmword [0x1401cb100]
movups xmmword [r15 + 0xa0], xmm1
movabs rax, 0x7f7fffff7f7fffff
mov qword [r15 + 0xc0], rax
movaps xmm1, xmmword [0x1401cb110]
movups xmmword [r15 + 0xb0], xmm1
movups xmmword [r15 + 0x230], xmm0
movabs rax, 0xbf800000ffffffff
mov qword [r15 + 0x298], rax
mov dword [r15 + 0x2a0], 0
movabs rax, 0xffffffff3f800000
mov qword [r15 + 0x2c8], rax
mov rax, qword [rbp - 0x10]
mov qword [r15 + 0x2d0], rax
mov rax, qword [r15]
mov qword [r15 + 0x318], rax
movups xmmword [r15 + 0x3c8], xmm0
movups xmmword [r15 + 0x3b8], xmm0
movups xmmword [r15 + 0x3f8], xmm0
movups xmmword [r15 + 0x3e8], xmm0
movups xmmword [r15 + 0x3d8], xmm0
mov byte [r15 + 0x408], 0
movaps xmm0, xmmword [0x1401cb120]
movups xmmword [r15 + 0x40c], xmm0
movaps xmm0, xmmword [0x1401cb0b0]
movups xmmword [r15 + 0x41c], xmm0
mov rax, r15
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret