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

Disassembly:
mov rax, rsp
push rbp
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x128
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov rsi, rdx
mov rdx, qword [rdx]
mov qword [rax + 0x18], rdi
mov rdi, r8
mov r8, qword [r8]
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r13
mov qword [rax - 0x28], r14
mov r14, rcx
call fcn.180146950
xor r15d, r15d
test eax, eax
jne 0x1801465fe
call qword [sym.imp.KERNEL32.dll_GetLastError]
movdqa xmm0, xmmword [0x180162600]
lea rdx, [rsp + 0x30]
movdqa xmm1, xmmword [0x1801623a0]
lea rcx, [rbp - 0x38]
mov ebx, eax
mov dword [rsp + 0x60], 0x507da68d
movabs rax, 0x8488351c950cfdf5
mov dword [rsp + 0x64], 0xb0b7c091
mov qword [rsp + 0x68], rax
movabs rax, 0xffd248db3b5cd2f8
mov qword [rsp + 0x70], rax
movabs rax, 0x2b7ae7f98d26cfe2
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x78], rax
movdqa xmm0, xmmword [0x180160ea0]
movdqu xmmword [rsp + 0x40], xmm1
movdqu xmmword [rsp + 0x50], xmm0
call fcn.180008920
mov r9d, ebx
lea r8, [rbp - 0x78]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp - 0x78], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp - 0x58], xmm1
movsd xmm0, qword [rax + 0x30]
movsd qword [rbp - 0x48], xmm0
movzx eax, byte [rax + 0x38]
mov byte [rbp - 0x40], 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], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8, qword [rdi + 0x10]
mov rcx, r14
mov rdx, qword [rsi + 8]
call fcn.180146950
movabs r12, 0xd3aaaf105f0ac9cd
movabs r13, 0xad414e7969836928
test eax, eax
jne 0x1801466f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
movdqa xmm0, xmmword [0x1801611f0]
lea rdx, [rsp + 0x30]
movdqa xmm1, xmmword [0x180161720]
lea rcx, [rbp - 0x78]
movdqu xmmword [rsp + 0x30], xmm0
mov ebx, eax
movabs rax, 0x9d67a411dcf3d8c0
movdqa xmm0, xmmword [0x180161120]
movdqu xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0xa9b4051
movdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x64], 0x173ae1
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rax
call fcn.180008d80
mov r9d, ebx
lea r8, [rbp - 0x38]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp - 0x38], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp - 0x18], xmm1
movsd xmm0, qword [rax + 0x30]
movsd qword [rbp - 8], xmm0
call fcn.1800010e0
mov rcx, qword [0x18017bd78]
lea r9, [0x18017bd80]
mov r8d, eax
mov dword [0x18017bd84], eax
lea rdx, [0x18017bd90]
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8, qword [rdi + 0x18]
mov rcx, r14
mov rdx, qword [rsi + 0x10]
call fcn.180146950
test eax, eax
jne 0x1801467df
call qword [sym.imp.KERNEL32.dll_GetLastError]
movdqa xmm0, xmmword [0x1801611f0]
lea rdx, [rsp + 0x30]
movdqa xmm1, xmmword [0x180161670]
lea rcx, [rbp - 0x38]
movdqu xmmword [rsp + 0x30], xmm0
mov ebx, eax
movabs rax, 0x9d67a411dcf3d8c0
movdqa xmm0, xmmword [0x180160d90]
movdqu xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x60], 0x57c60841
movdqu xmmword [rsp + 0x40], xmm1
mov dword [rsp + 0x64], 0x6b1d1eb7
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rax
call fcn.180008920
mov r9d, ebx
lea r8, [rbp - 0x78]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp - 0x78], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp - 0x58], xmm1
movsd xmm0, qword [rax + 0x30]
movsd qword [rbp - 0x48], xmm0
movzx eax, byte [rax + 0x38]
mov byte [rbp - 0x40], 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], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8, qword [rdi + 8]
mov rcx, r14
mov rdx, qword [rsi + 0x18]
call fcn.180146950
mov r14, qword [rsp + 0x110]
mov r13, qword [rsp + 0x118]
mov r12, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
test eax, eax
jne 0x180146939
call qword [sym.imp.KERNEL32.dll_GetLastError]
movdqa xmm0, xmmword [0x180162610]
movabs rcx, 0xefb0dec03845c666
movdqa xmm1, xmmword [0x1801612f0]
movabs r10, 0x8f530d914d8a5ec7
movdqu xmmword [rsp + 0x30], xmm0
movabs r8, 0x64e96d6cae3c5d5c
mov r9d, eax
movdqa xmm0, xmmword [0x1801621b0]
mov rdx, r15
movdqu xmmword [rsp + 0x40], xmm1
mov rax, rcx
mov qword [rsp + 0x70], r10
movdqa xmm1, xmmword [0x180160440]
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x78], r8
movdqu xmmword [rsp + 0x60], xmm1
mov qword [rbp - 0x80], rcx
nop word [rax + rax]
imul rax, rcx
add r8, r10
add rax, r8
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
movzx eax, cl
xor al, byte [rsp + rdx + 0x30]
mov byte [rbp + rdx - 0x78], al
inc rdx
mov rax, rcx
cmp rdx, 0x3b
jb 0x1801468a0
movups xmm0, xmmword [rbp - 0x78]
mov byte [rbp - 0x3d], r15b
lea r8, [rbp - 0x38]
movups xmm1, xmmword [rbp - 0x68]
mov eax, dword [rbp - 0x40]
lea rcx, [0x18017bd90]
movups xmmword [rbp - 0x38], xmm0
mov edx, 0x100000
mov dword [rbp], eax
movups xmm0, xmmword [rbp - 0x58]
movups xmmword [rbp - 0x28], xmm1
movsd xmm1, qword [rbp - 0x48]
movups xmmword [rbp - 0x18], xmm0
movsd qword [rbp - 8], 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], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, 1
add rsp, 0x128
pop r15
pop rbp
ret