Function at 0x14000ae30
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rbx
push rsi
push r13
lea rbp, [rax - 0x78]
sub rsp, 0x158
test byte [rcx + 0xc], 0x42
mov ebx, r9d
mov r13, qword [0x140100c70]
mov rsi, rcx
jne 0x14000b9e7
cmp byte [rcx + 0xa8], 0
jg 0x14000b9e7
cmp byte [rcx + 0xa9], 0
jg 0x14000b9e7
cmp byte [rcx + 0x8f], 0
je 0x14000b9e7
movss xmm1, dword [r13 + 0x1990]
movss xmm0, dword [rsi + 0x48]
movaps xmm2, xmm1
movzx ecx, byte [r13 + 0xcc]
mulss xmm1, dword [0x1400a7c68]
mov qword [rax - 0x28], rdi
mulss xmm2, dword [0x1400a7cc4]
mov byte [rbp + 0x80], 0
movaps xmmword [rax - 0x58], xmm6
movss xmm6, dword [0x1400a7cb4]
movaps xmmword [rax - 0x68], xmm7
addss xmm0, xmm6
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
addss xmm0, xmm1
movaps xmmword [rax - 0xc8], xmm13
xorps xmm13, xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
movzx eax, cl
neg al
maxss xmm2, xmm0
sbb eax, eax
and eax, 4
mov dword [rsp + 0x38], eax
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1400a7c98]
cvttss2si eax, xmm0
movd xmm11, eax
cvtdq2ps xmm11, xmm11
movss dword [rsp + 0x5c], xmm11
test cl, cl
je 0x14000af62
movss xmm8, dword [0x1400a7d04]
jmp 0x14000af66
movaps xmm8, xmm13
movss xmm14, dword [0x1400a7dc0]
mov dl, 0x4c
movzx r11d, dl
mov qword [rsp + 0x148], r12
mov cl, 0x5b
mov qword [rsp + 0x140], r14
xor cl, 9
movss dword [rsp + 0x58], xmm8
mov al, 0x2a
mov byte [rsp + 0x42], cl
mov r8b, 0x5a
mov qword [rsp + 0x138], r15
mov r9b, 0x40
mov dword [rsi + 0x124], 1
mov r10b, 0x53
mov byte [rsp + 0x40], 9
xor r11b, 9
lea rcx, [rsp + 0x41]
xor al, 9
mov byte [rsp + 0x47], r11b
xor dl, 9
mov byte [rsp + 0x41], al
xor r8b, 9
mov byte [rsp + 0x43], dl
xor r9b, 9
mov byte [rsp + 0x44], r8b
xor r10b, 9
mov byte [rsp + 0x45], r9b
xor edi, edi
mov byte [rsp + 0x46], r10b
movaps xmm9, xmm14
mov byte [rsp + 0x48], dil
movaps xmm10, xmm14
movaps xmm15, xmm14
movaps xmm12, xmm14
call fcn.14000f7c0
movss xmm7, dword [0x1400a7df0]
lea r10, [0x1400a2ee0]
test ebx, ebx
mov rbx, qword [0x140100c70]
jle 0x14000b43f
mov r12, qword [rbp + 0xa0]
lea r14, [0x1400ffd90]
nop word [rax + rax]
movss xmm2, dword [r14 + 8]
movss xmm0, dword [r14 + 0xc]
movaps xmm5, xmm2
movss xmm4, dword [rsi + 0x10]
movaps xmm1, xmm0
addss xmm4, dword [rsi + 0x18]
movss xmm3, dword [rsi + 0x14]
addss xmm3, dword [rsi + 0x1c]
mulss xmm5, xmm11
subss xmm4, dword [rsi + 0x10]
mulss xmm1, xmm11
subss xmm3, dword [rsi + 0x14]
mulss xmm2, xmm8
mulss xmm4, dword [r14]
mulss xmm3, dword [r14 + 4]
addss xmm4, dword [rsi + 0x10]
mulss xmm0, xmm8
addss xmm3, dword [rsi + 0x14]
addss xmm5, xmm4
subss xmm4, xmm2
addss xmm1, xmm3
subss xmm3, xmm0
movss dword [rsp + 0x70], xmm5
comiss xmm4, xmm5
movss dword [rsp + 0x68], xmm4
movss dword [rsp + 0x6c], xmm3
movss dword [rsp + 0x74], xmm1
jbe 0x14000b0d2
movss dword [rsp + 0x68], xmm5
movss dword [rsp + 0x70], xmm4
comiss xmm3, xmm1
jbe 0x14000b0e3
movss dword [rsp + 0x6c], xmm1
movss dword [rsp + 0x74], xmm3
mov eax, dword [rsi + 0xc8]
lea r9, [rsp + 0x78]
dec eax
mov dword [rsp + 0x78], edi
movsxd rcx, eax
mov r8d, 4
mov rax, qword [rsi + 0xd0]
mov edx, dword [rax + rcx*4]
not edx
nop dword [rax]
movzx eax, byte [r9]
lea r9, [r9 + 1]
movzx ecx, dl
xor rcx, rax
mov eax, edx
shr eax, 8
mov edx, dword [r10 + rcx*4]
xor edx, eax
sub r8, 1
jne 0x14000b110
not edx
cmp dword [rbx + 0x1c6c], edx
jne 0x14000b13f
mov dword [rbx + 0x1c70], edx
cmp dword [rbx + 0x1ca8], edx
jne 0x14000b14e
mov byte [rbx + 0x1cac], 1
lea r9, [rsp + 0x30]
mov dword [rsp + 0x20], 0x40800
lea r8, [rsp + 0x31]
lea rcx, [rsp + 0x68]
call fcn.14002b9d0
movzx r15d, byte [rsp + 0x31]
movzx ebx, byte [rsp + 0x30]
test r15b, r15b
jne 0x14000b182
test bl, bl
je 0x14000b3bc
mov eax, edi
and al, 1
neg al
sbb eax, eax
add eax, 6
mov dword [r13 + 0x1fa8], eax
test bl, bl
je 0x14000b3bc
cmp word [r13 + 0x42a], 2
jne 0x14000b1e8
test edi, edi
jne 0x14000b1e8
mov r8, qword [rbp + 0x88]
lea rcx, [rsp + 0x40]
mov rdx, rsi
call fcn.14000a710
mov byte [rbp + 0x80], 1
movss xmm15, dword [rax]
movss xmm12, dword [rax + 4]
call fcn.1400061e0
test bl, bl
je 0x14000b3da
mov eax, reloc.WLDAP32.dll_Ordinal_32
jmp 0x14000b3e5
movss xmm11, dword [r14 + 4]
ucomiss xmm11, xmm6
jp 0x14000b204
jne 0x14000b204
mov rax, qword [rbp + 0xa8]
movss xmm7, dword [rax + 4]
jmp 0x14000b20b
mov rax, qword [rbp + 0xa8]
movss xmm8, dword [r14]
ucomiss xmm8, xmm6
jp 0x14000b21e
jne 0x14000b21e
movss xmm6, dword [rax]
jmp 0x14000b226
movss xmm6, dword [0x1400a7df0]
ucomiss xmm11, xmm13
jp 0x14000b235
jne 0x14000b235
movss xmm5, dword [rax + 0xc]
jmp 0x14000b239
movaps xmm5, xmm14
ucomiss xmm8, xmm13
jp 0x14000b248
jne 0x14000b248
movss xmm4, dword [rax + 8]
jmp 0x14000b24c
movaps xmm4, xmm14
movss xmm1, dword [rsp + 0x58]
movss xmm3, dword [rsp + 0x5c]
movaps xmm0, xmm1
xorps xmm3, xmmword [0x1400a83e0]
mulss xmm1, dword [r14 + 0xc]
movaps xmm2, xmm3
mulss xmm0, dword [r14 + 8]
mulss xmm3, dword [r14 + 0xc]
mulss xmm2, dword [r14 + 8]
subss xmm3, xmm1
subss xmm2, xmm0
mulss xmm3, xmm11
mulss xmm2, xmm8
addss xmm3, xmm1
movss xmm1, dword [r13 + 0x12c]
subss xmm1, dword [r13 + 0x1c94]
addss xmm2, xmm0
movss xmm0, dword [r13 + 0x128]
subss xmm0, dword [r13 + 0x1c90]
addss xmm1, xmm3
addss xmm0, xmm2
comiss xmm7, xmm1
ja 0x14000b2cf
movaps xmm7, xmm5
minss xmm7, xmm1
comiss xmm6, xmm0
ja 0x14000b2db
movaps xmm6, xmm4
minss xmm6, xmm0
movss xmm9, dword [rsi + 0x10]
lea r8, [rsp + 0x60]
movss xmm10, dword [rsi + 0x14]
subss xmm9, xmm6
movss xmm0, dword [rsi + 0x18]
subss xmm10, xmm7
addss xmm0, dword [rsi + 0x10]
movss xmm1, dword [rsi + 0x14]
lea rcx, [rsp + 0x50]
addss xmm1, dword [rsi + 0x1c]
mulss xmm9, xmm8
mov rdx, rsi
mulss xmm10, xmm11
addss xmm9, xmm6
subss xmm6, xmm0
addss xmm10, xmm7
subss xmm7, xmm1
mulss xmm6, xmm8
mulss xmm7, xmm11
addss xmm6, xmm0
addss xmm7, xmm1
subss xmm6, xmm9
subss xmm7, xmm10
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x64], xmm7
call fcn.14000a710
movss xmm0, dword [r14]
ucomiss xmm0, xmm13
movss xmm15, dword [rsp + 0x50]
jp 0x14000b37c
jne 0x14000b37c
movaps xmm0, xmm15
subss xmm0, xmm6
subss xmm9, xmm0
movss xmm0, dword [r14 + 4]
ucomiss xmm0, xmm13
movss xmm12, dword [rsp + 0x54]
jp 0x14000b39e
jne 0x14000b39e
movaps xmm0, xmm12
subss xmm0, xmm7
subss xmm10, xmm0
movss xmm6, dword [0x1400a7cb4]
movss xmm7, dword [0x1400a7df0]
movss xmm8, dword [rsp + 0x58]
movss xmm11, dword [rsp + 0x5c]
test edi, edi
je 0x14000b1d6
test bl, bl
jne 0x14000b1de
test r15b, r15b
jne 0x14000b3da
mov rbx, qword [0x140100c70]
jmp 0x14000b41b
xor eax, eax
test r15b, r15b
setne al
add eax, 0x1e
mov rbx, qword [0x140100c70]
lea rcx, [rsp + 0x78]
add rax, rax
movups xmm1, xmmword [rbx + rax*8 + 0x1638]
movups xmmword [rsp + 0x78], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rbx + 0x1570]
movss dword [rbp - 0x7c], xmm1
call fcn.140004520
mov dword [r12], eax
inc edi
lea r10, [0x1400a2ee0]
add r14, 0x18
add r12, 4
cmp edi, dword [rbp + 0x98]
jl 0x14000b040
lea r10, [0x1400a2ee0]
mov eax, dword [rsp + 0x38]
xor edi, edi
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14000b732
lea r12, [0x1400ffdf0]
nop word [rax + rax]
cmp edi, 1
jbe 0x14000b470
mov r15d, 1
mov r14d, r15d
jmp 0x14000b476
xor r15d, r15d
xor r14d, r14d
movss xmm6, dword [0x1400a7d04]
lea rcx, [rsp + 0x68]
movaps xmm3, xmm11
movss dword [rsp + 0x20], xmm6
mov r8d, edi
mov rdx, rsi
call fcn.14000acf0
mov eax, dword [rsi + 0xc8]
lea ecx, [rdi + 4]
dec eax
mov dword [rsp + 0x38], ecx
movsxd rcx, eax
lea r9, [rsp + 0x38]
mov rax, qword [rsi + 0xd0]
mov r8d, 4
mov edx, dword [rax + rcx*4]
not edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9]
lea r9, [r9 + 1]
movzx ecx, dl
xor rcx, rax
mov eax, edx
shr eax, 8
mov edx, dword [r10 + rcx*4]
xor edx, eax
sub r8, 1
jne 0x14000b4d0
not edx
cmp dword [rbx + 0x1c6c], edx
jne 0x14000b4ff
mov dword [rbx + 0x1c70], edx
cmp dword [rbx + 0x1ca8], edx
jne 0x14000b50e
mov byte [rbx + 0x1cac], 1
lea r9, [rsp + 0x31]
mov dword [rsp + 0x20], 0x40800
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.14002b9d0
cmp byte [rsp + 0x30], 0
movzx ecx, byte [rsp + 0x31]
je 0x14000b548
movss xmm0, dword [r13 + 0x1c64]
comiss xmm0, dword [0x1400a7c54]
ja 0x14000b550
test cl, cl
je 0x14000b6bd
neg r15d
sbb eax, eax
add eax, 4
mov dword [r13 + 0x1fa8], eax
test cl, cl
je 0x14000b6bd
mov rax, qword [rbp + 0x90]
mov dword [rax], edi
cmp edi, 3
jne 0x14000b6e6
mov rax, qword [rbp + 0xa8]
movss xmm8, dword [rax + 4]
movaps xmm2, xmm14
movaps xmm3, xmm14
movsd xmm0, qword [rsi + 0x10]
movss xmm1, dword [r13 + r14*4 + 0x128]
subss xmm1, dword [r13 + r14*4 + 0x1c90]
movsd qword [rsp + 0x38], xmm0
addss xmm1, xmm6
movss dword [rsp + r14*4 + 0x38], xmm1
movss xmm0, dword [rsp + 0x3c]
comiss xmm8, xmm0
ja 0x14000b5cd
movaps xmm8, xmm2
minss xmm8, xmm0
movss xmm0, dword [rsp + 0x38]
comiss xmm7, xmm0
ja 0x14000b5df
movaps xmm7, xmm3
minss xmm7, xmm0
movss xmm6, dword [r12 + 8]
lea r8, [rsp + 0x50]
minss xmm6, dword [r12 + 0x10]
movss xmm11, dword [r12 + 0xc]
lea rcx, [rsp + 0x60]
minss xmm11, dword [r12 + 0x14]
movss xmm9, dword [rsi + 0x10]
mov rdx, rsi
movss xmm10, dword [rsi + 0x14]
subss xmm9, xmm7
movss xmm0, dword [rsi + 0x10]
subss xmm10, xmm8
addss xmm0, dword [rsi + 0x18]
movss xmm1, dword [rsi + 0x14]
addss xmm1, dword [rsi + 0x1c]
mulss xmm9, xmm6
mulss xmm10, xmm11
addss xmm9, xmm7
subss xmm7, xmm0
addss xmm10, xmm8
subss xmm8, xmm1
mulss xmm7, xmm6
mulss xmm8, xmm11
addss xmm7, xmm0
addss xmm8, xmm1
subss xmm7, xmm9
subss xmm8, xmm10
movss dword [rsp + 0x50], xmm7
movss dword [rsp + 0x54], xmm8
call fcn.14000a710
ucomiss xmm6, xmm13
movss xmm15, dword [rsp + 0x60]
jp 0x14000b699
jne 0x14000b699
movaps xmm0, xmm15
subss xmm0, xmm7
subss xmm9, xmm0
ucomiss xmm11, xmm13
movss xmm12, dword [rsp + 0x64]
jp 0x14000b6b6
jne 0x14000b6b6
movaps xmm0, xmm12
subss xmm0, xmm8
subss xmm10, xmm0
movss xmm11, dword [rsp + 0x5c]
mov rbx, qword [0x140100c70]
inc edi
add r12, 0x1c
sub qword [rsp + 0x78], 1
je 0x14000b732
movss xmm7, dword [0x1400a7df0]
lea r10, [0x1400a2ee0]
jmp 0x14000b460
movaps xmm8, xmm7
cmp edi, 1
jne 0x14000b6ff
mov rax, qword [rbp + 0xa8]
movss xmm7, dword [rax]
jmp 0x14000b586
cmp edi, 2
jne 0x14000b715
mov rax, qword [rbp + 0xa8]
movss xmm2, dword [rax + 0xc]
jmp 0x14000b58a
movaps xmm2, xmm14
test edi, edi
jne 0x14000b58a
mov rax, qword [rbp + 0xa8]
movss xmm3, dword [rax + 8]
jmp 0x14000b58e
mov rax, qword [rbx + 0x1c20]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0x100]
mov r15, qword [rsp + 0x138]
dec dword [rax + 0xc8]
mov r14, qword [rsp + 0x140]
mov r12, qword [rsp + 0x148]
mov dword [rsi + 0x124], 0
mov rax, qword [r13 + 0x1f80]
test rax, rax
je 0x14000b907
cmp qword [rax + 0x340], rsi
jne 0x14000b907
mov edi, dword [r13 + 0x1e50]
movaps xmm7, xmm13
movaps xmm6, xmm13
cmp edi, 2
jne 0x14000b7df
cmp byte [r13 + 0x141], 0
je 0x14000b7df
movaps xmm3, xmm13
movss dword [rsp + 0x20], xmm13
xor r8d, r8d
lea edx, [rdi - 1]
lea rcx, [rsp + 0x40]
call fcn.140012a30
movsd xmm0, qword [rax]
movsd qword [rsp + 0x38], xmm0
movss xmm7, dword [rsp + 0x3c]
movss xmm6, dword [rsp + 0x38]
cmp edi, 3
jne 0x14000b815
movaps xmm3, xmm13
movss dword [rsp + 0x20], xmm13
xor r8d, r8d
lea edx, [rdi + 1]
lea rcx, [rsp + 0x60]
call fcn.140012a30
movsd xmm0, qword [rax]
movsd qword [rsp + 0x38], xmm0
movss xmm7, dword [rsp + 0x3c]
movss xmm6, dword [rsp + 0x38]
ucomiss xmm6, xmm13
jp 0x14000b829
jne 0x14000b829
ucomiss xmm7, xmm13
jp 0x14000b829
je 0x14000b907
movss xmm1, dword [r13 + 0xc0]
lea rcx, [rsp + 0x68]
minss xmm1, dword [r13 + 0xc4]
movss xmm0, dword [r13 + 0x18]
mulss xmm0, dword [0x1400a7d9c]
mulss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
mov rax, qword [rbp + 0xa8]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [rax]
subss xmm1, dword [rsi + 0x10]
mulss xmm6, xmm0
mulss xmm7, xmm0
subss xmm1, dword [rsi + 0x18]
movss xmm0, dword [rax + 4]
subss xmm0, dword [rsi + 0x14]
maxss xmm6, xmm1
subss xmm0, dword [rsi + 0x1c]
mov byte [r13 + 0x1fa0], 0
mov byte [r13 + 0x1e5b], 1
movups xmm1, xmmword [rbx + 0x1838]
maxss xmm7, xmm0
movups xmmword [rsp + 0x68], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, dword [rbx + 0x1570]
movss dword [rsp + 0x74], xmm1
call fcn.140004520
mov rcx, qword [rbp + 0xa0]
lea r8, [rsp + 0x50]
mov rdx, rsi
mov dword [rcx], eax
lea rcx, [rsp + 0x38]
addss xmm6, dword [rsi + 0x20]
addss xmm7, dword [rsi + 0x24]
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
call fcn.14000a710
mov rbx, qword [0x140100c70]
movss xmm15, dword [rax]
movss xmm12, dword [rax + 4]
ucomiss xmm15, xmm14
mov rdi, qword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
jp 0x14000b927
je 0x14000b94f
test dword [rsi + 0xc], 0x100
movss dword [rsi + 0x20], xmm15
movss dword [rsi + 0x24], xmm12
jne 0x14000b94f
comiss xmm13, dword [rbx + 0x30cc]
jb 0x14000b94f
mov eax, dword [rbx + 0x1c]
mov dword [rbx + 0x30cc], eax
movaps xmm15, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xc0]
ucomiss xmm9, xmm14
movaps xmm14, xmmword [rsp + 0xa0]
jp 0x14000b972
je 0x14000b9ae
test dword [rsi + 0xc], 0x100
cvttss2si eax, xmm9
movd xmm1, eax
cvttss2si eax, xmm10
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
unpcklps xmm1, xmm0
movsd qword [rsi + 0x10], xmm1
jne 0x14000b9ae
comiss xmm13, dword [rbx + 0x30cc]
jb 0x14000b9ae
mov ecx, dword [rbx + 0x1c]
mov dword [rbx + 0x30cc], ecx
movsd xmm0, qword [rsi + 0x20]
movzx eax, byte [rbp + 0x80]
movaps xmm13, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movsd qword [rsi + 0x18], xmm0
add rsp, 0x158
pop r13
pop rsi
pop rbx
pop rbp
ret
xor al, al
add rsp, 0x158
pop r13
pop rsi
pop rbx
pop rbp
ret