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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movabs r13, 0x51292933998699a6
mov dword [rsp + 0x30], 0xc43de2a1
xorps xmm0, xmm0
mov dword [rsp + 0x34], 0xaacf2278
movups xmmword [rdx], xmm0
mov eax, 0x3316
mov dword [rsp + 0x38], 0x1f215ca2
mov word [rsp + 0x78], ax
mov rdi, rdx
xor eax, eax
mov dword [rsp + 0x3c], 0x9911cc96
movups xmmword [rdx + 0x10], xmm0
movabs rdx, 0xf993f31c159b129a
mov dword [rsp + 0x7a], eax
xor r12d, r12d
mov qword [rbp - 0x78], rdx
movabs r15, 0xac376134c6c74723
mov word [rsp + 0x7e], ax
mov r8, rdx
mov dword [rsp + 0x40], 0x6a4f7618
mov r14, rcx
mov dword [rsp + 0x44], 0x25cbbe09
mov edx, r12d
mov dword [rsp + 0x48], 0x5acb6c93
mov dword [rsp + 0x4c], 0x483bb1ae
mov rcx, r13
mov dword [rsp + 0x50], 0xadf8d2f0
mov rax, r13
mov dword [rsp + 0x54], 0x3cd3418a
mov dword [rsp + 0x58], 0x7c116374
mov dword [rsp + 0x5c], 0x3b4b175b
mov dword [rsp + 0x60], 0xb1072bb5
mov dword [rsp + 0x64], 0xc44569b3
mov dword [rsp + 0x68], 0x4e123444
mov dword [rsp + 0x6c], 0x6c68f25d
mov dword [rsp + 0x70], 0x31684b9e
mov dword [rsp + 0x74], 0xece34109
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x70], r13
imul rax, rcx
add r8, r15
add rax, r8
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
movzx eax, cx
xor ax, word [rsp + rdx + 0x30]
mov word [rbp + rdx - 8], ax
add rdx, 2
mov rax, rcx
cmp rdx, 0x4a
jb 0x180141c32
movups xmm0, xmmword [rbp - 8]
mov word [rbp + 0x42], r12w
lea rcx, [rbp - 0x58]
movups xmm1, xmmword [rbp + 8]
mov eax, dword [rbp + 0x40]
movups xmmword [rbp - 0x58], xmm0
mov dword [rbp - 0x10], eax
mov rax, 0xffffffffffffffff
movups xmm0, xmmword [rbp + 0x18]
movups xmmword [rbp - 0x48], xmm1
movups xmm1, xmmword [rbp + 0x28]
movups xmmword [rbp - 0x38], xmm0
movsd xmm0, qword [rbp + 0x38]
movsd qword [rbp - 0x18], xmm0
movups xmmword [rbp - 0x28], xmm1
cmp word [rcx + rax*2 + 2], r12w
lea rax, [rax + 1]
jne 0x180141ca4
lea rsi, [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rsi + 2]
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rdi + 0x18], rax
test rax, rax
je 0x180141e40
mov r8, rsi
lea rdx, [rbp - 0x58]
mov rcx, rax
call fcn.18014af30
mov rax, qword [rdi + 0x18]
lea r9, [rbp + 0xb8]
lea r8, [0x18015f0c8]
mov qword [rsp + 0x20], rax
mov edx, 0x65
mov dword [rbp + 0xb8], r12d
mov rcx, r14
call fcn.1801422f0
mov qword [rdi], rax
test rax, rax
jne 0x180141d2c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, 0xffffffdf
jne 0x180141e37
movdqa xmm0, xmmword [0x1801604b0]
lea rdx, [rbp - 0x58]
movabs rax, 0xf993f31c159b129a
mov qword [rbp - 0x48], r15
lea rcx, [rbp + 0x70]
mov qword [rbp - 0x40], rax
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x38], r13
call fcn.18000df80
lea rdx, [rbp - 0x68]
mov ecx, dword [rax + 8]
movsd xmm1, qword [rax]
movzx eax, byte [rax + 0xc]
mov dword [rbp - 0x60], ecx
mov rcx, qword [rdi]
mov byte [rbp - 0x5c], al
movsd qword [rbp - 0x68], xmm1
call fcn.18014a820
mov qword [rdi + 8], rax
test rax, rax
jne 0x180141e44
movdqa xmm0, xmmword [0x1801615c0]
lea rdx, [rbp - 8]
movdqa xmm1, xmmword [0x180162540]
lea rcx, [rbp - 0x58]
movabs rax, 0xfb15fb380cc1731b
mov qword [rbp + 0x18], rax
movabs rax, 0xbb5a1d781d4a125a
mov qword [rbp + 0x20], rax
movabs rax, 0x7285971b45817a6c
mov qword [rbp + 0x28], rax
movdqu xmmword [rbp - 8], xmm0
movdqu xmmword [rbp + 8], xmm1
call fcn.18000bce0
lea r8, [rbp + 0x48]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp + 0x48], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm0
movzx eax, byte [rax + 0x20]
mov byte [rbp + 0x68], 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], r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rdi]
call qword [r14 + 0x48]
mov rcx, qword [rdi + 0x18]
call fcn.180146f60
xor eax, eax
jmp 0x180141e49
mov eax, 1
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret