Function at 0x140029d90
Capabilities:
Hash data with crc32

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
movaps xmmword [rsp + 0x20], xmm6
mov r15d, ecx
mov r12, qword [0x1406deb70]
mov rbp, qword [r12 + 0x3ea8]
mov eax, dword [0x1406df888]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406df88c], 0xa
setl al
or al, cl
nop word cs:[rax + rax]
nop dword [rax]
test al, al
je 0x140029de0
test r15b, 0x10
jne 0x140029ec2
mov esi, dword [r12 + 0x3f70]
test esi, esi
je 0x14002a0cb
xor eax, eax
mov ebx, 0
cmp dword [r12 + 0x3ef4], esi
jne 0x14002a200
mov ebx, dword [r12 + 0x3f1c]
cmp ebx, 0xffffffff
cmove ebx, eax
movsxd rax, ebx
cmp byte [r12 + rax + 0xd9c], 0
je 0x14002a1fe
cmp byte [rbp + 0x9b], 0
jne 0x14002a1fe
mov byte [r12 + 0x3f01], 0
mov rax, qword [rbp + 0xd8]
mov ecx, dword [rbp + 0xd0]
add ecx, 0xffffffff
movsxd rcx, ecx
mov r14d, dword [rax + rcx*4]
mov rbp, qword [0x1406deb70]
mov eax, dword [0x1406df6e8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406df6ec], 0xa
setl al
or al, cl
nop word cs:[rax + rax]
nop
test al, al
je 0x140029e90
movsxd rax, ebx
cmp byte [rbp + rax + 0xd9c], 0
je 0x14002a1be
movss xmm0, dword [rbp + 0x38]
movss xmm1, dword [rbp + rax*4 + 0x3708]
mulss xmm0, xmm0
ucomiss xmm1, xmm0
setae al
jmp 0x14002a1c0
mov r8d, 0xffffffff
mov bl, reloc.WLDAP32.dll_Ordinal_35
mov ecx, 2
lea rdx, str.SourceExtern
lea rbp, section..rdata
mov esi, 0xffffffff
jmp 0x140029f0c
movzx ebx, bl
movzx edi, sil
shr esi, 8
xor edi, ebx
xor esi, dword [rbp + rdi*4]
add rcx, 1
mov ebx, eax
cmp rcx, 0xf
je 0x140029f26
movzx eax, byte [rcx + rdx - 1]
cmp bl, 0x23
jne 0x140029ef0
cmp al, 0x23
jne 0x140029ef0
cmp byte [rcx + rdx], 0x23
cmove esi, r8d
mov al, reloc.WLDAP32.dll_Ordinal_35
jmp 0x140029ef0
not esi
xor ebx, ebx
mov rbp, r12
xor r14d, r14d
cmp byte [r12 + 0x424c], 0
jne 0x14002a014
mov byte [rbp + 0x424c], 0
xorps xmm6, xmm6
movups xmmword [rbp + 0x4278], xmm6
movups xmmword [rbp + 0x4288], xmm6
mov byte [rbp + 0x4298], 0
movups xmmword [rbp + 0x4260], xmm6
movabs rax, 0xffffffff00000000
mov qword [rbp + 0x4270], rax
mov word [rbp + 0x4299], 0
mov dword [rbp + 0x42b4], 0
mov qword [rbp + 0x42c0], rax
mov qword [rbp + 0x42b8], 0x7f7fffff
mov rcx, qword [rbp + 0x42d8]
test rcx, rcx
je 0x140029fd1
mov qword [rbp + 0x42d0], 0
add dword [rbp + 0xec], 0xffffffff
mov rdx, qword [0x1406deb80]
call qword [0x1402ad008]
mov qword [rbp + 0x42d8], 0
movups xmmword [rbp + 0x42e0], xmm6
mov dword [r12 + 0x426c], esi
mov dword [r12 + 0x4270], r14d
mov byte [r12 + 0x424c], 1
mov dword [r12 + 0x4250], r15d
mov dword [r12 + 0x4258], ebx
cmp esi, dword [r12 + 0x3ef4]
jne 0x14002a014
mov byte [r12 + 0x3f02], 1
cmp dword [0x1406df88c], 0xa
jl 0x14002a02c
mov eax, dword [0x1406df888]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [r12 + 0x3e28]
mov dword [r12 + 0x4254], eax
mov byte [r12 + 0x424d], 1
test r15b, 1
jne 0x14002a0b1
nop dword [rax + rax]
xor ecx, ecx
xor edx, edx
call fcn.140026d70
cmp dword [0x1406df88c], 0xa
jl 0x14002a07e
mov eax, dword [0x1406df888]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14002a07e
xor ecx, ecx
xor edx, edx
call fcn.140026d70
jmp 0x14002a050
cmp dword [r12 + 0x42c0], 0
je 0x14002a0b1
test byte [r12 + 0x42b5], 0x10
je 0x14002a0b1
mov rax, qword [r12 + 0x3ea8]
mov byte [rax + 0x9b], 1
mov byte [rax + 0x9d], 1
mov byte [rax + 0xb8], 1
mov bl, 1
test r15b, 0x12
jne 0x14002a200
and byte [r12 + 0x3f78], 0xfe
jmp 0x14002a200
cmp byte [r12 + 0xd9c], 0
je 0x14002a1fe
cmp byte [rbp + 0x9b], 0
jne 0x14002a1fe
test byte [r12 + 0x3f78], 1
jne 0x14002a11e
cmp dword [r12 + 0x3ef4], 0
je 0x14002a1fe
xor ebx, ebx
cmp qword [r12 + 0x3f10], rbp
jne 0x14002a200
mov eax, r15d
and eax, 8
jne 0x14002a128
jmp 0x14002a200
test r15b, 8
je 0x14002a1fe
lea rsi, [r12 + 0x3f7c]
mov rcx, rbp
mov rdx, rsi
call fcn.140009790
mov r14d, eax
mov dword [r12 + 0x3f70], eax
mov rax, qword [0x1406deb70]
cmp dword [rax + 0x3ef4], r14d
jne 0x14002a15d
mov dword [rax + 0x3ef8], r14d
cmp dword [rax + 0x3f20], r14d
jne 0x14002a16d
mov byte [rax + 0x3f24], 1
mov rcx, rsi
mov edx, r14d
call fcn.14000a440
mov ebx, eax
test al, al
je 0x14002a19c
cmp byte [r12 + 0x36b0], 0
je 0x14002a19c
mov ecx, r14d
mov rdx, rbp
call fcn.140009f90
mov rcx, rbp
call fcn.14000e610
mov esi, dword [r12 + 0x3ef4]
cmp esi, r14d
jne 0x14002a1b1
mov byte [r12 + 0x3f01], bl
xor ebx, ebx
cmp esi, r14d
je 0x140029e49
jmp 0x14002a200
xor eax, eax
mov qword [rbp + 0x3f3c], 0xffffffffffffffff
pcmpeqd xmm0, xmm0
movdqu xmmword [rbp + 0x3f44], xmm0
mov dword [rbp + 0x3f54], 0xffffffff
mov word [rbp + 0x4114], 0
mov cl, byte [rbp + 0x40fd]
mov byte [rbp + 0x40fc], cl
test al, al
jne 0x140029f30
xor ebx, ebx
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret