Function at 0x1800630d8
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x168
lea rbp, [rsp + 0x80]
vmovaps xmmword [rbp + 0xd0], xmm6
mov qword [rbp + 0xc8], 0xfffffffffffffffe
mov rax, qword [rcx]
mov r12, qword [rax]
mov rax, qword [0x1800ab860]
movabs rcx, 0xb63d65709fe9ca44
mov rcx, qword [rax + rcx]
call fcn.180078128
mov rax, qword [0x1800ab860]
movabs r15, 0xb63d65709fe9ca4c
mov rcx, qword [rax + r15]
cmp byte [0x1800b97c1], 0
jne 0x1800631b0
mov rdx, qword [0x1800ab868]
movabs rax, 0xb63d65709fe9cc51
add rax, rdx
movabs r8, 0xb63d65709fe9cc38
add r8, rdx
xor edx, edx
movabs r9, 0x47ae147ae147ae15
lea r10, [0x1800b97a2]
mulx r11, r11, r9
mov rsi, rdx
sub rsi, r11
shr rsi, 1
add rsi, r11
shr rsi, 4
imul r11, rsi, 0xffffffffffffffe7
add r11, r8
mov r11b, byte [rdx + r11]
xor r11b, byte [rax + rdx]
mov byte [rdx + r10], r11b
inc rdx
cmp rdx, 0x1f
jne 0x180063178
mov byte [0x1800b97c1], 1
lea rdx, [0x1800b97a2]
call fcn.180062a7e
xor ecx, ecx
call fcn.180025da8
call fcn.180022ad3
movabs rcx, 0x40c0000040c00000
mov qword [rax + 8], rcx
movabs rcx, 0x4080000040c00000
mov qword [rax + 0x3c], rcx
mov qword [rax + 0x4c], rcx
movabs rcx, 0x3f0000003f000000
mov qword [rax + 0x20], rcx
vmovsd xmm0, qword [0x180096c80]
vmovsd qword [rax + 0x10], xmm0
vxorps xmm6, xmm6, xmm6
vmovlps qword [rax + 0x44], xmm6
vmovss xmm0, dword [0x180096cd4]
vmovlps qword [rax + 0x74], xmm0
xor ecx, ecx
mov dword [rax + 0x80], ecx
mov dword [rax + 0x88], ecx
vmovddup xmm0, qword [0x180097ba8]
vmovups xmmword [rax + 0x2c], xmm0
mov cl, 1
mov byte [rax + 0xbe], cl
mov byte [rax + 0xbc], cl
vmovaps ymm0, ymmword [0x180097ae0]
vmovups ymmword [rax + 0xc8], ymm0
vmovaps xmm0, xmmword [0x180097b00]
vmovups xmmword [rax + 0xe8], xmm0
vmovups xmmword [rax + 0xf8], xmm6
vmovaps ymm0, ymmword [str._n_n_np__]
vmovups ymmword [rax + 0x108], ymm0
vmovups xmmword [rax + 0x128], xmm6
vmovaps zmm0, zmmword [0x180096fc0]
vmovups zmmword [rax + 0x138], zmm0
vmovaps zmm0, zmmword [0x180097000]
vmovups zmmword [rax + 0x178], zmm0
vmovaps zmm0, zmmword [0x180097040]
vmovups zmmword [rax + 0x1b8], zmm0
vmovaps zmm0, zmmword [0x180097080]
vmovups zmmword [rax + 0x1f8], zmm0
vmovaps zmm0, zmmword [0x1800970c0]
vmovups zmmword [rax + 0x238], zmm0
vmovaps zmm0, zmmword [0x180097100]
vmovups zmmword [rax + 0x278], zmm0
vmovaps zmm0, zmmword [0x180097140]
vmovups zmmword [rax + 0x2b8], zmm0
vmovaps zmm0, zmmword [0x180097180]
vmovups zmmword [rax + 0x2f8], zmm0
vmovaps ymm0, ymmword [0x180097b40]
vmovups ymmword [rax + 0x338], ymm0
vmovaps xmm0, xmmword [0x180097b60]
vmovups xmmword [rax + 0x358], xmm0
vmovaps zmm0, zmmword [0x1800971c0]
vmovups zmmword [rax + 0x3b8], zmm0
vmovaps ymm0, ymmword [0x180097b80]
vmovups ymmword [rax + 0x3f8], ymm0
vzeroupper
call fcn.180026aed
mov rsi, rax
vmovups xmmword [rax + 0x18], xmm6
or byte [rax], 0x20
lea rcx, [0x18009c828]
lea r9, [rbp + 0x58]
xor edx, edx
xor r8d, r8d
call sub.SHELL32.dll_SHGetKnownFolderPath
movabs r13, 0xb63d65709fe9ca1c
test eax, eax
js 0x180063d9b
mov rdi, qword [rbp + 0x58]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
vxorps xmm0, xmm0, xmm0
lea rcx, [rbp + 0x30]
vmovups ymmword [rcx], ymm0
mov rdx, rdi
mov r8, rax
vzeroupper
call fcn.1800085ea
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rcx, [rbp - 0x58]
call fcn.18003d6c6
mov dword [rbp - 0x44], 0x41700000
cmp byte [0x1800b97cd], 0
jne 0x18006355b
mov rax, qword [0x1800ab868]
movabs rcx, 0xb63d65709fe9cc8a
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cca3
xor cl, byte [rax + rdx]
mov byte [0x1800b97c2], cl
movabs rcx, 0xb63d65709fe9cc8b
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cca4
xor cl, byte [rax + rdx]
mov byte [0x1800b97c3], cl
movabs rcx, 0xb63d65709fe9cc8c
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cca5
xor cl, byte [rax + rdx]
mov byte [0x1800b97c4], cl
movabs rcx, 0xb63d65709fe9cc8d
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cca6
xor cl, byte [rax + rdx]
mov byte [0x1800b97c5], cl
movabs rcx, 0xb63d65709fe9cc8e
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cca7
xor cl, byte [rax + rdx]
mov byte [0x1800b97c6], cl
movabs rcx, 0xb63d65709fe9cc8f
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cca8
xor cl, byte [rax + rdx]
mov byte [0x1800b97c7], cl
movabs rcx, 0xb63d65709fe9cc90
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cca9
xor cl, byte [rax + rdx]
mov byte [0x1800b97c8], cl
movabs rcx, 0xb63d65709fe9cc91
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9ccaa
xor cl, byte [rax + rdx]
mov byte [0x1800b97c9], cl
movabs rcx, 0xb63d65709fe9cc92
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9ccab
xor cl, byte [rax + rdx]
mov byte [0x1800b97ca], cl
movabs rcx, 0xb63d65709fe9cc93
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9ccac
xor cl, byte [rax + rdx]
mov byte [0x1800b97cb], cl
movabs rcx, 0xb63d65709fe9cc94
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9ccad
xor cl, byte [rax + rdx]
mov byte [0x1800b97cc], cl
mov byte [0x1800b97cd], 1
mov rdi, qword [rsi + 0xa0]
mov rdx, qword [0x1800ab880]
add rdx, r13
lea rcx, [rbp + 0x60]
call fcn.1800086c8
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x60]
call fcn.180002138
lea rcx, [rbp + 0x80]
lea rbx, [rbp + 0xa0]
lea r8, [rbp + 0xc7]
mov rdx, rbx
call fcn.1800643e8
cmp qword [rbp + 0xb8], 0x10
jb 0x1800635b7
mov rbx, qword [rbp + 0xa0]
mov rax, qword [0x1800ab888]
add rax, r13
mov qword [rsp + 0x20], rax
vmovss xmm2, dword [0x180097ba0]
lea r9, [rbp - 0x58]
mov rcx, rdi
mov rdx, rbx
call fcn.18003de7a
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x1800635f9
mov rcx, qword [rbp + 0xa0]
inc rdx
call fcn.18000506c
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rax, qword [rbp + 0x98]
cmp rax, 8
jb 0x180063637
mov rcx, qword [rbp + 0x80]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 7
mov word [rbp + 0x80], 0
mov rax, qword [rbp + 0x78]
cmp rax, 8
jb 0x180063671
mov rcx, qword [rbp + 0x60]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov byte [rbp - 0x10], 1
mov rdi, qword [rsi + 0xa0]
mov rcx, rdi
call fcn.1800444c4
mov rbx, rax
cmp byte [0x1800b97d9], 0
jne 0x180063802
mov rax, qword [0x1800ab868]
movabs rcx, 0xb63d65709fe9ccc4
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce1
xor cl, byte [rax + rdx]
mov byte [0x1800b97ce], cl
movabs rcx, 0xb63d65709fe9ccc5
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce2
xor cl, byte [rax + rdx]
mov byte [0x1800b97cf], cl
movabs rcx, 0xb63d65709fe9ccc6
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce3
xor cl, byte [rax + rdx]
mov byte [0x1800b97d0], cl
movabs rcx, 0xb63d65709fe9ccc7
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce4
xor cl, byte [rax + rdx]
mov byte [0x1800b97d1], cl
movabs rcx, 0xb63d65709fe9ccc8
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce5
xor cl, byte [rax + rdx]
mov byte [0x1800b97d2], cl
movabs rcx, 0xb63d65709fe9ccc9
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce6
xor cl, byte [rax + rdx]
mov byte [0x1800b97d3], cl
movabs rcx, 0xb63d65709fe9ccca
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce7
xor cl, byte [rax + rdx]
mov byte [0x1800b97d4], cl
movabs rcx, 0xb63d65709fe9cccb
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce8
xor cl, byte [rax + rdx]
mov byte [0x1800b97d5], cl
movabs rcx, 0xb63d65709fe9cccc
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cce9
xor cl, byte [rax + rdx]
mov byte [0x1800b97d6], cl
movabs rcx, 0xb63d65709fe9cccd
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9ccea
xor cl, byte [rax + rdx]
mov byte [0x1800b97d7], cl
movabs rcx, 0xb63d65709fe9ccce
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cceb
xor cl, byte [rax + rdx]
mov byte [0x1800b97d8], cl
mov byte [0x1800b97d9], 1
vmovss xmm6, dword [rbp - 0x44]
mov rdx, qword [0x1800ab890]
add rdx, r13
lea rcx, [rbp + 0x60]
call fcn.1800086c8
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x60]
call fcn.180002138
lea rcx, [rbp + 0x80]
lea r14, [rbp + 0xa0]
lea r8, [rbp + 0xc7]
mov rdx, r14
call fcn.1800643e8
cmp qword [rbp + 0xb8], 0x10
jb 0x18006385c
mov r14, qword [rbp + 0xa0]
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x58]
mov rcx, rdi
mov rdx, r14
vmovaps xmm2, xmm6
call fcn.18003de7a
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x180063890
mov rcx, qword [rbp + 0xa0]
inc rdx
call fcn.18000506c
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rax, qword [rbp + 0x98]
cmp rax, 8
jb 0x1800638ce
mov rcx, qword [rbp + 0x80]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 7
mov word [rbp + 0x80], 0
mov rax, qword [rbp + 0x78]
cmp rax, 8
jb 0x180063908
mov rcx, qword [rbp + 0x60]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov rsi, qword [rsi + 0xa0]
mov rcx, rsi
call fcn.1800444d6
mov rdi, rax
cmp byte [0x1800b97e3], 0
jne 0x180063a55
mov rax, qword [0x1800ab868]
movabs rcx, 0xb63d65709fe9cd05
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd1c
xor cl, byte [rax + rdx]
mov byte [0x1800b97da], cl
movabs rcx, 0xb63d65709fe9cd06
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd1d
xor cl, byte [rax + rdx]
mov byte [0x1800b97db], cl
movabs rcx, 0xb63d65709fe9cd07
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd1e
xor cl, byte [rax + rdx]
mov byte [0x1800b97dc], cl
movabs rcx, 0xb63d65709fe9cd08
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd1f
xor cl, byte [rax + rdx]
mov byte [0x1800b97dd], cl
movabs rcx, 0xb63d65709fe9cd09
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd20
xor cl, byte [rax + rdx]
mov byte [0x1800b97de], cl
movabs rcx, 0xb63d65709fe9cd0a
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd21
xor cl, byte [rax + rdx]
mov byte [0x1800b97df], cl
movabs rcx, 0xb63d65709fe9cd0b
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd22
xor cl, byte [rax + rdx]
mov byte [0x1800b97e0], cl
movabs rcx, 0xb63d65709fe9cd0c
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd23
xor cl, byte [rax + rdx]
mov byte [0x1800b97e1], cl
movabs rcx, 0xb63d65709fe9cd0d
mov cl, byte [rax + rcx]
movabs rdx, 0xb63d65709fe9cd24
xor cl, byte [rax + rdx]
mov byte [0x1800b97e2], cl
mov byte [0x1800b97e3], 1
vmovss xmm6, dword [rbp - 0x44]
mov rdx, qword [0x1800ab898]
add rdx, r13
lea rcx, [rbp + 0x60]
call fcn.1800086c8
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x30]
lea r8, [rbp + 0x60]
call fcn.180002138
lea rcx, [rbp + 0x80]
lea rbx, [rbp + 0xa0]
lea r8, [rbp + 0xc7]
mov rdx, rbx
call fcn.1800643e8
cmp qword [rbp + 0xb8], 0x10
jb 0x180063aaf
mov rbx, qword [rbp + 0xa0]
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x58]
mov rcx, rsi
mov rdx, rbx
vmovaps xmm2, xmm6
call fcn.18003de7a
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0x10
jb 0x180063ae3
mov rcx, qword [rbp + 0xa0]
inc rdx
call fcn.18000506c
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rax, qword [rbp + 0x98]
cmp rax, 8
jb 0x180063b21
mov rcx, qword [rbp + 0x80]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 7
mov word [rbp + 0x80], 0
mov rax, qword [rbp + 0x78]
cmp rax, 8
jb 0x180063b5b
mov rcx, qword [rbp + 0x60]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov byte [rbp - 0x10], 0
mov rax, qword [0x1800ab860]
mov rcx, qword [rax + r15]
cmp byte [0x1800b97f3], 0
jne 0x180063d74
mov rax, qword [0x1800ab868]
movabs rdx, 0xb63d65709fe9cd3f
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd58
xor dl, byte [rax + r8]
mov byte [0x1800b97e4], dl
movabs rdx, 0xb63d65709fe9cd40
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd59
xor dl, byte [rax + r8]
mov byte [0x1800b97e5], dl
movabs rdx, 0xb63d65709fe9cd41
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd5a
xor dl, byte [rax + r8]
mov byte [0x1800b97e6], dl
movabs rdx, 0xb63d65709fe9cd42
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd5b
xor dl, byte [rax + r8]
mov byte [0x1800b97e7], dl
movabs rdx, 0xb63d65709fe9cd43
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd5c
xor dl, byte [rax + r8]
mov byte [0x1800b97e8], dl
movabs rdx, 0xb63d65709fe9cd44
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd5d
xor dl, byte [rax + r8]
mov byte [0x1800b97e9], dl
movabs rdx, 0xb63d65709fe9cd45
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd5e
xor dl, byte [rax + r8]
mov byte [0x1800b97ea], dl
movabs rdx, 0xb63d65709fe9cd46
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd5f
xor dl, byte [rax + r8]
mov byte [0x1800b97eb], dl
movabs rdx, 0xb63d65709fe9cd47
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd60
xor dl, byte [rax + r8]
mov byte [0x1800b97ec], dl
movabs rdx, 0xb63d65709fe9cd48
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd61
xor dl, byte [rax + r8]
mov byte [0x1800b97ed], dl
movabs rdx, 0xb63d65709fe9cd49
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd62
xor dl, byte [rax + r8]
mov byte [0x1800b97ee], dl
movabs rdx, 0xb63d65709fe9cd4a
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd63
xor dl, byte [rax + r8]
mov byte [0x1800b97ef], dl
movabs rdx, 0xb63d65709fe9cd4b
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd64
xor dl, byte [rax + r8]
mov byte [0x1800b97f0], dl
movabs rdx, 0xb63d65709fe9cd4c
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd65
xor dl, byte [rax + r8]
mov byte [0x1800b97f1], dl
movabs rdx, 0xb63d65709fe9cd4d
mov dl, byte [rax + rdx]
movabs r8, 0xb63d65709fe9cd66
xor dl, byte [rax + r8]
mov byte [0x1800b97f2], dl
mov byte [0x1800b97f3], 1
lea rdx, [0x1800b97e4]
call fcn.180062a7e
mov rax, qword [rbp + 0x48]
cmp rax, 8
jb 0x180063d9b
mov rcx, qword [rbp + 0x30]
lea rdx, [rax*2 + 2]
call fcn.18000506c
mov rax, qword [0x1800ab860]
movabs rsi, 0xb63d65709fe9ca3c
mov rax, qword [rax + rsi]
mov rcx, qword [rax + 8]
call fcn.18004a06c
mov rax, qword [0x1800ab8a8]
mov qword [rax + r13], r12
mov rax, qword [0x1800ab8a8]
mov rcx, qword [rax + r13]
mov rax, qword [rcx]
mov rdx, qword [0x1800ab8b0]
add rdx, r13
mov r8, qword [0x1800ab8b8]
add r8, r13
call qword [rax + 0x38]
mov rax, qword [0x1800ab8b8]
mov rcx, qword [rax + r13]
mov rax, qword [rcx]
mov rdx, qword [0x1800ab8c0]
add rdx, r13
call qword [rax + 0x140]
call fcn.180063f32
mov rax, qword [0x1800ab8c0]
mov rdx, qword [rax + r13]
mov rax, qword [0x1800ab8b8]
mov rcx, qword [rax + r13]
call fcn.180049cd4
call fcn.180048efc
mov rax, qword [0x1800ab860]
mov rax, qword [rax + rsi]
mov rcx, qword [rax + 8]
lea r8, [0x180063fc5]
mov edx, 0xfffffffc
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, qword [0x1800ab8c8]
mov qword [rcx + r13], rax
mov rax, qword [0x1800ab860]
mov rcx, qword [rax + r15]
cmp byte [0x1800b9820], 0
jne 0x180063ed3
mov rdx, qword [0x1800ab868]
movabs rax, 0xb63d65709fe9cd94
add rax, rdx
movabs r8, 0xb63d65709fe9cd78
add r8, rdx
xor r9d, r9d
movabs r10, 0x4924924924924925
lea r11, [0x1800b97f4]
mov rdx, r9
shr rdx, 2
mulx rdx, rdx, r10
shr rdx, 1
imul rdx, rdx, 0xffffffffffffffe4
add rdx, r8
mov dl, byte [r9 + rdx]
xor dl, byte [rax + r9]
mov byte [r9 + r11], dl
inc r9
cmp r9, 0x2c
jne 0x180063ea1
mov byte [0x1800b9820], 1
lea rdx, [0x1800b97f4]
lea r8, [0x1800b9930]
lea r9, [0x180063fc5]
call fcn.180062a7e
vmovaps xmm6, xmmword [rbp + 0xd0]
add rsp, 0x168
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret