Function at 0x18000add0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov r9, r8
mov r13, rdx
mov r14, rcx
mov dword [rsp + 0x20], 0xbfbfbd8a
mov dword [rsp + 0x24], 0x92998cb7
xor eax, eax
mov byte [rsp + 0x28], al
xor edi, edi
mov edx, edi
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rsp + rcx + 0x20], al
inc edx
cmp edx, 8
jb 0x18000ae20
mov byte [rsp + 0x28], dil
mov r10, r9
cmp byte [rsp + 0x20], dil
je 0x18000b067
cmp byte [r8], dil
je 0x18000ae93
lea rax, [rsp + 0x20]
sub r8, rax
nop dword [rax]
nop word [rax + rax]
lea rdx, [rsp + 0x20]
movzx eax, byte [rdx]
test al, al
je 0x18000b067
cmp byte [r8 + rdx], al
jne 0x18000ae7f
inc rdx
cmp byte [r8 + rdx], dil
jne 0x18000ae65
cmp byte [rdx], dil
je 0x18000b067
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000ae60
mov dword [rbp + 0x77], 0xbfbfbd87
xor eax, eax
mov byte [rbp + 0x7b], al
mov edx, edi
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx + 0x77], al
inc edx
cmp edx, 4
jb 0x18000aea1
mov byte [rbp + 0x7b], dil
mov r10, r9
cmp byte [rbp + 0x77], dil
je 0x18000b07a
cmp byte [r9], dil
je 0x18000af12
lea rax, [rbp + 0x77]
mov r8, r9
sub r8, rax
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp + 0x77]
movzx eax, byte [rdx]
test al, al
je 0x18000b07a
cmp byte [rdx + r8], al
jne 0x18000aefe
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000aee4
cmp byte [rdx], dil
je 0x18000b07a
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000aee0
mov dword [rbp + 0x77], 0xa3a2ba9a
mov word [rbp + 0x7b], 0xa7b7
xor eax, eax
mov byte [rbp + 0x7d], al
mov edx, edi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx + 0x77], al
inc edx
cmp edx, 6
jb 0x18000af30
mov byte [rbp + 0x7d], dil
cmp byte [rbp + 0x77], dil
je 0x18000b08d
cmp byte [r9], dil
je 0x18000af92
lea rax, [rbp + 0x77]
mov r8, r9
sub r8, rax
nop
lea rdx, [rbp + 0x77]
movzx eax, byte [rdx]
test al, al
je 0x18000b08d
cmp byte [rdx + r8], al
jne 0x18000af7e
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000af64
cmp byte [rdx], dil
je 0x18000b08d
inc r9
inc r8
cmp byte [r9], dil
jne 0x18000af60
cmp dword [0x1800eb5d0], 3
jne 0x18000b75e
movss xmm7, dword [0x1800077d8]
mov rsi, rdi
mov r12d, dword [rbp - 0x41]
movsd xmm6, qword [rbp - 0x49]
mov r15d, dword [rbp + 0x77]
nop word [rax + rax]
mov rax, qword [r14]
mov r8, qword [rax + 0x30]
movzx edx, si
mov rcx, r14
call r8
mov r9, rax
mov dword [rbp - 0x76], 0xe1a0a68c
mov dword [rbp - 0x72], 0xb09cf3e3
mov word [rbp - 0x6e], 0xb3b7
xor eax, eax
mov byte [rbp - 0x6c], al
mov edx, edi
nop
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x76], al
inc edx
cmp edx, 0xa
jb 0x18000aff0
mov byte [rbp - 0x6c], dil
mov r10, r9
cmp byte [rbp - 0x76], dil
je 0x18000b0dc
cmp byte [r9], dil
je 0x18000b0e5
lea rax, [rbp - 0x76]
mov r8, r9
sub r8, rax
nop word [rax + rax]
lea rdx, [rbp - 0x76]
movzx eax, byte [rdx]
test al, al
je 0x18000b0dc
cmp byte [rdx + r8], al
jne 0x18000b04e
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b034
cmp byte [rdx], dil
je 0x18000b0dc
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b030
jmp 0x18000b0e5
test r10, r10
je 0x18000ae93
mov eax, 0xc
jmp 0x18000b87b
test r10, r10
je 0x18000af12
mov eax, 9
jmp 0x18000b87b
test r9, r9
je 0x18000af92
mov dword [rbp - 0x80], 0xb4bea0ac
mov dword [rbp - 0x7c], 0xb4b1bb8d
mov word [rbp - 0x78], 0xb2
nop word [rax + rax]
movsxd rcx, edi
lea eax, [rdi - 0x32]
xor byte [rbp + rcx - 0x80], al
inc edi
cmp edi, 9
jb 0x18000b0b0
mov byte [rbp - 0x77], 0
mov rax, qword [r14]
mov r8, qword [rax + 0x18]
lea rdx, [rbp - 0x80]
mov rcx, r14
call r8
cwde
jmp 0x18000b87b
test r10, r10
jne 0x18000b678
mov dword [rbp + 0x77], 0x8eb5b6ab
xor eax, eax
mov byte [rbp + 0x7b], al
mov edx, edi
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx + 0x77], al
inc edx
cmp edx, 4
jb 0x18000b100
mov byte [rbp + 0x7b], dil
mov r10, r9
cmp byte [rbp + 0x77], dil
je 0x18000b15c
cmp byte [r9], dil
je 0x18000b165
lea rax, [rbp + 0x77]
mov r8, r9
sub r8, rax
nop dword [rax]
lea rdx, [rbp + 0x77]
movzx eax, byte [rdx]
test al, al
je 0x18000b15c
cmp byte [rdx + r8], al
jne 0x18000b14a
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b134
cmp byte [rdx], dil
je 0x18000b15c
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b130
jmp 0x18000b165
test r10, r10
jne 0x18000b678
mov dword [rbp + 0x7f], 0xbab3aa80
xor eax, eax
mov byte [rbp + 0x83], al
mov edx, edi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx + 0x7f], al
inc edx
cmp edx, 4
jb 0x18000b180
mov byte [rbp + 0x83], dil
mov r10, r9
cmp byte [rbp + 0x7f], dil
je 0x18000b1dc
cmp byte [r9], dil
je 0x18000b1e5
lea rax, [rbp + 0x7f]
mov r8, r9
sub r8, rax
lea rdx, [rbp + 0x7f]
movzx eax, byte [rdx]
test al, al
je 0x18000b1dc
cmp byte [rdx + r8], al
jne 0x18000b1ca
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b1b4
cmp byte [rdx], dil
je 0x18000b1dc
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b1b0
jmp 0x18000b1e5
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x80], 0xb4a2a088
mov dword [rbp - 0x7c], 0xa6bda486
mov word [rbp - 0x78], 0xa2
mov edx, edi
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x80], al
inc edx
cmp edx, 9
jb 0x18000b200
mov byte [rbp - 0x77], dil
mov r10, r9
cmp byte [rbp - 0x80], dil
je 0x18000b25c
cmp byte [r9], dil
je 0x18000b265
lea rax, [rbp - 0x80]
mov r8, r9
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x80]
movzx eax, byte [rdx]
test al, al
je 0x18000b25c
cmp byte [rdx + r8], al
jne 0x18000b24a
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b234
cmp byte [rdx], dil
je 0x18000b25c
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b230
jmp 0x18000b265
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x5e], 0xa5bfa088
xor eax, eax
mov byte [rbp - 0x5a], al
mov edx, edi
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x5e], al
inc edx
cmp edx, 4
jb 0x18000b280
mov byte [rbp - 0x5a], dil
mov r10, r9
cmp byte [rbp - 0x5e], dil
je 0x18000b2dc
cmp byte [r9], dil
je 0x18000b2e5
lea rax, [rbp - 0x5e]
mov r8, r9
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x5e]
movzx eax, byte [rdx]
test al, al
je 0x18000b2dc
cmp byte [rdx + r8], al
jne 0x18000b2ca
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b2b4
cmp byte [rdx], dil
je 0x18000b2dc
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b2b0
jmp 0x18000b2e5
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x39], 0xa7b1a38d
mov dword [rbp - 0x35], 0xb0b8b0bb
xor eax, eax
mov byte [rbp - 0x31], al
mov edx, edi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x39], al
inc edx
cmp edx, 8
jb 0x18000b300
mov byte [rbp - 0x31], dil
mov r10, r9
cmp byte [rbp - 0x39], dil
je 0x18000b35c
cmp byte [r9], dil
je 0x18000b365
lea rax, [rbp - 0x39]
mov r8, r9
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x39]
movzx eax, byte [rdx]
test al, al
je 0x18000b35c
cmp byte [rdx + r8], al
jne 0x18000b34a
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b334
cmp byte [rdx], dil
je 0x18000b35c
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b330
jmp 0x18000b365
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x6b], 0xe1a0a68c
mov dword [rbp - 0x67], 0xa587f3e3
mov dword [rbp - 0x63], 0xbdb9bf
mov edx, edi
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x6b], al
inc edx
cmp edx, 0xb
jb 0x18000b380
mov byte [rbp - 0x60], dil
mov r10, r9
cmp byte [rbp - 0x6b], dil
je 0x18000b3dd
cmp byte [r9], dil
je 0x18000b3e6
nop dword [rax]
nop word [rax + rax]
mov rdx, r10
lea r8, [rbp - 0x6b]
movzx eax, byte [r8]
test al, al
je 0x18000b3dd
cmp byte [rdx], al
jne 0x18000b3ce
inc rdx
inc r8
cmp byte [rdx], dil
jne 0x18000b3b7
cmp byte [r8], dil
je 0x18000b3dd
inc r10
cmp byte [r10], dil
jne 0x18000b3b0
jmp 0x18000b3e6
test r10, r10
jne 0x18000b678
mov dword [rsp + 0x20], 0xb8bfbd89
mov word [rsp + 0x24], 0xbc
mov edx, edi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rsp + rcx + 0x20], al
inc edx
cmp edx, 5
jb 0x18000b400
mov byte [rsp + 0x25], dil
mov r10, r9
cmp byte [rsp + 0x20], dil
je 0x18000b45d
cmp byte [r9], dil
je 0x18000b466
lea rax, [rsp + 0x20]
mov r8, r9
sub r8, rax
lea rdx, [rsp + 0x20]
movzx eax, byte [rdx]
test al, al
je 0x18000b45d
cmp byte [rdx + r8], al
jne 0x18000b44b
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b435
cmp byte [rdx], dil
je 0x18000b45d
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b430
jmp 0x18000b466
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x59], 0xb5beae86
xor eax, eax
mov byte [rbp - 0x55], al
mov edx, edi
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x59], al
inc edx
cmp edx, 4
jb 0x18000b480
mov byte [rbp - 0x55], dil
mov r10, r9
cmp byte [rbp - 0x59], dil
je 0x18000b4dc
cmp byte [r9], dil
je 0x18000b4e5
lea rax, [rbp - 0x59]
mov r8, r9
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x59]
movzx eax, byte [rdx]
test al, al
je 0x18000b4dc
cmp byte [rdx + r8], al
jne 0x18000b4ca
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b4b4
cmp byte [rdx], dil
je 0x18000b4dc
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b4b0
jmp 0x18000b4e5
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x11], 0xe1a0a68c
mov dword [rbp - 0xd], 0x93f481f2
mov dword [rbp - 9], 0xbcbfb9bf
mov word [rbp - 5], 0xeba8
xor eax, eax
mov byte [rbp - 3], al
mov edx, edi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x11], al
inc edx
cmp edx, 0xe
jb 0x18000b510
mov byte [rbp - 3], dil
mov r10, r9
cmp byte [rbp - 0x11], dil
je 0x18000b56c
cmp byte [r9], dil
je 0x18000b575
lea rax, [rbp - 0x11]
mov r8, r9
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x11]
movzx eax, byte [rdx]
test al, al
je 0x18000b56c
cmp byte [rdx + r8], al
jne 0x18000b55a
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b544
cmp byte [rdx], dil
je 0x18000b56c
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b540
jmp 0x18000b575
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x29], 0xe1a0a68c
mov dword [rbp - 0x25], 0x93f49ff2
mov dword [rbp - 0x21], 0xbcbfb9bf
mov word [rbp - 0x1d], 0xeba8
xor eax, eax
mov byte [rbp - 0x1b], al
mov edx, edi
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x29], al
inc edx
cmp edx, 0xe
jb 0x18000b5a0
mov byte [rbp - 0x1b], dil
mov r10, r9
cmp byte [rbp - 0x29], dil
je 0x18000b5fc
cmp byte [r9], dil
je 0x18000b601
lea rax, [rbp - 0x29]
mov r8, r9
sub r8, rax
nop dword [rax]
lea rdx, [rbp - 0x29]
movzx eax, byte [rdx]
test al, al
je 0x18000b5fc
cmp byte [rdx + r8], al
jne 0x18000b5ea
inc rdx
cmp byte [rdx + r8], dil
jne 0x18000b5d4
cmp byte [rdx], dil
je 0x18000b5fc
inc r10
inc r8
cmp byte [r10], dil
jne 0x18000b5d0
jmp 0x18000b601
test r10, r10
jne 0x18000b678
mov dword [rbp - 0x54], 0xb7bcae8d
xor eax, eax
mov byte [rbp - 0x50], al
mov edx, edi
nop
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x54], al
inc edx
cmp edx, 4
jb 0x18000b610
mov byte [rbp - 0x50], dil
cmp byte [rbp - 0x54], dil
je 0x18000b66f
cmp byte [r9], dil
je 0x18000b719
lea rax, [rbp - 0x54]
mov r8, r9
sub r8, rax
nop
lea rdx, [rbp - 0x54]
movzx eax, byte [rdx]
test al, al
je 0x18000b66f
cmp byte [r8 + rdx], al
jne 0x18000b65a
inc rdx
cmp byte [r8 + rdx], dil
jne 0x18000b644
cmp byte [rdx], dil
je 0x18000b66f
inc r9
inc r8
cmp byte [r9], dil
jne 0x18000b640
jmp 0x18000b719
test r9, r9
je 0x18000b719
mov rax, qword [r14]
mov r8, qword [rax + 0x38]
mov edx, esi
mov rcx, r14
call r8
mov rbx, rax
mov rcx, qword [r13]
mov rdx, qword [rcx + 0xb8]
mov rcx, r13
call rdx
movss xmm3, dword [rbx + 0x14]
movss xmm6, dword [rbx + 0x10]
movss xmm4, dword [rbx + 0x18]
movaps xmm5, xmm3
mulss xmm5, dword [rax + 4]
movaps xmm0, xmm6
mulss xmm0, dword [rax]
addss xmm5, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [rax + 8]
addss xmm5, xmm1
addss xmm5, dword [rax + 0xc]
movaps xmm2, xmm6
mulss xmm2, dword [rax + 0x10]
movaps xmm0, xmm3
mulss xmm0, dword [rax + 0x14]
addss xmm2, xmm0
movaps xmm1, xmm4
mulss xmm1, dword [rax + 0x18]
addss xmm2, xmm1
addss xmm2, dword [rax + 0x1c]
mulss xmm6, dword [rax + 0x20]
mulss xmm3, dword [rax + 0x24]
addss xmm6, xmm3
mulss xmm4, dword [rax + 0x28]
addss xmm6, xmm4
addss xmm6, dword [rax + 0x2c]
movd r12d, xmm6
movaps xmm6, xmm5
unpcklps xmm6, xmm2
mov ebx, esi
movabs rax, 0x14239a910
mov rax, qword [rax]
movsd qword [rbp - 0x49], xmm6
mov dword [rbp - 0x41], r12d
lea rdx, [rbp - 0x49]
mov rcx, qword [rax + 0x48]
call fcn.180009610
comiss xmm7, xmm0
jbe 0x18000b749
movaps xmm7, xmm0
mov r15d, ebx
inc rsi
cmp rsi, 0x56
jb 0x18000afc0
mov eax, r15d
jmp 0x18000b87b
mov dword [rbp - 0x76], 0xe1a0a68c
mov dword [rbp - 0x72], 0xb09cf3e3
mov word [rbp - 0x6e], 0xb3b7
xor eax, eax
mov byte [rbp - 0x6c], al
mov edx, edi
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x76], al
inc edx
cmp edx, 0xa
jb 0x18000b780
mov byte [rbp - 0x6c], dil
lea rax, [rbp - 0x76]
mov qword [rbp - 0x29], rax
mov dword [rbp - 0x49], 0xe1a0a68c
mov dword [rbp - 0x45], 0xa587f3e3
mov dword [rbp - 0x41], 0xeabdb9bf
xor eax, eax
mov byte [rbp - 0x3d], al
mov edx, edi
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx - 0x32]
xor byte [rbp + rcx - 0x49], al
inc edx
cmp edx, 0xc
jb 0x18000b7c0
mov byte [rbp - 0x3d], dil
lea rax, [rbp - 0x49]
mov qword [rbp - 0x21], rax
mov dword [rbp - 0x6b], 0xe1a0a68c
mov dword [rbp - 0x67], 0xa587f3e3
mov dword [rbp - 0x63], 0xebbdb9bf
xor eax, eax
mov byte [rbp - 0x5f], al
nop word [rax + rax]
movsxd rcx, edi
lea eax, [rdi - 0x32]
xor byte [rbp + rcx - 0x6b], al
inc edi
cmp edi, 0xc
jb 0x18000b800
mov byte [rbp - 0x5f], 0
lea rax, [rbp - 0x6b]
mov qword [rbp - 0x19], rax
mov ecx, 0x18
call fcn.18005e330
mov rdi, rax
mov qword [rbp - 0x11], rax
lea rbx, [rax + 0x18]
mov qword [rbp - 1], rbx
mov r8d, 0x18
lea rdx, [rbp - 0x29]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 9], rbx
movsxd rax, dword [0x1800eb5d0]
mov rdx, qword [rdi + rax*8]
mov rax, qword [r14]
mov r8, qword [rax + 0x18]
mov rcx, r14
call r8
movsx ebx, ax
test rdi, rdi
je 0x18000b879
mov edx, 0x18
mov rcx, rdi
call fcn.18005e6ec
mov eax, ebx
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret