Function at 0x180001680
Capabilities:
Encode data using xor

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 - 0x48]
sub rsp, 0x120
cmp byte [0x1800f6158], 0
mov rdi, r9
movaps xmmword [rax - 0x38], xmm6
mov r13, r8
movaps xmmword [rax - 0x48], xmm7
mov r14, rdx
movaps xmmword [rax - 0x58], xmm8
mov rsi, rcx
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
je 0x180002076
cmp byte [0x1800f6159], 0
je 0x180001714
mov rax, qword [r9]
mov rcx, r9
call qword [rax + 0x30]
cmp eax, 0x17
ja 0x180002076
mov ecx, 0xc38004
bt ecx, eax
jae 0x180002076
mov r15, qword [rbp + 0x70]
lea rdx, [rsp + 0x60]
movsxd r8, dword [0x1800f6160]
mov rbx, qword [rbp + 0x78]
mov rcx, rbx
movsd xmm8, qword [r15 + 0x17c0]
mov r8, qword [rsi + r8*8 + 8]
mov r12d, dword [r15 + 0x17c8]
movsd qword [rsp + 0x70], xmm8
call fcn.1800020c0
xor eax, eax
mov dword [rsp + 0x50], 0x262b2913
mov byte [rsp + 0x56], al
xor edx, edx
mov word [rsp + 0x54], 0x2128
movsxd rcx, edx
lea eax, [rdx + 0x40]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 6
jb 0x180001763
mov rax, qword [rbx]
mov rcx, rbx
mov byte [rsp + 0x56], 0
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.180070c68
test rax, rax
jne 0x180001878
mov dword [rsp + 0x50], 0x2d2d3304
xor edx, edx
mov word [rsp + 0x54], 0x21
movsxd rcx, edx
lea eax, [rdx + 0x40]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 5
jb 0x1800017ac
mov rax, qword [rbx]
mov rcx, rbx
mov byte [rsp + 0x55], 0
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.180070c68
test rax, rax
jne 0x180001878
mov dword [rsp + 0x50], 0x35232408
xor edx, edx
mov dword [rsp + 0x54], 0x3533113d
mov dword [rsp + 0x58], 0x3e2c3a
movsxd rcx, edx
lea eax, [rdx + 0x40]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 0xb
jb 0x1800017fe
mov rax, qword [rbx]
mov rcx, rbx
mov byte [rsp + 0x5b], 0
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.180070c68
test rax, rax
jne 0x180001878
mov dword [rsp + 0x50], 0x2d2d3309
xor edx, edx
mov dword [rsp + 0x54], 0x282409
movsxd rcx, edx
lea eax, [rdx + 0x40]
inc edx
xor byte [rsp + rcx + 0x50], al
cmp edx, 7
jb 0x180001844
mov rax, qword [rbx]
mov rcx, rbx
mov byte [rsp + 0x57], 0
mov rdx, qword [rax + 0x60]
call rdx
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.180070c68
test rax, rax
je 0x1800018a6
mov rax, qword [r14 + 0xd88]
mov rcx, qword [r13 + 0xd88]
movdqu xmm1, xmmword [rax + 0x94]
movdqu xmmword [rcx + 0xa4], xmm1
movdqu xmmword [rcx + 0x84], xmm1
movdqu xmmword [rcx + 0x94], xmm1
mov eax, dword [0x1800f615c]
xor r13d, r13d
test eax, eax
jne 0x180001bb4
mov al, byte [0x1800f61b4]
lea rcx, [rsi + 8]
mov r9, qword [rbp + 0x80]
mov rdx, r15
mov r8, qword [rbp + 0x88]
xorps xmm6, xmm6
and dword [rsp + 0x50], r13d
mov byte [rsp + 0x40], al
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rbx
movsd qword [rbp - 0x80], xmm8
mov dword [rbp - 0x78], r12d
call fcn.1800021b8
test al, al
je 0x180002076
cmp byte [0x1800f61b4], r13b
mov esi, dword [rsp + 0x68]
movsd xmm7, qword [rsp + 0x60]
jne 0x18000197c
mov rdx, qword [rbp + 0x88]
lea rax, [rbp - 0x80]
mov rcx, qword [rbp + 0x80]
lea r9, [rbp - 0x70]
mov dword [rsp + 0x38], 0xa
mov r8, rbx
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x80], xmm7
mov dword [rbp - 0x78], esi
movsd qword [rbp - 0x70], xmm8
mov dword [rbp - 0x68], r12d
call fcn.18000231c
test al, al
je 0x180002076
movss xmm0, dword [0x18009d5d4]
comiss xmm0, dword [rsp + 0x50]
jbe 0x180002076
movss xmm0, dword [0x1800ba264]
comiss xmm0, dword [rsp + 0x50]
jae 0x1800019ab
cmp byte [0x1800ba086], r13b
je 0x180002076
cmp byte [0x1800f615a], r13b
je 0x180001af3
mov rbx, qword [rbp + 0x90]
lea rdx, [rbp - 0x70]
mov rcx, rbx
movsd qword [rbp - 0x70], xmm7
mov dword [rbp - 0x68], esi
mov rax, qword [rbx]
call qword [rax + 0x2f0]
cmp byte [0x1800ba085], r13b
jne 0x180001e4b
movss xmm10, dword [rsp + 0x60]
subss xmm10, dword [rsp + 0x70]
movss xmm7, dword [rsp + 0x64]
subss xmm7, dword [rsp + 0x74]
movd xmm12, esi
movd xmm0, r12d
subss xmm12, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm10
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm2, xmm12
mulss xmm2, xmm12
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1800768ec
movss xmm9, dword [0x18009d5cc]
and dword [rbp - 0x6c], r13d
and dword [rbp - 0x68], r13d
divss xmm10, xmm0
mov dword [rbp - 0x64], 0x3f3504f3
divss xmm12, xmm0
divss xmm7, xmm0
movaps xmm1, xmm10
movaps xmm8, xmm12
movaps xmm0, xmm7
mulss xmm1, xmm10
mulss xmm0, xmm7
mulss xmm8, xmm9
addss xmm0, xmm1
movss dword [rbp - 0x70], xmm8
call fcn.1800768ec
movsd xmm13, qword [0x18009d5c0]
movaps xmm11, xmm0
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm11
comisd xmm1, xmm13
jbe 0x180001e0e
divss xmm7, xmm11
divss xmm10, xmm11
addss xmm7, dword [0x18009d5d0]
addss xmm11, dword [0x18009d5d0]
movaps xmm1, xmm10
mulss xmm1, xmm10
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm0, xmm1
call fcn.1800768ec
movaps xmm8, xmm0
movaps xmm1, xmm11
movaps xmm0, xmm12
mulss xmm1, xmm11
mulss xmm0, xmm12
jmp 0x180001d93
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
cmp eax, 0x32
ja 0x180002076
movabs rcx, 0x600000003e068
bt rcx, rax
jae 0x180002076
mov rcx, qword [rbp + 0x90]
lea rdx, [rbp - 0x70]
movsd qword [rbp - 0x70], xmm7
mov dword [rbp - 0x68], esi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
cmp byte [0x1800ba085], r13b
jne 0x180002076
movss xmm10, dword [rsp + 0x60]
subss xmm10, dword [rsp + 0x70]
movss xmm7, dword [rsp + 0x64]
subss xmm7, dword [rsp + 0x74]
movd xmm12, esi
movd xmm0, r12d
subss xmm12, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm10
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm2, xmm12
mulss xmm2, xmm12
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1800768ec
divss xmm7, xmm0
divss xmm10, xmm0
divss xmm12, xmm0
movaps xmm0, xmm10
movaps xmm1, xmm7
mulss xmm0, xmm10
mulss xmm1, xmm7
jmp 0x180001f21
cmp eax, 1
jne 0x180002076
movsd xmm6, qword [rsp + 0x60]
lea rdx, [rbp - 0x70]
mov esi, dword [rsp + 0x68]
mov rcx, r15
movsd qword [rbp - 0x70], xmm6
mov dword [rbp - 0x68], esi
call fcn.1800015bc
movss xmm1, dword [0x1800ba264]
comiss xmm1, xmm0
jae 0x180001bf5
cmp byte [0x1800ba086], r13b
je 0x180002076
cmp byte [0x1800f61b4], r13b
jne 0x180001c4d
mov rdx, qword [rbp + 0x88]
lea rax, [rbp - 0x70]
mov rcx, qword [rbp + 0x80]
lea r9, [rbp - 0x80]
mov dword [rsp + 0x38], 0xa
mov r8, rbx
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
movsd qword [rbp - 0x70], xmm6
mov dword [rbp - 0x68], esi
movsd qword [rbp - 0x80], xmm8
mov dword [rbp - 0x78], r12d
call fcn.18000231c
test al, al
je 0x180002076
cmp byte [0x1800f615a], r13b
je 0x180001e62
mov rbx, qword [rbp + 0x90]
lea rdx, [rbp - 0x70]
mov rcx, rbx
movsd qword [rbp - 0x70], xmm6
mov dword [rbp - 0x68], esi
mov rax, qword [rbx]
call qword [rax + 0x2f0]
cmp byte [0x1800ba085], r13b
jne 0x180001e4b
movss xmm10, dword [rsp + 0x60]
subss xmm10, dword [rsp + 0x70]
movss xmm7, dword [rsp + 0x64]
subss xmm7, dword [rsp + 0x74]
movd xmm12, esi
movd xmm0, r12d
subss xmm12, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm10
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm2, xmm12
mulss xmm2, xmm12
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1800768ec
movss xmm9, dword [0x18009d5cc]
xorps xmm6, xmm6
and dword [rbp - 0x6c], r13d
and dword [rbp - 0x68], r13d
divss xmm10, xmm0
mov dword [rbp - 0x64], 0x3f3504f3
divss xmm12, xmm0
divss xmm7, xmm0
movaps xmm1, xmm10
movaps xmm8, xmm12
movaps xmm0, xmm7
mulss xmm1, xmm10
mulss xmm0, xmm7
mulss xmm8, xmm9
addss xmm0, xmm1
movss dword [rbp - 0x70], xmm8
call fcn.1800768ec
movsd xmm13, qword [0x18009d5c0]
movaps xmm11, xmm0
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm11
comisd xmm1, xmm13
jbe 0x180001e0e
divss xmm7, xmm11
divss xmm10, xmm11
addss xmm7, dword [0x18009d5d0]
addss xmm11, dword [0x18009d5d0]
movaps xmm1, xmm10
mulss xmm1, xmm10
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm0, xmm1
call fcn.1800768ec
movaps xmm8, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm11
mulss xmm1, xmm12
mulss xmm0, xmm11
addss xmm0, xmm1
call fcn.1800768ec
movss xmm2, dword [0x18009d5e0]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm8
xorps xmm4, xmm4
comisd xmm1, xmm13
jbe 0x180001dce
movaps xmm2, xmm10
movaps xmm4, xmm7
xorps xmm2, xmmword [0x18009d610]
divss xmm2, xmm8
divss xmm4, xmm8
movaps xmm6, xmm11
movaps xmm3, xmm12
divss xmm6, xmm0
divss xmm3, xmm0
movaps xmm9, xmm6
mulss xmm6, xmm2
movaps xmm8, xmm3
mulss xmm9, xmm4
mulss xmm8, xmm4
mulss xmm3, xmm2
movss dword [rbp - 0x64], xmm9
movss dword [rbp - 0x70], xmm8
movss dword [rbp - 0x6c], xmm3
movss dword [rbp - 0x68], xmm6
mov rax, qword [r14 + 0xd88]
movss dword [rax + 0xa4], xmm8
movss dword [rax + 0xa8], xmm3
movss dword [rax + 0xac], xmm6
movss dword [rax + 0xb0], xmm9
movups xmm0, xmmword [rbp - 0x70]
movdqu xmmword [rax + 0x84], xmm0
movdqu xmmword [rax + 0x94], xmm0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x58]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x60]
jmp 0x180002076
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
cmp eax, 0x32
ja 0x180002076
movabs rcx, 0x600000003e068
bt rcx, rax
jae 0x180002076
mov rcx, qword [rbp + 0x90]
lea rdx, [rbp - 0x70]
movsd qword [rbp - 0x70], xmm6
mov dword [rbp - 0x68], esi
mov rax, qword [rcx]
call qword [rax + 0x2f0]
cmp byte [0x1800ba085], r13b
jne 0x180002076
movss xmm10, dword [rsp + 0x60]
subss xmm10, dword [rsp + 0x70]
movss xmm7, dword [rsp + 0x64]
subss xmm7, dword [rsp + 0x74]
movd xmm12, esi
movd xmm0, r12d
subss xmm12, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm10
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm2, xmm12
mulss xmm2, xmm12
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1800768ec
divss xmm10, xmm0
divss xmm7, xmm0
divss xmm12, xmm0
movaps xmm0, xmm7
movaps xmm1, xmm10
mulss xmm0, xmm7
xorps xmm6, xmm6
mulss xmm1, xmm10
movss xmm9, dword [0x18009d5cc]
addss xmm0, xmm1
and dword [rbp - 0x6c], r13d
movaps xmm8, xmm12
and dword [rbp - 0x68], r13d
mulss xmm8, xmm9
mov dword [rbp - 0x64], 0x3f3504f3
movss dword [rbp - 0x70], xmm8
call fcn.1800768ec
movsd xmm13, qword [0x18009d5c0]
xorps xmm1, xmm1
movaps xmm11, xmm0
xorps xmm3, xmm3
cvtss2sd xmm1, xmm11
comisd xmm1, xmm13
jbe 0x180002039
divss xmm7, xmm11
divss xmm10, xmm11
addss xmm7, dword [0x18009d5d0]
addss xmm11, dword [0x18009d5d0]
movaps xmm1, xmm10
mulss xmm1, xmm10
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm0, xmm1
call fcn.1800768ec
movaps xmm8, xmm0
movaps xmm1, xmm12
movaps xmm0, xmm11
mulss xmm1, xmm12
mulss xmm0, xmm11
addss xmm0, xmm1
call fcn.1800768ec
movss xmm2, dword [0x18009d5e0]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm8
xorps xmm4, xmm4
comisd xmm1, xmm13
jbe 0x180001ff9
movaps xmm2, xmm10
movaps xmm4, xmm7
xorps xmm2, xmmword [0x18009d610]
divss xmm2, xmm8
divss xmm4, xmm8
movaps xmm6, xmm11
movaps xmm3, xmm12
divss xmm6, xmm0
divss xmm3, xmm0
movaps xmm9, xmm6
mulss xmm6, xmm2
movaps xmm8, xmm3
mulss xmm9, xmm4
mulss xmm8, xmm4
mulss xmm3, xmm2
movss dword [rbp - 0x64], xmm9
movss dword [rbp - 0x70], xmm8
movss dword [rbp - 0x68], xmm6
movss dword [rbp - 0x6c], xmm3
mov rax, qword [r14 + 0xd88]
movss dword [rax + 0xa4], xmm8
movss dword [rax + 0xa8], xmm3
movss dword [rax + 0xac], xmm6
movss dword [rax + 0xb0], xmm9
movups xmm0, xmmword [rbp - 0x70]
movdqu xmmword [rax + 0x94], xmm0
movdqu xmmword [rax + 0x84], xmm0
lea r11, [rsp + 0x120]
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]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret