Function at 0x18013ec80
Capabilities:
Encode data using xor
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
movdqa xmm0, xmmword [0x1801610b0]
lea rdx, [rsp + 0x30]
movdqa xmm1, xmmword [0x180160700]
mov r15, rcx
movabs r13, 0xffecc7b5d047cc19
lea rcx, [rbp - 0x19]
movabs rdi, 0xe69993b7f281eb0e
mov qword [rbp - 0x79], r13
movabs rbx, 0xa91571323445ca06
mov qword [rbp - 0x71], rdi
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rbp - 0x69], rbx
mov r14, r9
movdqu xmmword [rsp + 0x40], xmm1
mov rsi, r8
call fcn.18000fa70
lea r8, [rbp - 0x51]
mov edx, 0x100000
movups xmm1, xmmword [rax]
movups xmmword [rbp - 0x51], xmm1
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x41], xmm0
mov ecx, dword [rax + 0x18]
mov dword [rbp - 0x39], ecx
movzx ecx, word [rax + 0x1c]
mov word [rbp - 0x35], cx
lea rcx, [0x18017bd90]
movzx eax, byte [rax + 0x1e]
mov byte [rbp - 0x33], al
call fcn.1800010e0
mov rcx, qword [0x18017bd78]
lea r9, [0x18017bd80]
mov r8d, eax
mov dword [0x18017bd84], eax
lea rdx, [0x18017bd90]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r9, qword [rsi + 0x18]
mov rcx, r15
mov r8, qword [r14 + 0x28]
mov rdx, qword [rbp + 0x77]
mov dword [rsp + 0x20], 1
call fcn.180141e70
mov r12, rax
test rax, rax
jne 0x18013ee4c
movdqa xmm0, xmmword [0x180161030]
xor ecx, ecx
movdqa xmm1, xmmword [0x1801608a0]
mov rax, rbx
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rbp - 0x79], r13
movdqu xmmword [rsp + 0x40], xmm1
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x69], rbx
nop
imul rax, rbx
add rdi, r13
add rax, rdi
mov rbx, rax
shl rax, 0x20
shr rbx, 0x20
or rbx, rax
movzx eax, bl
xor al, byte [rsp + rcx + 0x30]
mov byte [rbp + rcx - 0x19], al
inc rcx
mov rax, rbx
cmp rcx, 0x1f
jb 0x18013edc0
movups xmm0, xmmword [rbp - 0x19]
mov byte [rbp + 6], 0
lea r8, [rbp - 0x51]
movups xmm1, xmmword [rbp - 9]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm1
call fcn.1800010e0
mov rcx, qword [0x18017bd78]
lea r9, [0x18017bd80]
mov r8d, eax
mov dword [0x18017bd84], eax
lea rdx, [0x18017bd90]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor eax, eax
jmp 0x18013ef5c
mov rcx, qword [rsi + 0x18]
call fcn.180146f60
mov rax, qword [rbp + 0x7f]
mov r9, rsi
mov r8, r14
mov qword [rsp + 0x20], rax
mov rcx, r15
mov qword [rsi + 0x18], r12
call fcn.18013ef90
mov rdx, qword [r15 + 8]
mov r14d, eax
mov rcx, qword [rsi + 0x18]
call rdx
test eax, eax
jne 0x18013ef59
call qword [sym.imp.KERNEL32.dll_GetLastError]
movdqa xmm0, xmmword [0x180161cc0]
lea rdx, [rsp + 0x30]
movdqa xmm1, xmmword [0x1801620d0]
lea rcx, [rbp - 0x51]
mov rdi, qword [rsi + 0x18]
mov ebx, eax
movabs rax, 0x53a4a43623c65917
mov qword [rbp - 0x69], rax
movabs rax, 0xd42e5d227ec548f6
mov qword [rbp - 0x61], rax
movabs rax, 0xbc175a171ae1c518
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rbp - 0x59], rax
movdqa xmm0, xmmword [0x180161190]
movdqu xmmword [rsp + 0x40], xmm1
movdqu xmmword [rbp - 0x79], xmm0
call fcn.18000aa70
mov r9, rdi
mov dword [rsp + 0x20], ebx
lea r8, [rbp - 0x19]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp - 0x19], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp + 7], xmm1
movzx eax, byte [rax + 0x30]
mov byte [rbp + 0x17], al
call fcn.1800010e0
mov rcx, qword [0x18017bd78]
lea r9, [0x18017bd80]
mov r8d, eax
mov dword [0x18017bd84], eax
lea rdx, [0x18017bd90]
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, r14d
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret