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

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
jne 0x1801455bb
xor eax, eax
add rsp, 0x520
pop rdi
pop rbx
pop rbp
ret
xorps xmm0, xmm0
mov qword [rsp + 0x540], rsi
mov qword [rsp + 0x548], r12
lea rcx, [rbp + 0x210]
xor eax, eax
mov qword [rsp + 0x550], r14
xor edx, edx
mov qword [rsp + 0x558], r15
mov r8d, 0x208
mov dword [rbp + 0x134], eax
movups xmmword [rbp + 0xd4], xmm0
mov dword [rbp + 0xd0], 0x68
movups xmmword [rbp + 0xe4], xmm0
movups xmmword [rbp + 0xf4], xmm0
movups xmmword [rbp + 0x104], xmm0
movups xmmword [rbp + 0x114], xmm0
movups xmmword [rbp + 0x124], xmm0
call fcn.18014b5d0
mov eax, 0x2e0b
mov dword [rsp + 0x50], 0xecac3d67
mov word [rbp - 0x80], ax
lea rdx, [rsp + 0x50]
xor eax, eax
mov dword [rsp + 0x54], 0xce1e45d5
mov dword [rbp - 0x7e], eax
lea rcx, [rbp + 0x80]
mov word [rbp - 0x7a], ax
movabs rax, 0x231b6e12be0bcbc9
mov qword [rbp - 0x78], rax
movabs rax, 0x10d28d7dd9a16e36
mov qword [rbp - 0x70], rax
movabs rax, 0x29d2a59a3045c2fe
mov qword [rbp - 0x68], rax
mov dword [rsp + 0x58], 0x3b08f152
mov dword [rsp + 0x5c], 0x99961d31
mov dword [rsp + 0x60], 0xc77268f8
mov dword [rsp + 0x64], 0x3756ba6d
mov dword [rsp + 0x68], 0xc2128b41
mov dword [rsp + 0x6c], 0x418eeb59
mov dword [rsp + 0x70], 0x7d337fd9
mov dword [rsp + 0x74], 0xc60cb930
mov dword [rsp + 0x78], 0xb594726e
mov dword [rsp + 0x7c], 0x372ba6e3
call fcn.18000a2c0
lea r9, [rbp + 0x140]
mov qword [rsp + 0x20], rdi
lea r8, str._ws___file:___ws_
mov edx, 0x104
lea rcx, [rbp + 0x210]
movups xmm1, xmmword [rax]
movups xmmword [rbp + 0x140], xmm1
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp + 0x150], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp + 0x160], xmm1
mov eax, dword [rax + 0x30]
mov dword [rbp + 0x170], eax
call fcn.180001080
mov dword [rbp - 0x30], 0xe344b786
mov dword [rbp - 0x2c], 0x4b018ef0
mov dword [rbp - 0x28], 0x3aa4677e
mov dword [rbp - 0x24], 0x65163deb
mov dword [rbp - 0x20], 0x5d13f80
mov dword [rbp - 0x1c], 0xa9419fb4
mov dword [rbp - 0x18], 0x223ac1df
mov dword [rbp - 0x14], 0x3c3a7f93
mov dword [rbp - 0x10], 0x463e771
mov dword [rbp - 0xc], 0xcc0a1930
mov dword [rbp - 8], 0x221d4cfd
mov dword [rbp - 4], 0x130b5ba3
mov dword [rbp], 0x83e33d0e
mov dword [rbp + 4], 0x74f999d3
mov dword [rbp + 8], 0x5e071bfd
mov dword [rbp + 0xc], 0x9aa0edf6
mov dword [rbp + 0x10], 0xbfed09b6
mov dword [rbp + 0x14], 0x840bc047
mov dword [rbp + 0x18], 0xafc3089d
mov dword [rbp + 0x1c], 0xc65c3583
mov dword [rbp + 0x20], 0x4ce3f0d
mov dword [rbp + 0x24], 0xfb708068
mov dword [rbp + 0x28], 0xfc96057f
movabs r15, 0xc44bdfcf494d6659
mov dword [rbp + 0x2c], 0x3d671629
mov eax, 0xae41
mov dword [rbp + 0x30], 0x63608ebc
mov word [rbp + 0x48], ax
movabs r12, 0x6c83567451bbd46e
xor eax, eax
mov dword [rbp + 0x34], 0xc37d5128
xor esi, esi
mov dword [rbp + 0x4a], eax
movabs r14, 0xd753939d838c76cf
mov word [rbp + 0x4e], ax
mov edx, esi
mov dword [rbp + 0x38], 0x2a52bd10
mov dword [rbp + 0x3c], 0xccfc2018
mov rcx, r15
mov dword [rbp + 0x40], 0x1b0f714
mov rax, r15
mov dword [rbp + 0x44], 0x17fd83f1
mov r8, r12
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r15
imul rax, rcx
add r8, r14
add rax, r8
mov rcx, rax
shl rax, 0x20
shr rcx, 0x20
or rcx, rax
movzx eax, cx
xor ax, word [rbp + rdx - 0x30]
mov word [rsp + rdx + 0x50], ax
add rdx, 2
mov rax, rcx
cmp rdx, 0x7a
jb 0x180145843
movups xmm0, xmmword [rsp + 0x50]
lea rcx, [rbp + 0x68]
mov word [rbp - 0x36], si
movups xmm1, xmmword [rsp + 0x60]
mov eax, dword [rbp - 0x38]
lea rdx, [rbp + 0x210]
mov qword [rsp + 0x48], rcx
xor r9d, r9d
movups xmmword [rbp + 0x190], xmm0
lea rcx, [rbp + 0xd0]
mov dword [rbp + 0x208], eax
movups xmm0, xmmword [rsp + 0x70]
mov rax, qword [rbx + 0x68]
xor r8d, r8d
mov qword [rsp + 0x40], rcx
lea rcx, [rbp + 0x190]
movups xmmword [rbp + 0x1a0], xmm1
mov qword [rsp + 0x38], rsi
movups xmm1, xmmword [rbp - 0x80]
mov qword [rsp + 0x30], rsi
movups xmmword [rbp + 0x1b0], xmm0
mov dword [rsp + 0x28], esi
movups xmm0, xmmword [rbp - 0x70]
mov dword [rsp + 0x20], esi
movups xmmword [rbp + 0x1c0], xmm1
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x1d0], xmm0
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbp + 0x1e0], xmm1
movsd xmm1, qword [rbp - 0x40]
movups xmmword [rbp + 0x1f0], xmm0
movsd qword [rbp + 0x200], xmm1
call rax
test eax, eax
jne 0x180145a20
call qword [sym.imp.KERNEL32.dll_GetLastError]
movdqa xmm0, xmmword [0x180160eb0]
lea rdx, [rsp + 0x50]
movdqa xmm1, xmmword [0x180161fd0]
lea rcx, [rbp + 0x140]
movdqu xmmword [rsp + 0x50], xmm0
mov ebx, eax
mov dword [rbp - 0x70], 0x7ace1d90
movdqa xmm0, xmmword [0x1801615d0]
movdqu xmmword [rsp + 0x60], xmm1
mov dword [rbp - 0x6c], 0xb9fb2786
movdqa xmm1, xmmword [0x180161c70]
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x68], r14
movdqu xmmword [rbp - 0x80], xmm1
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r15
call fcn.18000a6a0
mov r9, rdi
mov dword [rsp + 0x20], ebx
lea r8, [rbp + 0x80]
mov edx, 0x100000
lea rcx, [0x18017bd90]
movups xmm2, xmmword [rax]
movups xmmword [rbp + 0x80], xmm2
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rbp + 0xa0], xmm1
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rbp + 0xb0], xmm0
movsd xmm1, qword [rax + 0x40]
movsd qword [rbp + 0xc0], xmm1
movzx eax, byte [rax + 0x48]
mov byte [rbp + 0xc8], 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], rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor eax, eax
jmp 0x180145a44
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp + 0x70]
call qword [rbx + 0xa8]
mov rcx, qword [rbp + 0x68]
call qword [rbx + 0xa8]
mov eax, 1
mov r14, qword [rsp + 0x550]
mov r12, qword [rsp + 0x548]
mov rsi, qword [rsp + 0x540]
mov r15, qword [rsp + 0x558]
add rsp, 0x520
pop rdi
pop rbx
pop rbp
ret