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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x118
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
call sub.MSVCP140.dll__Query_perf_frequency
call sub.MSVCP140.dll__Query_perf_counter
call qword [0x180264408]
mov rcx, rax
mov rbx, rax
call fcn.1800af684
xor r13d, r13d
test al, al
je 0x1800c2ed6
mov rcx, rbx
call fcn.1800ec9ac
mov rcx, qword [rax]
call fcn.1800da838
mov rdi, qword [rax]
mov rcx, rdi
call fcn.1800af684
test al, al
je 0x1800c2ed6
mov rcx, rdi
call fcn.1800c22ac
mov rcx, qword [rax]
call fcn.1800af684
test al, al
je 0x1800c2ed6
mov rcx, rbx
call fcn.1800d0898
mov rcx, rax
mov rbx, rax
call fcn.1800af684
test al, al
je 0x1800c2ed6
mov rcx, rbx
call fcn.1800af4b0
mov rcx, rax
mov rbx, rax
call fcn.1800af684
test al, al
je 0x1800c2ed6
call qword [0x180264408]
mov rcx, rax
call fcn.1800ee204
mov rcx, qword [rax]
call fcn.1800e4b5c
movabs rdx, 0xfffffff00000001
movabs r14, 0xffffffff00000001
mov rcx, qword [rax]
test rcx, rcx
je 0x1800c248e
lea rax, [rcx + r14]
cmp rax, rdx
ja 0x1800c248e
mov rcx, qword [rcx + 0x198]
jmp 0x1800c2491
mov rcx, r13
lea rdx, [rbp - 0x80]
call fcn.1800f111c
mov rcx, rbx
mov qword [rbp + 0x78], r13
mov rsi, r13
mov qword [rsp + 0x60], r13
mov r12, r13
mov byte [rbp + 0x60], r13b
call fcn.1800ea22c
test rax, rax
je 0x1800c253e
movabs rcx, 0x164f1c3e7f8501f6
movabs rax, 0x719e850104654bfa
mov qword [rsp + 0x40], rax
movabs rax, 0x6fff66f6d0423b9
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rcx
mov rcx, rbx
mov qword [rsp + 0x50], rax
movdqa xmm0, xmmword [rsp + 0x50]
pxor xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
call fcn.1800ea22c
lea rdx, [rsp + 0x40]
mov rcx, rax
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1800c253e
mov rcx, rbx
call fcn.1800e30ac
cmp dword [rax], r13d
je 0x1800c2ed6
mov rcx, rbx
call fcn.1800d5ed0
test al, al
jne 0x1800c2579
jmp 0x1800c2ed6
mov rcx, rbx
call fcn.1800e87dc
mov rdi, qword [rax]
mov rcx, rdi
call fcn.1800af684
test al, al
je 0x1800c2ed6
mov rcx, rdi
call fcn.1800d8114
mov rcx, qword [rax]
call fcn.1800d7b80
mov rcx, rdi
call fcn.1800d7bfc
mov rcx, qword [rax]
call fcn.1800d7b80
mov rcx, rbx
call fcn.1800ed8ac
movss xmm0, dword [rax]
lea rax, [rbp - 0x80]
addss xmm0, dword [0x180169560]
and dword [rsp + 0x30], esi
and dword [rsp + 0x34], esi
and dword [rsp + 0x38], esi
mov qword [rbp + 0x70], rax
mov rax, qword [0x180263bd0]
movss dword [0x180264524], xmm0
cmp byte [rax + 0x820], r13b
je 0x1800c29f9
mov edi, 0x18
mov qword [rsp + 0x48], r13
mov ecx, edi
call fcn.1801624cc
mov ecx, dword [0x180264848]
or r15, 0xffffffffffffffff
mov r8d, 4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x40], rax
mov rax, qword gs:[0x58]
mov rdx, qword [rax + rcx*8]
mov eax, dword [r8 + rdx]
cmp dword [0x180264548], eax
jg 0x1800c2f0c
mov rdx, qword [0x180263bd0]
lea rbx, [0x180264528]
cmp byte [rdx + 0x821], r13b
je 0x1800c263b
lea r8, [rdx + 0x320]
mov rcx, rbx
add rdx, 0x340
call fcn.1800c18ac
mov rdx, qword [0x180263bd0]
cmp byte [rdx + 0x822], r13b
je 0x1800c2661
lea r8, [rdx + 0x280]
mov rcx, rbx
add rdx, 0x2a0
call fcn.1800c18ac
mov rdx, qword [0x180263bd0]
cmp byte [rdx + 0x823], r13b
je 0x1800c2687
lea r8, [rdx + 0x280]
mov rcx, rbx
add rdx, 0x2e0
call fcn.1800c18ac
mov rdx, qword [0x180263bd0]
cmp byte [rdx + 0x824], r13b
je 0x1800c26a6
lea r8, [rdx + 0x280]
mov rcx, rbx
add rdx, 0x2c0
call fcn.1800c18ac
mov rcx, rdi
mov qword [rsp + 0x58], r13
call fcn.1801624cc
mov r14, rax
mov qword [rsp + 0x50], rax
mov qword [rax], rax
mov qword [rax + 8], rax
mov rdx, qword [0x180263bd0]
cmp byte [rdx + 0x825], r13b
je 0x1800c26eb
add rdx, 0x300
lea r8, [rsp + 0x50]
mov rcx, rbx
call fcn.1800c18ac
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x1800c26fe
mov qword [rbp + 0x78], r13
jmp 0x1800c298e
cmp rax, 1
jne 0x1800c2715
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x10]
jmp 0x1800c28ce
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1800c2817
mov r12, rsi
mov r13, qword [rbx + 0x10]
test rsi, rsi
je 0x1800c27fb
test r12, r12
mov rcx, rsi
cmove r12, r13
call fcn.1800f5790
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1800f111c
mov rcx, qword [rbp + 0x70]
movss xmm11, dword [rax + 4]
movss xmm7, dword [rax]
movss xmm9, dword [rax + 8]
subss xmm11, dword [rcx + 4]
subss xmm7, dword [rcx]
subss xmm9, dword [rcx + 8]
mov rcx, r12
call fcn.1800f5790
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.1800f111c
mov rcx, qword [rbp + 0x70]
mulss xmm11, xmm11
movss xmm8, dword [rax + 4]
movss xmm10, dword [rax]
movss xmm6, dword [rax + 8]
subss xmm8, dword [rcx + 4]
subss xmm10, dword [rcx]
subss xmm6, dword [rcx + 8]
mulss xmm7, xmm7
mulss xmm9, xmm9
addss xmm11, xmm7
addss xmm11, xmm9
movaps xmm0, xmm11
call fcn.1800ee594
mulss xmm10, xmm10
movaps xmm5, xmm0
mulss xmm8, xmm8
mulss xmm6, xmm6
addss xmm10, xmm8
addss xmm10, xmm6
movaps xmm0, xmm10
call fcn.1800ee594
comiss xmm0, xmm5
cmova r12, rsi
mov rbx, qword [rbx]
mov rsi, r13
cmp rbx, rdi
jne 0x1800c2729
mov qword [rbp + 0x68], r12
mov r12, qword [rsp + 0x60]
mov r13, qword [rbp + 0x68]
mov rcx, rsi
call fcn.1800f5790
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.1800f111c
mov rdi, qword [rbp + 0x70]
mov rcx, r13
mov rbx, rax
call fcn.1800f5790
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1800f111c
mov rcx, qword [rbp + 0x70]
movss xmm2, dword [rbx + 4]
movss xmm0, dword [rbx]
subss xmm0, dword [rdi]
subss xmm2, dword [rdi + 4]
movss xmm1, dword [rbx + 8]
subss xmm1, dword [rdi + 8]
movss xmm7, dword [rax + 4]
movss xmm8, dword [rax]
movss xmm6, dword [rax + 8]
subss xmm7, dword [rcx + 4]
subss xmm8, dword [rcx]
subss xmm6, dword [rcx + 8]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1800ee594
mulss xmm8, xmm8
movaps xmm5, xmm0
mulss xmm7, xmm7
mulss xmm6, xmm6
addss xmm8, xmm7
addss xmm8, xmm6
movaps xmm0, xmm8
call fcn.1800ee594
comiss xmm0, xmm5
mov edi, 0x18
cmovbe rsi, r13
xor r13d, r13d
mov qword [rbp + 0x78], rsi
test rsi, rsi
je 0x1800c298e
mov rcx, rsi
call fcn.1800f5790
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov rcx, rax
mov r12, rax
call fcn.1800f111c
movsd xmm0, qword [rax]
movsd qword [rsp + 0x30], xmm0
mov ecx, dword [rax + 8]
mov dword [rsp + 0x38], ecx
mov rcx, rsi
call fcn.1800ea22c
inc r15
cmp byte [rax + r15], r13b
jne 0x1800c2914
mov rcx, rsi
call fcn.1800ea22c
or r8d, 0xffffffff
test r15d, r15d
je 0x1800c2975
mov r9d, r15d
movsx edx, byte [rax]
mov ecx, r8d
xor rdx, rcx
shr r8d, 8
movzx ecx, dl
inc rax
lea rdx, [0x1801717e0]
xor r8d, dword [rdx + rcx*4]
sub r9, 1
jne 0x1800c2931
not r8d
cmp r8d, 0x74e38877
jne 0x1800c2975
movss xmm0, dword [rsp + 0x34]
addss xmm0, dword [0x180169550]
movss dword [rsp + 0x34], xmm0
mov rcx, qword [0x180263bd0]
movsd xmm0, qword [rsp + 0x30]
movsd qword [rcx + 0x10], xmm0
mov eax, dword [rsp + 0x38]
mov dword [rcx + 0x18], eax
mov rax, qword [r14 + 8]
mov qword [rax], r13
mov rcx, qword [r14]
test rcx, rcx
je 0x1800c29b0
mov rbx, qword [rcx]
mov rdx, rdi
call fcn.180162508
mov rcx, rbx
test rbx, rbx
jne 0x1800c299d
mov rdx, rdi
mov rcx, r14
call fcn.180162508
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 8]
mov qword [rax], r13
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800c29e2
mov rbx, qword [rcx]
mov rdx, rdi
call fcn.180162508
mov rcx, rbx
test rbx, rbx
jne 0x1800c29cf
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
call fcn.180162508
movabs r14, 0xffffffff00000001
mov rax, qword [0x180263bd0]
cmp byte [rax + 0x518], r13b
je 0x1800c2e95
mov rdi, r13
mov r15, r13
call qword [0x180264408]
mov rcx, rax
call fcn.1800ee204
mov rcx, qword [rax]
call fcn.1800e4b5c
mov rcx, qword [rax]
test rcx, rcx
je 0x1800c2a4d
lea rax, [rcx + r14]
movabs rdx, 0xfffffff00000001
cmp rax, rdx
ja 0x1800c2a4d
mov rcx, qword [rcx + 0x1a0]
jmp 0x1800c2a50
mov rcx, r13
lea rdx, [rsp + 0x20]
call fcn.1800f111c
mov rbx, qword [0x180263bd0]
cmp qword [rbx + 0x248], 1
jb 0x1800c2e2b
jne 0x1800c2b25
mov rax, qword [rbx + 0x240]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x28]
call fcn.1800ee204
mov rcx, qword [rax]
call fcn.1800e4b5c
mov rcx, qword [rax]
test rcx, rcx
je 0x1800c2ab4
lea rax, [rcx + r14]
movabs rdx, 0xfffffff00000001
cmp rax, rdx
ja 0x1800c2ab4
mov rcx, qword [rcx + 0x1a0]
jmp 0x1800c2ab7
mov rcx, r13
lea rdx, [rsp + 0x70]
call fcn.1800f111c
movss xmm2, dword [rax + 4]
movss xmm0, dword [rax]
subss xmm0, dword [rsp + 0x20]
subss xmm2, dword [rsp + 0x24]
movss xmm1, dword [rax + 8]
subss xmm1, dword [rsp + 0x28]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1800ee594
movss xmm5, dword [0x180169574]
comiss xmm5, xmm0
jbe 0x1800c2e2b
mov rax, qword [0x180263bd0]
mov rcx, qword [rax + 0x240]
mov rax, qword [rcx]
mov rsi, qword [rax + 0x28]
jmp 0x1800c2e2b
mov rbx, qword [rbx + 0x240]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], r13b
jne 0x1800c2d00
movabs rsi, 0xfffffff00000001
movabs r12, 0xffffffff00000001
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rbp - 0x70], xmm0
psrldq xmm0, 8
movq r14, xmm0
mov rcx, r14
call fcn.1800af684
test al, al
je 0x1800c2caa
mov rcx, r14
call fcn.1800ecbb8
test al, al
je 0x1800c2caa
mov rcx, qword [0x180263bd0]
lea r8, [rbp + 0x68]
mov eax, dword [rbp - 0x70]
lea rdx, [rbp - 0x60]
add rcx, 0x190
mov dword [rbp + 0x68], eax
call fcn.180033c6c
mov rcx, qword [rax]
cmp byte [rcx + 0x20], r13b
jne 0x1800c2caa
test r15, r15
je 0x1800c2ca7
test rdi, rdi
mov rcx, r15
cmove rdi, r14
call fcn.1800ee204
mov rcx, qword [rax]
call fcn.1800e4b5c
mov rcx, qword [rax]
test rcx, rcx
je 0x1800c2be7
lea rax, [rcx + r12]
cmp rax, rsi
ja 0x1800c2be7
mov rcx, qword [rcx + 0x1a0]
jmp 0x1800c2bea
mov rcx, r13
lea rdx, [rsp + 0x70]
call fcn.1800f111c
movss xmm2, dword [rax + 4]
movss xmm0, dword [rax]
subss xmm0, dword [rsp + 0x20]
subss xmm2, dword [rsp + 0x24]
movss xmm1, dword [rax + 8]
subss xmm1, dword [rsp + 0x28]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1800ee594
mov rcx, rdi
movaps xmm6, xmm0
call fcn.1800ee204
mov rcx, qword [rax]
call fcn.1800e4b5c
mov rcx, qword [rax]
test rcx, rcx
je 0x1800c2c5a
lea rax, [rcx + r12]
cmp rax, rsi
ja 0x1800c2c5a
mov rcx, qword [rcx + 0x1a0]
jmp 0x1800c2c5d
mov rcx, r13
lea rdx, [rsp + 0x50]
call fcn.1800f111c
movss xmm2, dword [rax + 4]
movss xmm0, dword [rax]
subss xmm0, dword [rsp + 0x20]
subss xmm2, dword [rsp + 0x24]
movss xmm1, dword [rax + 8]
subss xmm1, dword [rsp + 0x28]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1800ee594
comiss xmm0, xmm6
cmova rdi, r15
mov r15, r14
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], r13b
je 0x1800c2cd2
mov rax, qword [rbx + 8]
jmp 0x1800c2cc7
cmp rbx, qword [rax + 0x10]
jne 0x1800c2ccd
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], r13b
je 0x1800c2cba
mov rbx, rax
jmp 0x1800c2ced
mov rcx, qword [rax]
mov rbx, rax
cmp byte [rcx + 0x19], r13b
jne 0x1800c2ced
mov rax, qword [rcx]
mov rbx, rcx
mov rcx, rax
cmp byte [rax + 0x19], r13b
je 0x1800c2cde
cmp byte [rbx + 0x19], r13b
je 0x1800c2b4d
mov rsi, qword [rbp + 0x78]
mov r12, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1800af684
test al, al
je 0x1800c2e2b
test rsi, rsi
je 0x1800c2e24
mov rcx, rdi
call fcn.1800f5790
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.1800f111c
mov rcx, rsi
mov rbx, rax
call fcn.1800f5790
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.1800f111c
movss xmm2, dword [rbx + 4]
movss xmm0, dword [rbx]
subss xmm0, dword [rsp + 0x20]
subss xmm2, dword [rsp + 0x24]
movss xmm1, dword [rbx + 8]
subss xmm1, dword [rsp + 0x28]
movss xmm7, dword [rax + 4]
movss xmm8, dword [rax]
movss xmm6, dword [rax + 8]
subss xmm7, dword [rsp + 0x24]
subss xmm8, dword [rsp + 0x20]
subss xmm6, dword [rsp + 0x28]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1800ee594
mulss xmm8, xmm8
movaps xmm5, xmm0
mulss xmm7, xmm7
mulss xmm6, xmm6
addss xmm8, xmm7
addss xmm8, xmm6
movaps xmm0, xmm8
call fcn.1800ee594
comiss xmm0, xmm5
jbe 0x1800c2e2b
mov rcx, rdi
call fcn.1800f5790
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.1800f111c
movss xmm2, dword [rax + 4]
movss xmm0, dword [rax]
subss xmm0, dword [rsp + 0x20]
subss xmm2, dword [rsp + 0x24]
movss xmm1, dword [rax + 8]
subss xmm1, dword [rsp + 0x28]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1800ee594
movss xmm5, dword [0x180169578]
comiss xmm5, xmm0
jbe 0x1800c2e2b
mov byte [rbp + 0x60], 1
mov rsi, rdi
mov rcx, rsi
call fcn.1800af684
test al, al
je 0x1800c2e95
mov rcx, rsi
call fcn.1800ee204
mov rcx, qword [rax]
call fcn.1800e4b5c
mov rcx, qword [rax]
test rcx, rcx
je 0x1800c2e74
movabs rax, 0xffffffff00000001
movabs rdx, 0xfffffff00000001
add rax, rcx
cmp rax, rdx
ja 0x1800c2e74
mov r12, qword [rcx + 0x1a0]
jmp 0x1800c2e77
mov r12, r13
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.1800f111c
movsd xmm0, qword [rax]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rax + 8]
mov dword [rsp + 0x38], eax
mov rdx, qword [0x180263bd0]
lea r8, [rsp + 0x60]
movsd xmm0, qword [rsp + 0x30]
mov rcx, rsi
mov r9b, byte [rbp + 0x60]
movsd qword [rdx + 0x10], xmm0
mov eax, dword [rsp + 0x38]
mov dword [rdx + 0x18], eax
mov rdx, r12
movsd xmm0, qword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
movsd qword [rsp + 0x60], xmm0
mov dword [rsp + 0x68], eax
call fcn.1800d754c
lea r11, [rsp + 0x118]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [0x180264548]
call fcn.1801629f0
cmp dword [0x180264548], r15d
jne 0x1800c2607
lea rax, [rbp + 0x70]
mov qword [0x180264528], rax
lea rcx, [0x180264548]
lea rax, [rsp + 0x30]
mov qword [0x180264530], rax
lea rax, [rbp - 0x80]
mov qword [0x180264538], rax
lea rax, [rsp + 0x40]
mov qword [0x180264540], rax
call fcn.180162990
jmp 0x1800c2607