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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
movaps xmmword [rax - 0x38], xmm6
xor r13d, r13d
cmp byte [0x1803542f3], r13b
mov rbx, rcx
movaps xmmword [rax - 0x48], xmm7
xorps xmm6, xmm6
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rsp + 0x40], xmm11
mov qword [rcx + 4], r13
mov dword [rcx], r13d
je 0x1800a511f
movss xmm0, dword [0x180389e28]
ucomiss xmm0, xmm6
jne 0x1800a5108
movss xmm0, dword [0x180389e2c]
ucomiss xmm0, xmm6
jne 0x1800a5108
movss xmm0, dword [0x180389e30]
ucomiss xmm0, xmm6
je 0x1800a511f
movsd xmm0, qword [0x180389e28]
mov eax, dword [0x180389e30]
movsd qword [rcx], xmm0
mov dword [rcx + 8], eax
jmp 0x1800a5143
mov rcx, qword [0x180354290]
lea rdx, [rbp - 0x49]
mov r8d, 0x2f
call fcn.1800a3fa0
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbx], xmm0
mov dword [rbx + 8], eax
mov rcx, qword [0x180354290]
call fcn.1800a45bc
mov esi, dword [0x180353bc0]
or r14, 0xffffffffffffffff
mov edx, 4
mov rdi, qword [rax]
test rdi, rdi
jne 0x1800a5170
xorps xmm10, xmm10
xorps xmm11, xmm11
jmp 0x1800a51aa
mov rax, qword gs:[0x58]
mov rax, qword [rax + rsi*8]
mov eax, dword [rdx + rax]
cmp dword [0x18038a8dc], eax
jg 0x1800a589d
mov rax, qword [0x18038a320]
movsd xmm0, qword [rdi + rax]
movss xmm11, dword [rdi + rax + 8]
movsd qword [rbp - 0x49], xmm0
movss xmm10, dword [rbp - 0x49]
call fcn.1800a4638
mov rcx, rax
call fcn.1800ccf44
mov r12, rax
test rax, rax
je 0x1800a585b
mov r8, qword [rax]
lea r11, [0x180084b80]
or edi, 0xffffffff
mov r15d, 0x479168ed
test r8, r8
je 0x1800a5268
mov r9, qword [r8 + 0x10]
test r9, r9
je 0x1800a5224
mov edx, edi
mov rax, r14
inc rax
cmp byte [r9 + rax], r13b
jne 0x1800a51ed
test eax, eax
je 0x1800a5224
mov r10d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r9
xor edx, dword [r11 + rax*4]
sub r10, 1
jne 0x1800a51fd
not edx
cmp edx, r15d
je 0x1800a52b1
mov r9, qword [r8 + 0x10]
test r9, r9
je 0x1800a5268
mov edx, edi
mov rax, r14
inc rax
cmp byte [r9 + rax], r13b
jne 0x1800a5232
test eax, eax
je 0x1800a5268
mov r8d, eax
movsx ecx, byte [r9]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r9
xor edx, dword [r11 + rax*4]
sub r8, 1
jne 0x1800a5242
not edx
cmp edx, 0x407209f5
je 0x1800a52b1
call fcn.1800a4638
mov rcx, rax
call fcn.1800a4014
lea rcx, [rax + 0x20]
call fcn.1800ccf20
lea rcx, [rax + 0x18]
cmp rcx, 0x40000
jbe 0x1800a52aa
lea rax, [rcx + 4]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x1800a52aa
cmp dword [rcx], 0x560b474f
je 0x1800a585b
lea r11, [0x180084b80]
mov r8, qword [r12]
test r8, r8
je 0x1800a54a8
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x1800a54a8
mov edx, edi
mov rax, r14
inc rax
cmp byte [r8 + rax], r13b
jne 0x1800a52d0
test eax, eax
je 0x1800a54a8
mov r9d, eax
movsx ecx, byte [r8]
mov eax, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
inc r8
xor edx, dword [r11 + rax*4]
sub r9, 1
jne 0x1800a52e4
not edx
cmp edx, r15d
jne 0x1800a54a8
call fcn.1800a4638
mov rcx, rax
call fcn.1800a4348
mov rcx, rax
call fcn.1800a3ac0
mov rcx, qword [rax]
call fcn.1800a3050
cmp dword [rax], 0x5bd8cc17
je 0x1800a5360
call fcn.1800a4638
mov rcx, rax
call fcn.1800a4348
mov rcx, rax
call fcn.1800a3ac0
mov rcx, qword [rax]
call fcn.1800a3050
cmp dword [rax], 0x5f867078
je 0x1800a5360
movsd xmm9, qword [0x180091998]
jmp 0x1800a5369
movsd xmm9, qword [0x1800919b0]
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3cb8
lea rdx, [rbp - 0x39]
mov rcx, qword [rax]
call fcn.1800a3934
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 [rbp - 0x49], xmm0
subss xmm7, dword [rbp - 0x49]
subss xmm8, dword [rbp - 0x45]
call fcn.1800a5008
movss xmm1, dword [0x18009193c]
mulss xmm10, dword [0x180091900]
mulss xmm11, dword [0x180091900]
divss xmm1, xmm0
mulss xmm8, xmm8
xorps xmm0, xmm0
mulss xmm7, xmm7
mulss xmm6, xmm6
addss xmm8, xmm7
addss xmm8, xmm6
sqrtss xmm0, xmm8
mulss xmm1, xmm0
mulss xmm10, xmm1
mulss xmm11, xmm1
addss xmm10, dword [rbx]
addss xmm11, dword [rbx + 8]
movss dword [rbx], xmm10
movss dword [rbx + 8], xmm11
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3cb8
lea rdx, [rbp - 0x39]
mov rcx, qword [rax]
call fcn.1800a3934
movss xmm0, dword [rbx + 4]
subss xmm0, dword [rax + 4]
cvtps2pd xmm6, xmm0
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3cb8
lea rdx, [rbp - 0x39]
mov rcx, qword [rax]
call fcn.1800a3934
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.1800a5008
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm6, xmm1
divsd xmm7, xmm6
movaps xmm0, xmm7
mulsd xmm0, xmm9
jmp 0x1800a5849
mov rax, qword gs:[0x58]
mov edx, 4
mov r14d, edx
mov r15, qword [rax + rsi*8]
mov eax, dword [r15 + rdx]
cmp dword [0x18038ace4], eax
jg 0x1800a58d8
cmp qword [0x18038a6b0], r13
je 0x1800a585b
mov rcx, r12
call fcn.1800a31c4
mov rsi, qword [rax]
test rsi, rsi
je 0x1800a585b
mov eax, dword [r15 + r14]
cmp dword [0x18038ac58], eax
jg 0x1800a5915
mov rax, qword [0x18038ad20]
mov r13, qword [rsi + rax]
test r13, r13
je 0x1800a585b
mov rsi, qword [0x18038a6b0]
test rsi, rsi
je 0x1800a585b
mov eax, dword [r15 + r14]
cmp dword [0x18038aa70], eax
jg 0x1800a5950
mov rax, qword [0x18038a960]
mov rdx, rsi
mov rcx, r13
call rax
mov rsi, rax
test rax, rax
je 0x1800a585b
cmp byte [0x1803542c6], 0
movss xmm7, dword [0x18009193c]
movss xmm9, dword [0x180091968]
je 0x1800a556d
movaps xmm8, xmm9
jmp 0x1800a5571
movaps xmm8, xmm7
mov eax, dword [r15 + r14]
cmp dword [0x18038abd4], eax
jg 0x1800a598e
mov eax, dword [r15 + r14]
cmp dword [0x18038a3a0], eax
mov r13, qword [0x18038ab90]
jg 0x1800a59c9
mov rax, qword [0x18038a268]
mulss xmm8, dword [rsi + r13]
mov rdx, qword [r12]
mulss xmm8, dword [rax + r12]
test rdx, rdx
je 0x1800a565c
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x1800a565c
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x1800a55c9
test eax, eax
je 0x1800a565c
mov r8d, eax
lea r9, [0x180084b80]
movsx ecx, byte [rdx]
mov eax, edi
xor rcx, rax
shr edi, 8
movzx eax, cl
inc rdx
xor edi, dword [r9 + rax*4]
sub r8, 1
jne 0x1800a55e4
not edi
cmp edi, 0x643e3521
jne 0x1800a565c
cmp byte [0x1803542c6], r8b
je 0x1800a5618
movaps xmm8, xmm9
jmp 0x1800a561c
movaps xmm8, xmm7
mov eax, dword [r15 + r14]
cmp dword [0x18038abd4], eax
jg 0x1800a5a04
mov eax, dword [r15 + r14]
cmp dword [0x18038a418], eax
mov rdi, qword [0x18038ab90]
jg 0x1800a5a3f
mov rax, qword [0x18038ac30]
xor edx, edx
mov rcx, r12
call rax
mulss xmm8, dword [rsi + rdi]
mulss xmm8, xmm0
ucomiss xmm8, xmm6
je 0x1800a585b
mov eax, dword [r15 + r14]
cmp dword [0x18038a4a8], eax
jg 0x1800a5a7d
mov rax, qword [0x18038a540]
mov rcx, qword [rsi + rax]
test rcx, rcx
jne 0x1800a568a
xor edi, edi
jmp 0x1800a56ad
mov eax, dword [r15 + r14]
cmp dword [0x18038a3b0], eax
mov rdi, qword [rcx + 0x10]
jg 0x1800a5ab8
mov rax, qword [0x18038a248]
mov rcx, rdi
call rax
mov rdi, rax
lea rcx, [0x18008b818]
call fcn.1800a2a5c
mov rsi, rax
test rdi, rdi
je 0x1800a585b
test rax, rax
je 0x1800a585b
mov ecx, dword [r15 + r14]
cmp dword [0x18038a518], ecx
jg 0x1800a5af6
mov rax, qword [0x18038a228]
mov rdx, rsi
mov rcx, rdi
call rax
mov rdi, rax
test rax, rax
je 0x1800a585b
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3cb8
lea rdx, [rbp - 0x39]
mov rcx, qword [rax]
call fcn.1800a3934
movss xmm3, dword [rbx + 8]
movss xmm1, dword [rbx + 4]
movaps xmm2, xmm3
mulss xmm10, dword [0x180091900]
subss xmm2, dword [rax + 8]
movsd xmm0, qword [rax]
mulss xmm11, dword [0x180091900]
movsd qword [rbp - 0x49], xmm0
subss xmm1, dword [rbp - 0x45]
movss xmm0, dword [rbx]
subss xmm0, dword [rbp - 0x49]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
addss xmm0, xmm2
xorps xmm2, xmm2
sqrtss xmm2, xmm0
divss xmm2, xmm8
movaps xmm1, xmm2
mulss xmm10, xmm2
mulss xmm1, xmm11
addss xmm10, dword [rbx]
addss xmm3, xmm1
movss dword [rbx], xmm10
movss dword [rbx + 8], xmm3
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3cb8
lea rdx, [rbp - 0x39]
mov rcx, qword [rax]
call fcn.1800a3934
movss xmm0, dword [rbx + 4]
subss xmm0, dword [rax + 4]
cvtps2pd xmm9, xmm0
call fcn.1800a4638
mov rcx, rax
call fcn.1800a3cb8
lea rdx, [rbp - 0x39]
mov rcx, qword [rax]
call fcn.1800a3934
movss xmm1, dword [rbx + 8]
xorps xmm7, xmm7
movss xmm0, dword [rbx]
subss xmm0, dword [rax]
subss xmm1, dword [rax + 8]
mov eax, dword [r15 + r14]
cmp dword [0x18038a3f8], eax
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
sqrtss xmm7, xmm0
jg 0x1800a5b34
mov rax, qword [0x18038aa88]
movaps xmm0, xmm9
cvtps2pd xmm7, xmm7
movss xmm6, dword [rdi + 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 [0x1800918dc]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm8
mulsd xmm0, xmm1
divsd xmm7, xmm0
cvtps2pd xmm0, xmm6
mulsd xmm0, xmm7
mulsd xmm7, qword [0x1800919a8]
mulsd xmm0, xmm7
cvtpd2ps xmm0, xmm0
addss xmm0, dword [rbx + 4]
movss dword [rbx + 4], xmm0
lea r11, [rsp + 0xa0]
mov rax, rbx
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x18038a8dc]
call fcn.180104c30
cmp dword [0x18038a8dc], r14d
jne 0x1800a518c
mov ecx, 0xcf100582
call fcn.18009fff4
lea rcx, [0x18038a8dc]
mov qword [0x18038a320], rax
call fcn.180104bc4
jmp 0x1800a518c
lea rcx, [0x18038ace4]
call fcn.180104c30
cmp dword [0x18038ace4], 0xffffffff
jne 0x1800a54cd
lea rcx, [0x18008b838]
call fcn.1800a2a5c
lea rcx, [0x18038ace4]
mov qword [0x18038a6b0], rax
call fcn.180104bc4
jmp 0x1800a54cd
lea rcx, [0x18038ac58]
call fcn.180104c30
cmp dword [0x18038ac58], 0xffffffff
jne 0x1800a54fe
mov ecx, 0xd10dec8f
call fcn.18009fff4
lea rcx, [0x18038ac58]
mov qword [0x18038ad20], rax
call fcn.180104bc4
jmp 0x1800a54fe
lea rcx, [0x18038aa70]
call fcn.180104c30
cmp dword [0x18038aa70], 0xffffffff
jne 0x1800a5532
mov ecx, 0x726340ef
call fcn.18009edc4
lea rcx, [0x18038aa70]
mov r8, qword [rax]
mov qword [0x18038a960], r8
call fcn.180104bc4
jmp 0x1800a5532
lea rcx, [0x18038abd4]
call fcn.180104c30
cmp dword [0x18038abd4], 0xffffffff
jne 0x1800a5581
mov ecx, 0xfa18f0c6
call fcn.18009fff4
lea rcx, [0x18038abd4]
mov qword [0x18038ab90], rax
call fcn.180104bc4
jmp 0x1800a5581
lea rcx, [0x18038a3a0]
call fcn.180104c30
cmp dword [0x18038a3a0], 0xffffffff
jne 0x1800a5598
mov ecx, 0xcdd491cf
call fcn.18009fff4
lea rcx, [0x18038a3a0]
mov qword [0x18038a268], rax
call fcn.180104bc4
jmp 0x1800a5598
lea rcx, [0x18038abd4]
call fcn.180104c30
cmp dword [0x18038abd4], 0xffffffff
jne 0x1800a562c
mov ecx, 0xfa18f0c6
call fcn.18009fff4
lea rcx, [0x18038abd4]
mov qword [0x18038ab90], rax
call fcn.180104bc4
jmp 0x1800a562c
lea rcx, [0x18038a418]
call fcn.180104c30
cmp dword [0x18038a418], 0xffffffff
jne 0x1800a5643
mov ecx, 0xe205489c
call fcn.18009edc4
lea rcx, [0x18038a418]
mov rdx, qword [rax]
mov qword [0x18038ac30], rdx
call fcn.180104bc4
jmp 0x1800a5643
lea rcx, [0x18038a4a8]
call fcn.180104c30
cmp dword [0x18038a4a8], 0xffffffff
jne 0x1800a5676
mov ecx, 0xc2fb7f15
call fcn.18009fff4
lea rcx, [0x18038a4a8]
mov qword [0x18038a540], rax
call fcn.180104bc4
jmp 0x1800a5676
lea rcx, [0x18038a3b0]
call fcn.180104c30
cmp dword [0x18038a3b0], 0xffffffff
jne 0x1800a569e
mov ecx, 0xad5514be
call fcn.18009edc4
lea rcx, [0x18038a3b0]
mov rdx, qword [rax]
mov qword [0x18038a248], rdx
call fcn.180104bc4
jmp 0x1800a569e
lea rcx, [0x18038a518]
call fcn.180104c30
cmp dword [0x18038a518], 0xffffffff
jne 0x1800a56de
mov ecx, 0xe2084f16
call fcn.18009edc4
lea rcx, [0x18038a518]
mov rdx, qword [rax]
mov qword [0x18038a228], rdx
call fcn.180104bc4
jmp 0x1800a56de
lea rcx, [0x18038a3f8]
call fcn.180104c30
cmp dword [0x18038a3f8], 0xffffffff
jne 0x1800a5802
mov ecx, 0x24cf107d
call fcn.18009fff4
lea rcx, [0x18038a3f8]
mov qword [0x18038aa88], rax
call fcn.180104bc4
jmp 0x1800a5802