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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov r14, rdx
mov r15, r8
lea rdx, [rbp + 0x7f]
mov rsi, rcx
call fcn.180024c40
test eax, eax
jne 0x1801430d2
movdqa xmm0, xmmword [0x180161550]
lea rdx, [rsp + 0x30]
movdqa xmm1, xmmword [0x180161ba0]
lea rcx, [rbp - 1]
xor eax, eax
mov byte [rbp - 0x69], 0x8d
movabs r12, 0xa7ec59b91e41e411
mov dword [rbp - 0x68], eax
movabs rdi, 0xacdd8d42ea85a774
mov word [rbp - 0x64], ax
movabs rbx, 0xed2043d5b9559c50
mov byte [rbp - 0x62], al
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rbp - 0x61], r12
movdqu xmmword [rbp - 0x79], xmm1
mov qword [rbp - 0x59], rdi
mov qword [rbp - 0x51], rbx
call fcn.18000cdb0
mov r9, rsi
lea r8, [rbp - 0x39]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp - 0x39], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x29], xmm0
movzx eax, word [rax + 0x20]
mov word [rbp - 0x19], ax
call fcn.1800010e0
mov rcx, qword [0x18017bd78]
lea r9, [0x18017bd80]
xor esi, esi
mov dword [0x18017bd84], eax
mov r8d, eax
mov qword [rsp + 0x20], rsi
lea rdx, [0x18017bd90]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rbp + 0x7f]
lea r8d, [rsi - 1]
mov r9, r15
mov qword [rsp + 0x20], rsi
mov rdx, r14
call fcn.180025830
test eax, eax
jne 0x18014300a
mov rax, qword [rbp + 0x7f]
jmp 0x1801431b2
movdqa xmm0, xmmword [0x180161770]
mov rcx, rsi
movdqa xmm1, xmmword [0x180160870]
mov rax, rbx
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rbp - 0x69], r12
movdqu xmmword [rbp - 0x79], xmm1
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x59], rbx
nop word [rax + rax]
imul rbx, rax
add rdi, r12
add rbx, rdi
mov rax, rbx
shr rbx, 0x20
shl rax, 0x20
or rbx, rax
movzx eax, bl
xor al, byte [rsp + rcx + 0x30]
mov byte [rbp + rcx - 1], al
inc rcx
mov rax, rbx
cmp rcx, 0x1f
jb 0x180143040
movups xmm0, xmmword [rbp - 1]
mov byte [rbp + 0x1e], sil
lea r8, [rbp - 0x39]
movups xmm1, xmmword [rbp + 0xf]
mov r9, r14
lea rcx, [0x18017bd90]
mov edx, 0x100000
movups xmmword [rbp - 0x29], xmm1
movups xmmword [rbp - 0x39], 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], rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rbp + 0x7f]
call fcn.180022770
jmp 0x1801431b0
mov rcx, qword [rbp + 0x7f]
call fcn.1800254c0
movdqa xmm0, xmmword [0x1801612e0]
lea rdx, [rsp + 0x30]
movdqa xmm1, xmmword [0x180160f10]
lea rcx, [rbp - 1]
mov rbx, rax
mov byte [rbp - 0x59], 0xe0
xor eax, eax
mov dword [rbp - 0x58], eax
mov word [rbp - 0x54], ax
mov byte [rbp - 0x52], al
movabs rax, 0xf437ff3808c16f2b
mov qword [rbp - 0x51], rax
movabs rax, 0xfb4a7a0673c6fd48
mov qword [rbp - 0x49], rax
movabs rax, 0x4c5c20cc98ebc85
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rbp - 0x41], rax
movdqa xmm0, xmmword [0x180160de0]
movdqu xmmword [rbp - 0x79], xmm1
movdqu xmmword [rbp - 0x69], xmm0
call fcn.18000c9f0
mov r9, rbx
lea r8, [rbp - 0x39]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp - 0x39], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp - 0x19], xmm1
movzx eax, word [rax + 0x30]
mov word [rbp - 9], ax
call fcn.1800010e0
mov rcx, qword [0x18017bd78]
lea r9, [0x18017bd80]
xor esi, esi
mov dword [0x18017bd84], eax
mov r8d, eax
mov qword [rsp + 0x20], rsi
lea rdx, [0x18017bd90]
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor eax, eax
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret