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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
movaps xmmword [rax - 0x38], xmm6
xor r12d, r12d
movaps xmmword [rax - 0x48], xmm7
mov rbx, rcx
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov qword [rcx + 4], r12
mov dword [rcx], r12d
test dl, dl
je 0x1800bbbe7
mov rcx, qword [0x18028e870]
call fcn.1800b7fb0
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1800b7c3c
mov esi, 4
xorps xmm6, xmm6
movss xmm0, dword [rax + 4]
movss xmm1, dword [rax + 8]
mov eax, dword [rax]
mov dword [rbx], eax
addss xmm0, dword [0x1800a1234]
movss dword [rbx + 4], xmm0
movss dword [rbx + 8], xmm1
mov r14, qword [0x18028e870]
mov r15d, dword [0x18028de40]
test r14, r14
jne 0x1800bbba7
and dword [rsp + 0x20], r12d
and dword [rsp + 0x24], r12d
and dword [rsp + 0x28], r12d
jmp 0x1800bbbd1
mov rax, qword gs:[0x58]
mov rax, qword [rax + r15*8]
mov eax, dword [rsi + rax]
cmp dword [0x1802c4960], eax
jg 0x1800bc2e1
mov rdx, r14
lea rcx, [rsp + 0x20]
call qword [0x1802c4670]
movsd xmm0, qword [rsp + 0x20]
mov r12d, dword [rsp + 0x28]
movsd qword [rsp + 0x40], xmm0
jmp 0x1800bbcd1
cmp byte [0x18028e635], r12b
xorps xmm6, xmm6
je 0x1800bbc31
movss xmm0, dword [0x1802c4348]
ucomiss xmm0, xmm6
jne 0x1800bbc1a
movss xmm0, dword [0x1802c434c]
ucomiss xmm0, xmm6
jne 0x1800bbc1a
movss xmm0, dword [0x1802c4350]
ucomiss xmm0, xmm6
je 0x1800bbc31
movsd xmm0, qword [0x1802c4348]
mov eax, dword [0x1802c4350]
movsd qword [rcx], xmm0
mov dword [rcx + 8], eax
jmp 0x1800bbc56
mov rcx, qword [0x18028e5f8]
lea rdx, [rsp + 0x30]
mov r8d, 0x2f
call fcn.1800ba528
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbx], xmm0
mov dword [rbx + 8], eax
mov rcx, qword [0x18028e5f8]
call fcn.1800baae4
mov r15d, dword [0x18028de40]
mov esi, 4
mov r14, qword [rax]
test r14, r14
jne 0x1800bbc92
xorps xmm0, xmm0
movss dword [rsp + 0x28], xmm6
unpcklps xmm0, xmm6
movaps xmm1, xmm0
movsd qword [rsp + 0x20], xmm0
movd r12d, xmm6
jmp 0x1800bbccb
mov rax, qword gs:[0x58]
mov rax, qword [rax + r15*8]
mov eax, dword [rsi + rax]
cmp dword [0x1802c4ed4], eax
jg 0x1800bc31f
mov rax, qword [0x1802c4798]
movsd xmm1, qword [r14 + rax]
mov r12d, dword [r14 + rax + 8]
movsd qword [rsp + 0x20], xmm1
mov dword [rsp + 0x28], r12d
movsd qword [rsp + 0x40], xmm1
mov dword [rbp + 0x6f], r12d
call fcn.1800bab60
mov rcx, rax
call fcn.1800f9e2c
mov r13, rax
test rax, rax
je 0x1800bc2ad
mov r8, qword [rax]
lea r10, [0x180096d80]
or r14d, 0xffffffff
test r8, r8
je 0x1800bbf05
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x1800bbf05
mov edx, r14d
or rax, 0xffffffffffffffff
inc rax
cmp byte [r8 + rax], 0
jne 0x1800bbd19
test eax, eax
je 0x1800bbf05
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
xor edx, dword [r10 + rax*4]
sub r9, 1
jne 0x1800bbd2e
not edx
cmp edx, 0x479168ed
jne 0x1800bbf05
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba9a4
mov rcx, rax
call fcn.1800b9e58
mov rcx, qword [rax]
call fcn.1800b8e98
cmp dword [rax], 0x5bd8cc17
je 0x1800bbdad
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba9a4
mov rcx, rax
call fcn.1800b9e58
mov rcx, qword [rax]
call fcn.1800b8e98
cmp dword [rax], 0x5f867078
je 0x1800bbdad
movsd xmm9, qword [0x1800a1288]
jmp 0x1800bbdb6
movsd xmm9, qword [0x1800a12a0]
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba148
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
call fcn.1800b9a2c
movss xmm7, dword [rbx]
movss xmm8, dword [rbx + 4]
movss xmm6, dword [rbx + 8]
movsd xmm0, qword [rax]
subss xmm6, dword [rax + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm7, dword [rsp + 0x20]
subss xmm8, dword [rsp + 0x24]
call fcn.1800bba7c
movss xmm3, dword [0x1800a11d4]
movss xmm1, dword [rsp + 0x40]
mulss xmm1, dword [0x1800a119c]
divss xmm3, xmm0
xorps xmm0, xmm0
mulss xmm8, xmm8
mulss xmm7, xmm7
mulss xmm6, xmm6
addss xmm8, xmm7
addss xmm8, xmm6
sqrtss xmm0, xmm8
mulss xmm3, xmm0
movd xmm0, r12d
mulss xmm0, dword [0x1800a119c]
mulss xmm1, xmm3
mulss xmm0, xmm3
addss xmm1, dword [rbx]
addss xmm0, dword [rbx + 8]
movss dword [rbx], xmm1
movss dword [rbx + 8], xmm0
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba148
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
call fcn.1800b9a2c
movss xmm0, dword [rbx + 4]
subss xmm0, dword [rax + 4]
cvtps2pd xmm6, xmm0
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba148
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
call fcn.1800b9a2c
movss xmm1, dword [rbx + 8]
movaps xmm0, xmm6
movss xmm2, dword [rbx]
subss xmm1, dword [rax + 8]
subss xmm2, dword [rax]
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm1, xmm2
sqrtss xmm1, xmm1
cvtps2pd xmm7, xmm1
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm6, xmm0
call fcn.1800bba7c
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm6, xmm1
divsd xmm7, xmm6
mulsd xmm9, xmm7
mulsd xmm9, xmm7
cvtpd2ps xmm0, xmm9
jmp 0x1800bc2a3
mov rax, qword gs:[0x58]
mov ecx, r15d
mov r15d, esi
mov r12, qword [rax + rcx*8]
mov eax, dword [r12 + r15]
cmp dword [0x1802c546c], eax
jg 0x1800bc35a
cmp qword [0x1802c4c50], 0
je 0x1800bc2ad
mov rcx, r13
call fcn.1800b930c
mov rsi, qword [rax]
test rsi, rsi
je 0x1800bc2ad
mov eax, dword [r12 + r15]
cmp dword [0x1802c53c0], eax
jg 0x1800bc4bc
mov rax, qword [0x1802c5490]
mov rax, qword [rsi + rax]
mov qword [rbp + 0x67], rax
test rax, rax
je 0x1800bc2ad
mov rsi, qword [0x1802c4c50]
test rsi, rsi
je 0x1800bc2ad
mov eax, dword [r12 + r15]
cmp dword [0x1802c5118], eax
jg 0x1800bc4f7
mov rax, qword [0x1802c4f58]
mov rdx, rsi
mov rcx, qword [rbp + 0x67]
call rax
mov rsi, rax
test rax, rax
je 0x1800bc2ad
cmp byte [0x18028e615], 0
movss xmm7, dword [0x1800a1230]
je 0x1800bbfc5
movaps xmm9, xmm7
jmp 0x1800bbfce
movss xmm9, dword [0x1800a11d4]
mov rax, qword [0x1802c43e0]
mov rcx, rsi
call rax
mov eax, dword [r12 + r15]
movaps xmm8, xmm0
cmp dword [0x1802c4820], eax
jg 0x1800bc535
mov rax, qword [0x1802c46b8]
mov rdx, qword [r13]
mulss xmm8, xmm9
mulss xmm8, dword [rax + r13]
test rdx, rdx
je 0x1800bc0a7
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x1800bc0a7
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x1800bc01e
test eax, eax
je 0x1800bc0a7
mov r8d, eax
lea r9, [0x180096d80]
movsx ecx, byte [rdx]
mov eax, r14d
xor rcx, rax
shr r14d, 8
movzx eax, cl
inc rdx
xor r14d, dword [r9 + rax*4]
sub r8, 1
jne 0x1800bc035
not r14d
cmp r14d, 0x643e3521
jne 0x1800bc0a7
cmp byte [0x18028e615], r8b
jne 0x1800bc06f
movss xmm7, dword [0x1800a11d4]
mov rax, qword [0x1802c43e0]
mov rcx, rsi
call rax
mov eax, dword [r12 + r15]
movaps xmm8, xmm0
cmp dword [0x1802c48b8], eax
jg 0x1800bc570
mov rax, qword [0x1802c5380]
xor edx, edx
mov rcx, r13
call rax
mulss xmm8, xmm7
mulss xmm8, xmm0
ucomiss xmm8, xmm6
je 0x1800bc2ad
mov eax, dword [r12 + r15]
cmp dword [0x1802c4990], eax
jg 0x1800bc5ae
mov rax, qword [0x1802c4a30]
mov rcx, qword [rsi + rax]
test rcx, rcx
jne 0x1800bc0db
call fcn.1800b7ecc
jmp 0x1800bc2ad
mov eax, dword [r12 + r15]
cmp dword [0x1802c4838], eax
mov rsi, qword [rcx + 0x10]
jg 0x1800bc5e9
mov rax, qword [0x1802c4688]
mov rcx, rsi
call rax
mov r14, rax
call fcn.1800b7ecc
mov rsi, rax
test r14, r14
je 0x1800bc2ad
test rax, rax
je 0x1800bc2ad
mov ecx, dword [r12 + r15]
cmp dword [0x1802c4a08], ecx
jg 0x1800bc627
mov rax, qword [0x1802c4660]
mov rdx, rsi
mov rcx, r14
call rax
mov rsi, rax
test rax, rax
je 0x1800bc2ad
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba148
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
call fcn.1800b9a2c
movss xmm1, dword [rbx + 4]
xorps xmm4, xmm4
movss xmm2, dword [rbx + 8]
movsd xmm0, qword [rax]
subss xmm2, dword [rax + 8]
movsd qword [rsp + 0x20], xmm0
subss xmm1, dword [rsp + 0x24]
movss xmm0, dword [rbx]
subss xmm0, dword [rsp + 0x20]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [rbp + 0x6f]
mulss xmm0, dword [0x1800a119c]
addss xmm1, xmm2
sqrtss xmm4, xmm1
movss xmm1, dword [rsp + 0x40]
mulss xmm1, dword [0x1800a119c]
divss xmm4, xmm8
movaps xmm3, xmm4
mulss xmm1, xmm4
mulss xmm3, xmm0
addss xmm1, dword [rbx]
addss xmm3, dword [rbx + 8]
movss dword [rbx], xmm1
movss dword [rbx + 8], xmm3
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba148
lea rdx, [rsp + 0x40]
mov rcx, qword [rax]
call fcn.1800b9a2c
movss xmm0, dword [rbx + 4]
subss xmm0, dword [rax + 4]
cvtps2pd xmm9, xmm0
call fcn.1800bab60
mov rcx, rax
call fcn.1800ba148
lea rdx, [rbp - 0x19]
mov rcx, qword [rax]
call fcn.1800b9a2c
movss xmm1, dword [rbx + 8]
xorps xmm7, xmm7
movss xmm0, dword [rbx]
subss xmm0, dword [rax]
subss xmm1, dword [rax + 8]
mov eax, dword [r12 + r15]
cmp dword [0x1802c4890], eax
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
sqrtss xmm7, xmm0
jg 0x1800bc665
mov rax, qword [0x1802c5130]
movaps xmm0, xmm9
cvtps2pd xmm7, xmm7
movss xmm6, dword [rsi + rax]
movaps xmm1, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mulss xmm6, dword [0x1800a1174]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm8
mulsd xmm0, xmm1
divsd xmm7, xmm0
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm7
mulsd xmm7, qword [0x1800a1298]
mulsd xmm0, xmm7
cvtpd2ps xmm0, xmm0
addss xmm0, dword [rbx + 4]
movss dword [rbx + 4], xmm0
lea r11, [rsp + 0x100]
mov rax, rbx
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1802c4960]
call fcn.18012d574
cmp dword [0x1802c4960], 0xffffffff
jne 0x1800bbbc3
mov ecx, 0x1e3bf1a8
call fcn.1800b38ac
lea rcx, [0x1802c4960]
mov r8, qword [rax]
mov qword [0x1802c4670], r8
call fcn.18012d508
jmp 0x1800bbbc3
lea rcx, [0x1802c4ed4]
call fcn.18012d574
cmp dword [0x1802c4ed4], 0xffffffff
jne 0x1800bbcae
mov ecx, 0xcf100582
call fcn.1800b4cd0
lea rcx, [0x1802c4ed4]
mov qword [0x1802c4798], rax
call fcn.18012d508
jmp 0x1800bbcae
lea rcx, [0x1802c546c]
call fcn.18012d574
cmp dword [0x1802c546c], 0xffffffff
jne 0x1800bbf28
movabs rax, 0x7651ca9deac98322
movabs rcx, 0x592656e90156021c
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x79], rax
movabs rax, 0xfc99b4de5f2798fa
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x71], rax
movabs rax, 0xefdf415552880f8
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x69], rax
movabs rax, 0xf1736b8034c7fae8
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x61], rax
movabs rax, 0x9534e33ca9dcdc0d
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x59], rax
mov qword [rbp + 0x67], rcx
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x51], rax
movabs rax, 0x2635a5d087acf76b
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x49], rax
movabs rax, 0x90f0c0bd3a4df788
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x41], rax
movabs rax, 0x639887661408ac9d
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x39], rax
movabs rax, 0x901b38c319be968a
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp - 0x31], rax
movabs rax, 0x9534e33ca9dcac7f
mov qword [rbp + 0x67], rax
mov rax, qword [rbp + 0x67]
mov qword [rbp + 0x67], rcx
lea rcx, [rbp - 0x79]
mov qword [rbp - 0x29], rax
mov rax, qword [rbp + 0x67]
movdqa xmm0, xmmword [rbp - 0x79]
xorps xmm0, xmmword [rbp - 0x49]
movdqa xmm1, xmmword [rbp - 0x69]
xorps xmm1, xmmword [rbp - 0x39]
movdqa xmmword [rbp - 0x79], xmm0
movdqa xmm0, xmmword [rbp - 0x59]
mov qword [rbp - 0x21], rax
xorps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp - 0x59], xmm0
movdqa xmmword [rbp - 0x69], xmm1
call fcn.1800b7e40
lea rcx, [0x1802c546c]
mov qword [0x1802c4c50], rax
call fcn.18012d508
jmp 0x1800bbf28
lea rcx, [0x1802c53c0]
call fcn.18012d574
cmp dword [0x1802c53c0], 0xffffffff
jne 0x1800bbf5a
mov ecx, 0xd10dec8f
call fcn.1800b4cd0
lea rcx, [0x1802c53c0]
mov qword [0x1802c5490], rax
call fcn.18012d508
jmp 0x1800bbf5a
lea rcx, [0x1802c5118]
call fcn.18012d574
cmp dword [0x1802c5118], 0xffffffff
jne 0x1800bbf92
mov ecx, 0x726340ef
call fcn.1800b38ac
lea rcx, [0x1802c5118]
mov r8, qword [rax]
mov qword [0x1802c4f58], r8
call fcn.18012d508
jmp 0x1800bbf92
lea rcx, [0x1802c4820]
call fcn.18012d574
cmp dword [0x1802c4820], 0xffffffff
jne 0x1800bbfee
mov ecx, 0xcdd491cf
call fcn.1800b4cd0
lea rcx, [0x1802c4820]
mov qword [0x1802c46b8], rax
call fcn.18012d508
jmp 0x1800bbfee
lea rcx, [0x1802c48b8]
call fcn.18012d574
cmp dword [0x1802c48b8], 0xffffffff
jne 0x1800bc08f
mov ecx, 0xe205489c
call fcn.1800b38ac
lea rcx, [0x1802c48b8]
mov rdx, qword [rax]
mov qword [0x1802c5380], rdx
call fcn.18012d508
jmp 0x1800bc08f
lea rcx, [0x1802c4990]
call fcn.18012d574
cmp dword [0x1802c4990], 0xffffffff
jne 0x1800bc0c1
mov ecx, 0xc2fb7f15
call fcn.1800b4cd0
lea rcx, [0x1802c4990]
mov qword [0x1802c4a30], rax
call fcn.18012d508
jmp 0x1800bc0c1
lea rcx, [0x1802c4838]
call fcn.18012d574
cmp dword [0x1802c4838], 0xffffffff
jne 0x1800bc0ef
mov ecx, 0xad5514be
call fcn.1800b38ac
lea rcx, [0x1802c4838]
mov rdx, qword [rax]
mov qword [0x1802c4688], rdx
call fcn.18012d508
jmp 0x1800bc0ef
lea rcx, [0x1802c4a08]
call fcn.18012d574
cmp dword [0x1802c4a08], 0xffffffff
jne 0x1800bc128
mov ecx, 0xe2084f16
call fcn.1800b38ac
lea rcx, [0x1802c4a08]
mov rdx, qword [rax]
mov qword [0x1802c4660], rdx
call fcn.18012d508
jmp 0x1800bc128
lea rcx, [0x1802c4890]
call fcn.18012d574
cmp dword [0x1802c4890], 0xffffffff
jne 0x1800bc254
mov ecx, 0x24cf107d
call fcn.1800b4cd0
lea rcx, [0x1802c4890]
mov qword [0x1802c5130], rax
call fcn.18012d508
jmp 0x1800bc254