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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0xe0
xorps xmm0, xmm0
mov rbp, r9
mov rsi, r8
mov rdi, rdx
mov r14, rcx
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx + 0x20], xmm0
test rdx, rdx
je 0x18013c5d4
test r8, r8
je 0x18013c5d4
test r9, r9
je 0x18013c5d4
mov r15, qword [rsp + 0x130]
test r15, r15
je 0x18013c5d4
mov r13, qword [rsp + 0x138]
test r13, r13
je 0x18013c5d4
cmp qword [rsp + 0x140], 0
je 0x18013c5d4
cmp qword [rsp + 0x148], 0
je 0x18013c5d4
mov qword [rax + 8], rbx
mov rbx, 0xffffffffffffffff
mov qword [rax + 0x10], r12
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x18013c220
mov rcx, rbx
nop dword [rax]
cmp word [r8 + rcx*2 + 2], 0
lea rcx, [rcx + 1]
jne 0x18013c230
lea r12, [rcx + 1]
add r12, rax
lea rcx, [r12 + r12]
call fcn.180147080
mov qword [r14], rax
test rax, rax
je 0x18013c476
mov r9, rdi
mov qword [rsp + 0x20], rsi
lea r8, str._ws_ws
mov rdx, r12
mov rcx, rax
call fcn.180001080
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x18013c276
mov rax, rbx
cmp word [rbp + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x18013c283
lea rsi, [rax + 1]
add rsi, rcx
lea rcx, [rsi + rsi]
call fcn.180147080
mov qword [r14 + 0x18], rax
test rax, rax
je 0x18013c476
mov r9, rdi
mov qword [rsp + 0x20], rbp
lea r8, str._ws_ws
mov rdx, rsi
mov rcx, rax
call fcn.180001080
mov rcx, rbx
nop dword [rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x18013c2d0
mov rax, rbx
nop dword [rax]
cmp word [r15 + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x18013c2e0
lea rsi, [rax + 1]
add rsi, rcx
lea rcx, [rsi + rsi]
call fcn.180147080
mov qword [r14 + 0x10], rax
test rax, rax
je 0x18013c476
mov r9, rdi
mov qword [rsp + 0x20], r15
lea r8, str._ws_ws
mov rdx, rsi
mov rcx, rax
call fcn.180001080
mov rcx, rbx
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x18013c330
mov rax, rbx
nop dword [rax]
cmp word [r13 + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x18013c340
lea rsi, [rax + 1]
add rsi, rcx
lea rcx, [rsi + rsi]
call fcn.180147080
mov qword [r14 + 8], rax
test rax, rax
je 0x18013c476
mov r9, rdi
mov qword [rsp + 0x20], r13
lea r8, str._ws_ws
mov rdx, rsi
mov rcx, rax
call fcn.180001080
mov rcx, rbx
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], 0
jne 0x18013c390
mov rbp, qword [rsp + 0x140]
mov rax, rbx
nop word [rax + rax]
cmp word [rbp + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x18013c3b0
lea rsi, [rax + 1]
add rsi, rcx
lea rcx, [rsi + rsi]
call fcn.180147080
mov qword [r14 + 0x20], rax
test rax, rax
je 0x18013c476
mov r9, rdi
mov qword [rsp + 0x20], rbp
lea r8, str._ws_ws
mov rdx, rsi
mov rcx, rax
call fcn.180001080
mov rsi, qword [rsp + 0x148]
nop dword [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x18013c400
lea rcx, [rbx + 1]
call fcn.180147080
mov qword [r14 + 0x28], rax
test rax, rax
je 0x18013c476
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.18014af30
mov rbx, qword [r14 + 0x28]
mov rcx, rdi
call fcn.18014ad10
mov rdx, rbx
mov rcx, rax
call fcn.180144850
mov qword [r14 + 0x30], rax
test rax, rax
je 0x18013c476
mov eax, 1
mov rbx, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
movdqa xmm0, xmmword [0x180161790]
movabs rcx, 0x4e0effb15aa2da28
movdqa xmm1, xmmword [0x180162590]
movabs r9, 0xa8ce5db91a41f821
movdqu xmmword [rsp + 0x90], xmm0
movabs r8, 0x99bd04a33aa037c8
mov qword [rsp + 0xc0], r9
movdqa xmm0, xmmword [0x180160410]
xor edx, edx
movdqu xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc8], r8
mov rax, rcx
movdqu xmmword [rsp + 0xa0], xmm1
mov qword [rsp + 0xd0], rcx
nop dword [rax]
nop dword [rax + rax]
imul rax, rcx
add r8, r9
add rax, r8
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
movzx eax, cl
xor al, byte [rsp + rdx + 0x90]
mov byte [rsp + rdx + 0x30], al
inc rdx
mov rax, rcx
cmp rdx, 0x2b
jb 0x18013c4f0
movups xmm0, xmmword [rsp + 0x30]
mov byte [rsp + 0x5b], 0
lea r8, [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x40]
mov eax, dword [rsp + 0x58]
lea rcx, [0x18017bd90]
movups xmmword [rsp + 0x60], xmm0
mov edx, 0x100000
mov dword [rsp + 0x88], eax
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x70], 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]
mov rcx, qword [r14]
call fcn.180146f60
mov rcx, qword [r14 + 0x10]
call fcn.180146f60
mov rcx, qword [r14 + 0x18]
call fcn.180146f60
mov rcx, qword [r14 + 8]
call fcn.180146f60
mov rcx, qword [r14 + 0x20]
call fcn.180146f60
mov rcx, qword [r14 + 0x28]
call fcn.180146f60
xor eax, eax
jmp 0x18013c44e
xor eax, eax
jmp 0x18013c45e