Function at 0x18006453d
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799436
mov rax, qword [rax + rcx]
mov rcx, qword [rax + 0x28]
cmp dword [rcx + 0x10], 0
je 0x1800651a1
xor r12d, r12d
lea rsi, [0x1800b9889]
lea rbx, [0x1800b98db]
movabs r15, 0xe38e38e38e38e38f
lea r13, [0x1800b98a6]
mov qword [rbp - 8], rcx
mov rax, qword [rcx + 8]
mov rdi, qword [rax + r12*8]
mov rcx, rdi
call fcn.180077e4c
mov r14, rax
cmp qword [rdi + 0x78], 0x10
jb 0x1800645c3
mov r8, qword [rdi + 0x60]
jmp 0x1800645c7
lea r8, [rdi + 0x60]
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799446
mov rcx, qword [rax + rcx]
mov rax, qword [0x1800ab740]
movabs rdx, 0x5312f8bfbac5539c
mov rax, qword [rax + rdx]
mov r9, qword [rax + rdi + 0x18]
cmp byte [0x1800b98a5], 0
jne 0x18006463f
mov rax, qword [0x1800ab9b8]
movabs rdx, 0x6a4e2300d87998f2
add rdx, rax
movabs r10, 0x6a4e2300d879990e
add rax, r10
xor r10d, r10d
mov r11b, byte [rdx + r10]
xor r11b, byte [rax + r10]
mov byte [r10 + rsi], r11b
inc r10
cmp r10, 0x1c
jne 0x180064623
mov byte [0x1800b98a5], 1
mov rdx, rsi
call fcn.180062a7e
test r14, r14
je 0x1800646fe
cmp qword [r14 + 0x78], 0x10
jb 0x18006465d
mov r8, qword [r14 + 0x60]
jmp 0x180064664
mov r8, r14
add r8, 0x60
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799446
mov rcx, qword [rax + rcx]
mov rax, qword [0x1800ab740]
movabs rdx, 0x5312f8bfbac5539c
mov rax, qword [rax + rdx]
mov r9, qword [rax + r14 + 0x18]
cmp byte [0x1800b98c6], 0
jne 0x1800646f6
mov rax, qword [0x1800ab9b8]
movabs rdx, 0x6a4e2300d8799956
lea r10, [rax + rdx]
movabs rdx, 0x6a4e2300d879993b
add rax, rdx
xor edx, edx
movabs r14, 0x97b425ed097b425f
mulx r11, r11, r14
shr r11, 4
imul r11, r11, 0xffffffffffffffe5
add r11, rax
mov r11b, byte [rdx + r11]
xor r11b, byte [r10 + rdx]
mov byte [rdx + r13], r11b
inc rdx
cmp rdx, 0x20
jne 0x1800646ca
mov byte [0x1800b98c6], 1
mov rdx, r13
call fcn.180062a7e
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799446
mov r14, qword [rax + rcx]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x758]
cmp byte [0x1800b98da], 0
jne 0x1800649ad
mov rcx, qword [0x1800ab9b8]
movabs rdx, 0x6a4e2300d879998b
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999a5
xor dl, byte [rcx + r8]
mov byte [0x1800b98c7], dl
movabs rdx, 0x6a4e2300d879998c
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999a6
xor dl, byte [rcx + r8]
mov byte [0x1800b98c8], dl
movabs rdx, 0x6a4e2300d879998d
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999a7
xor dl, byte [rcx + r8]
mov byte [0x1800b98c9], dl
movabs rdx, 0x6a4e2300d879998e
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999a8
xor dl, byte [rcx + r8]
mov byte [0x1800b98ca], dl
movabs rdx, 0x6a4e2300d879998f
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999a9
xor dl, byte [rcx + r8]
mov byte [0x1800b98cb], dl
movabs rdx, 0x6a4e2300d8799990
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999aa
xor dl, byte [rcx + r8]
mov byte [0x1800b98cc], dl
movabs rdx, 0x6a4e2300d8799991
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999ab
xor dl, byte [rcx + r8]
mov byte [0x1800b98cd], dl
movabs rdx, 0x6a4e2300d8799992
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999ac
xor dl, byte [rcx + r8]
mov byte [0x1800b98ce], dl
movabs rdx, 0x6a4e2300d8799993
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999ad
xor dl, byte [rcx + r8]
mov byte [0x1800b98cf], dl
movabs rdx, 0x6a4e2300d8799994
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999ae
xor dl, byte [rcx + r8]
mov byte [0x1800b98d0], dl
movabs rdx, 0x6a4e2300d8799995
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999af
xor dl, byte [rcx + r8]
mov byte [0x1800b98d1], dl
movabs rdx, 0x6a4e2300d8799996
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b0
xor dl, byte [rcx + r8]
mov byte [0x1800b98d2], dl
movabs rdx, 0x6a4e2300d8799997
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b1
xor dl, byte [rcx + r8]
mov byte [0x1800b98d3], dl
movabs rdx, 0x6a4e2300d8799998
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b2
xor dl, byte [rcx + r8]
mov byte [0x1800b98d4], dl
movabs rdx, 0x6a4e2300d8799999
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b3
xor dl, byte [rcx + r8]
mov byte [0x1800b98d5], dl
movabs rdx, 0x6a4e2300d879999a
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b4
xor dl, byte [rcx + r8]
mov byte [0x1800b98d6], dl
movabs rdx, 0x6a4e2300d879999b
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b5
xor dl, byte [rcx + r8]
mov byte [0x1800b98d7], dl
movabs rdx, 0x6a4e2300d879999c
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b6
xor dl, byte [rcx + r8]
mov byte [0x1800b98d8], dl
movabs rdx, 0x6a4e2300d879999d
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d87999b7
xor dl, byte [rcx + r8]
mov byte [0x1800b98d9], dl
mov byte [0x1800b98da], 1
movzx r8d, al
mov rcx, r14
lea rdx, [0x1800b98c7]
call fcn.180062a7e
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799446
mov r14, qword [rax + rcx]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x760]
cmp byte [0x1800b98ef], 0
jne 0x180064a41
mov rcx, qword [0x1800ab9b8]
movabs rdx, 0x6a4e2300d87999dd
lea r8, [rcx + rdx]
movabs rdx, 0x6a4e2300d87999cb
add rcx, rdx
xor edx, edx
mulx r9, r9, r15
shr r9, 3
and r9, 0xfffffffffffffffe
lea r9, [r9 + r9*8]
mov r10, rcx
sub r10, r9
mov r9b, byte [r10 + rdx]
xor r9b, byte [r8 + rdx]
mov byte [rdx + rbx], r9b
inc rdx
cmp rdx, 0x14
jne 0x180064a0e
mov byte [0x1800b98ef], 1
movzx r8d, al
mov rcx, r14
mov rdx, rbx
call fcn.180062a7e
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799446
mov r14, qword [rax + rcx]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x768]
cmp byte [0x1800b9903], 0
jne 0x180064cff
mov rcx, qword [0x1800ab9b8]
movabs rdx, 0x6a4e2300d8799a03
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a21
xor dl, byte [rcx + r8]
mov byte [0x1800b98f0], dl
movabs rdx, 0x6a4e2300d8799a04
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a22
xor dl, byte [rcx + r8]
mov byte [0x1800b98f1], dl
movabs rdx, 0x6a4e2300d8799a05
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a23
xor dl, byte [rcx + r8]
mov byte [0x1800b98f2], dl
movabs rdx, 0x6a4e2300d8799a06
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a24
xor dl, byte [rcx + r8]
mov byte [0x1800b98f3], dl
movabs rdx, 0x6a4e2300d8799a07
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a25
xor dl, byte [rcx + r8]
mov byte [0x1800b98f4], dl
movabs rdx, 0x6a4e2300d8799a08
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a26
xor dl, byte [rcx + r8]
mov byte [0x1800b98f5], dl
movabs rdx, 0x6a4e2300d8799a09
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a27
xor dl, byte [rcx + r8]
mov byte [0x1800b98f6], dl
movabs rdx, 0x6a4e2300d8799a0a
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a28
xor dl, byte [rcx + r8]
mov byte [0x1800b98f7], dl
movabs rdx, 0x6a4e2300d8799a0b
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a29
xor dl, byte [rcx + r8]
mov byte [0x1800b98f8], dl
movabs rdx, 0x6a4e2300d8799a0c
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a2a
xor dl, byte [rcx + r8]
mov byte [0x1800b98f9], dl
movabs rdx, 0x6a4e2300d8799a0d
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a2b
xor dl, byte [rcx + r8]
mov byte [0x1800b98fa], dl
movabs rdx, 0x6a4e2300d8799a0e
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a2c
xor dl, byte [rcx + r8]
mov byte [0x1800b98fb], dl
movabs rdx, 0x6a4e2300d8799a0f
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a2d
xor dl, byte [rcx + r8]
mov byte [0x1800b98fc], dl
movabs rdx, 0x6a4e2300d8799a10
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a2e
xor dl, byte [rcx + r8]
mov byte [0x1800b98fd], dl
movabs rdx, 0x6a4e2300d8799a11
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a2f
xor dl, byte [rcx + r8]
mov byte [0x1800b98fe], dl
movabs rdx, 0x6a4e2300d8799a12
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a30
xor dl, byte [rcx + r8]
mov byte [0x1800b98ff], dl
movabs rdx, 0x6a4e2300d8799a13
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a31
xor dl, byte [rcx + r8]
mov byte [0x1800b9900], dl
movabs rdx, 0x6a4e2300d8799a14
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a32
xor dl, byte [rcx + r8]
mov byte [0x1800b9901], dl
movabs rdx, 0x6a4e2300d8799a15
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a33
xor dl, byte [rcx + r8]
mov byte [0x1800b9902], dl
mov byte [0x1800b9903], 1
movzx r8d, al
mov rcx, r14
lea rdx, [0x1800b98f0]
call fcn.180062a7e
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799446
mov r14, qword [rax + rcx]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x788]
cmp byte [0x1800b9913], 0
jne 0x180064f3d
mov rcx, qword [0x1800ab9b8]
movabs rdx, 0x6a4e2300d8799a48
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a64
xor dl, byte [rcx + r8]
mov byte [0x1800b9904], dl
movabs rdx, 0x6a4e2300d8799a49
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a65
xor dl, byte [rcx + r8]
mov byte [0x1800b9905], dl
movabs rdx, 0x6a4e2300d8799a4a
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a66
xor dl, byte [rcx + r8]
mov byte [0x1800b9906], dl
movabs rdx, 0x6a4e2300d8799a4b
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a67
xor dl, byte [rcx + r8]
mov byte [0x1800b9907], dl
movabs rdx, 0x6a4e2300d8799a4c
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a68
xor dl, byte [rcx + r8]
mov byte [0x1800b9908], dl
movabs rdx, 0x6a4e2300d8799a4d
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a69
xor dl, byte [rcx + r8]
mov byte [0x1800b9909], dl
movabs rdx, 0x6a4e2300d8799a4e
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a6a
xor dl, byte [rcx + r8]
mov byte [0x1800b990a], dl
movabs rdx, 0x6a4e2300d8799a4f
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a6b
xor dl, byte [rcx + r8]
mov byte [0x1800b990b], dl
movabs rdx, 0x6a4e2300d8799a50
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a6c
xor dl, byte [rcx + r8]
mov byte [0x1800b990c], dl
movabs rdx, 0x6a4e2300d8799a51
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a6d
xor dl, byte [rcx + r8]
mov byte [0x1800b990d], dl
movabs rdx, 0x6a4e2300d8799a52
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a6e
xor dl, byte [rcx + r8]
mov byte [0x1800b990e], dl
movabs rdx, 0x6a4e2300d8799a53
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a6f
xor dl, byte [rcx + r8]
mov byte [0x1800b990f], dl
movabs rdx, 0x6a4e2300d8799a54
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a70
xor dl, byte [rcx + r8]
mov byte [0x1800b9910], dl
movabs rdx, 0x6a4e2300d8799a55
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a71
xor dl, byte [rcx + r8]
mov byte [0x1800b9911], dl
movabs rdx, 0x6a4e2300d8799a56
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799a72
xor dl, byte [rcx + r8]
mov byte [0x1800b9912], dl
mov byte [0x1800b9913], 1
movzx r8d, al
mov rcx, r14
lea rdx, [0x1800b9904]
call fcn.180062a7e
mov rax, qword [0x1800ab9b0]
movabs rcx, 0x6a4e2300d8799446
mov r14, qword [rax + rcx]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x790]
cmp byte [0x1800b9923], 0
jne 0x18006517b
mov rcx, qword [0x1800ab9b8]
movabs rdx, 0x6a4e2300d8799a8c
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aa6
xor dl, byte [rcx + r8]
mov byte [0x1800b9914], dl
movabs rdx, 0x6a4e2300d8799a8d
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aa7
xor dl, byte [rcx + r8]
mov byte [0x1800b9915], dl
movabs rdx, 0x6a4e2300d8799a8e
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aa8
xor dl, byte [rcx + r8]
mov byte [0x1800b9916], dl
movabs rdx, 0x6a4e2300d8799a8f
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aa9
xor dl, byte [rcx + r8]
mov byte [0x1800b9917], dl
movabs rdx, 0x6a4e2300d8799a90
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aaa
xor dl, byte [rcx + r8]
mov byte [0x1800b9918], dl
movabs rdx, 0x6a4e2300d8799a91
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aab
xor dl, byte [rcx + r8]
mov byte [0x1800b9919], dl
movabs rdx, 0x6a4e2300d8799a92
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aac
xor dl, byte [rcx + r8]
mov byte [0x1800b991a], dl
movabs rdx, 0x6a4e2300d8799a93
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aad
xor dl, byte [rcx + r8]
mov byte [0x1800b991b], dl
movabs rdx, 0x6a4e2300d8799a94
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aae
xor dl, byte [rcx + r8]
mov byte [0x1800b991c], dl
movabs rdx, 0x6a4e2300d8799a95
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799aaf
xor dl, byte [rcx + r8]
mov byte [0x1800b991d], dl
movabs rdx, 0x6a4e2300d8799a96
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799ab0
xor dl, byte [rcx + r8]
mov byte [0x1800b991e], dl
movabs rdx, 0x6a4e2300d8799a97
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799ab1
xor dl, byte [rcx + r8]
mov byte [0x1800b991f], dl
movabs rdx, 0x6a4e2300d8799a98
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799ab2
xor dl, byte [rcx + r8]
mov byte [0x1800b9920], dl
movabs rdx, 0x6a4e2300d8799a99
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799ab3
xor dl, byte [rcx + r8]
mov byte [0x1800b9921], dl
movabs rdx, 0x6a4e2300d8799a9a
mov dl, byte [rcx + rdx]
movabs r8, 0x6a4e2300d8799ab4
xor dl, byte [rcx + r8]
mov byte [0x1800b9922], dl
mov byte [0x1800b9923], 1
movzx r8d, al
mov rcx, r14
lea rdx, [0x1800b9914]
call fcn.180062a7e
inc r12
mov rcx, qword [rbp - 8]
mov eax, dword [rcx + 0x10]
cmp r12, rax
jb 0x1800645a3
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret