Function at 0x1800505d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x120]
sub rsp, 0x220
cmp byte [0x1800650fc], 0
je 0x180051240
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, qword [0x180065e38]
add rcx, 0xfa
cmp rcx, rax
ja 0x180051240
mov qword [0x180065e38], rax
xorps xmm0, xmm0
xor eax, eax
mov qword [rsp + 0x218], rbx
mov dword [rbp + 0x40], eax
movabs rdx, 0x1014f70cd665896d
mov word [rbp + 0x44], ax
movabs rbx, 0x300b6bd26031219e
mov qword [rsp + 0x210], rsi
movabs rax, 0x16967f492b3a85a1
mov qword [rbp + 0x130], rax
xor esi, esi
mov qword [rsp + 0x208], rdi
movabs rax, 0xfd94beb02796fa62
mov qword [rbp + 0x138], rax
mov ecx, esi
mov qword [rsp + 0x200], r12
movabs rax, 0x34bd3764da532883
mov qword [rbp + 0x148], rax
movabs rdi, 0xde100d95dd590c00
movabs rax, 0x5964302ed36e0c6d
mov qword [rsp + 0x1f8], r13
mov qword [rsp + 0x20], rax
movabs r8, 0x447d72c4568a240a
movabs rax, 0x2997926df96edf32
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x28], rax
lea r14, [0x180000000]
movabs rax, 0x7cca83173be7adf1
mov qword [rsp + 0x1e8], r15
mov qword [rsp + 0x30], rax
movabs r9, 0x6157ae627dd990ea
movabs rax, 0x890b96b9c3b09eb
movabs r10, 0x5f799771023a3d9d
mov qword [rsp + 0x38], rax
movabs r11, 0xf750eccbb24459c8
movabs rax, 0x7bbfe70ca5fefeb4
movabs r15, 0x6f91b7d6d8bdfe7f
mov qword [rsp + 0x40], rax
movabs r12, 0x4e3626097b574ed0
movabs rax, 0x53b42089b2c6e6a
movabs r13, 0x73469d8efa78e876
mov qword [rsp + 0x48], rax
movabs rax, 0x3355f84942b9a036
mov qword [rsp + 0x50], rax
movabs rax, 0x34d4f2cf9c7b4fc5
mov qword [rsp + 0x58], rax
movabs rax, 0xc484bb93b299564e
mov qword [rsp + 0x60], rax
movabs rax, 0x18de864b319e1dc9
mov qword [rsp + 0x68], rax
movabs rax, 0xd807c98d3b9e8f46
mov qword [rsp + 0x70], rax
movabs rax, 0x6e00fa39da6704c4
mov qword [rsp + 0x78], rax
movabs rax, 0x5f67207230f61315
mov qword [rbp - 0x80], rax
movabs rax, 0x1d456ef22b3d4fa4
mov qword [rbp - 0x78], rax
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
nop dword [rax + rax]
mov rax, qword [r14 + rcx*8 + 0x5b530]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, rdx
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, r8
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, r9
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0xc9
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
rol rax, 0xb5
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
rol rax, 0xb
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, r10
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, r11
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, rbx
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0xbf
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, rdi
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
rol rax, 0x1a
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, r15
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, r12
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, r13
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp + 0x130]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
rol rax, 0x47
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rbp + 0x138]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0x9f
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rbp + 0x148]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x20]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0xe0
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0x49
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0xbe
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x28]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x30]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x38]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x40]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x48]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rsp + 0x50]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rsp + 0x58]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
rol rax, 0xdf
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x60]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
rol rax, 0x9e
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0xda
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rsp + 0x68]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x70]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rsp + 0x78]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp - 0x80]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rbp - 0x78]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov byte [rbp + rcx - 0x40], al
inc rcx
cmp rcx, 0x86
jl 0x1800507f0
movups xmm0, xmmword [rbp - 0x40]
mov eax, dword [rbp + 0x40]
movups xmm1, xmmword [rbp - 0x30]
mov dword [rbp + 0xd0], eax
movzx eax, word [rbp + 0x44]
movaps xmmword [rbp + 0x50], xmm0
movups xmm0, xmmword [rbp - 0x20]
mov word [rbp + 0xd4], ax
movaps xmmword [rbp + 0x60], xmm1
movups xmm1, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x70], xmm0
movups xmm0, xmmword [rbp]
movaps xmmword [rbp + 0x80], xmm1
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x90], xmm0
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0xa0], xmm1
movups xmm1, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xc0], xmm1
call fcn.180003e80
lea rcx, [rbp + 0x50]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r8, rbx
lea rcx, [rbp + 0x50]
mov edx, eax
call fcn.180003f60
mov rcx, rax
call fcn.180004e10
mov rdi, rax
test rax, rax
je 0x180051208
xor eax, eax
movabs rcx, 0x9fb67f61cc3bed43
mov dword [rbp + 0x130], eax
movabs rdx, 0x2670dc01bb08e103
mov byte [rbp + 0x134], al
movabs rbx, 0x1e49e4db1edf933a
movabs rax, 0x104737c51673fc73
movabs r8, 0x118aa9320aea7d01
mov qword [rbp + 0x148], rax
movabs r9, 0x195b70b89b3de6bf
movabs rax, 0x668bca5ad51b06db
movabs r10, 0xda9d4b9b4d314def
mov qword [rbp - 0x78], rax
movabs r11, 0x33f38fa9d7ee3e4d
movabs rax, 0x34f09e6bb8705478
movabs r15, 0x33e2b2f97eddbdd9
mov qword [rbp - 0x80], rax
movabs r12, 0x23e516bd0fb5b8d9
movabs rax, 0xdb333013556611e0
movabs r13, 0x315c490987f914bf
mov qword [rsp + 0x78], rax
movabs rax, 0x2b8a2426c19e33ce
mov qword [rsp + 0x70], rax
movabs rax, 0x40cbca032e7feee6
mov qword [rsp + 0x68], rax
movabs rax, 0x75bd26d316a4085d
mov qword [rsp + 0x60], rax
movabs rax, 0x708cf3a8cd1b9853
mov qword [rsp + 0x58], rax
movabs rax, 0xde4f5b450401281
mov qword [rsp + 0x50], rax
movabs rax, 0xbc08cccec7137b6a
mov qword [rsp + 0x48], rax
movabs rax, 0x5ee798d8813a3959
mov qword [rsp + 0x40], rax
movabs rax, 0x679efe17dcb2c6dd
mov qword [rsp + 0x38], rax
movabs rax, 0x6517e666d9936a1a
mov qword [rsp + 0x30], rax
movabs rax, 0x28953492cdb55c54
mov qword [rsp + 0x28], rax
movabs rax, 0x1775d0056491c526
mov qword [rsp + 0x20], rax
movabs rax, 0x65d7dcd391a2fcd5
mov qword [rbp - 0x70], rax
movabs rax, 0x32c7d38bc6798540
mov qword [rbp - 0x68], rax
movabs rax, 0x3ff6a15e3057b70c
mov qword [rbp - 0x60], rax
movabs rax, 0x6ead105473495078
mov qword [rbp - 0x58], rax
movabs rax, 0x4f02d3efcb556ada
mov qword [rbp - 0x50], rax
movabs rax, 0x5980b4f24ad61546
mov qword [rbp - 0x48], rax
nop
mov rax, qword [r14 + rsi*8 + 0x5b960]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, rcx
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, rdx
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
rol rax, 0xe
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, r8
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, r9
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, r10
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, r11
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, rbx
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, r15
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, r12
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0x18
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, r13
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp + 0x148]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp - 0x78]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp - 0x80]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x78]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x70]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x68]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rsp + 0x60]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
sub rax, qword [rsp + 0x58]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x50]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x48]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0x88
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x40]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x38]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x30]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rsp + 0x28]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rsp + 0x20]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp - 0x70]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0xdd
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
ror rax, 0xd0
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp - 0x68]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
not rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
bswap rax
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rbp - 0x60]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp - 0x58]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
xor rax, qword [rbp - 0x50]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
add rax, qword [rbp - 0x48]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x140]
mov byte [rbp + rsi + 0x130], al
inc rsi
cmp rsi, 5
jl 0x180050de0
mov eax, dword [rbp + 0x130]
mov dword [rbp + 0x138], eax
movzx eax, byte [rbp + 0x134]
mov byte [rbp + 0x13c], al
call fcn.180003e80
lea rcx, [rbp + 0x138]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r8, rbx
lea rcx, [rbp + 0x138]
mov edx, eax
call fcn.180003f60
mov rdx, rax
mov rcx, rdi
call fcn.1800512e0
mov rdi, rax
test rax, rax
je 0x180051208
call fcn.180003e80
lea rcx, str.UID:_PIPSI
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov r8, rbx
lea rcx, str.UID:_PIPSI
mov edx, eax
call fcn.180003f60
mov rdx, rax
mov rcx, rdi
call fcn.180004fe0
mov r14, qword [rsp + 0x1f0]
mov r13, qword [rsp + 0x1f8]
mov r12, qword [rsp + 0x200]
mov rdi, qword [rsp + 0x208]
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x218]
mov r15, qword [rsp + 0x1e8]
add rsp, 0x220
pop rbp
ret