Function at 0x140020a10
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov rax, qword [0x140285110]
mov rsi, qword [rbp + 0xa0]
mov qword [rbp - 0x28], rcx
mov rcx, rdx
mov rdi, rdx
mov qword [rbp - 0x30], r8
mov r13, r9
mov rbx, qword [rax]
mov qword [rbp + 0x28], rbx
xor ebx, ebx
call 0x1400204a0
lea rcx, [0x14018028d]
test rsi, rsi
mov rbx, rax
cmovne rcx, rsi
call sub.msvcrt.dll__strdup
test rbx, rbx
mov rsi, rax
mov qword [rbp - 0x10], 0
je 0x140020b4f
test rax, rax
je 0x140020b4f
mov rcx, rbx
mov r12, rsp
call sub.msvcrt.dll_strlen
lea r8, [rax + 1]
add rax, 0x10
and rax, 0xfffffffffffffff0
call fcn.14015b3e0
sub rsp, rax
mov rdx, rbx
lea r15, [rsp + 0x50]
mov rcx, r15
call sub.msvcrt.dll_memcpy
movzx r8d, byte [rsp + 0x50]
mov rcx, r15
test r8b, r8b
je 0x140020b15
nop dword [rax + rax]
cmp r8b, 0x5c
mov r14, rcx
jne 0x140020ae5
jmp 0x140020af5
cmp dl, 0x5c
je 0x140020af1
add r14, 1
movzx edx, byte [r14]
test dl, dl
jne 0x140020ae0
test dl, dl
je 0x140020b15
mov byte [r14], 0
cmp byte [r15], 0
jne 0x140020de0
movzx r8d, byte [r14 + 1]
mov byte [r14], 0x5c
lea rcx, [r14 + 1]
test r8b, r8b
jne 0x140020ad0
mov edx, 0x1c0
mov rcx, rbx
call sym.libvlccore.dll_vlc_mkdir
mov rcx, rsi
mov rsp, r12
call fcn.14008f260
lea rcx, [rbp - 0x10]
lea rdx, str._s_art_s
mov r9, rsi
mov r8, rbx
call fcn.140020400
test eax, eax
jns 0x140020b4f
mov qword [rbp - 0x10], 0
mov rcx, rsi
call fcn.14016b6d8
mov rcx, rbx
call fcn.14016b6d8
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x140020f39
lea rdx, [0x140180267]
mov rcx, rbx
call sym.libvlccore.dll_vlc_path2uri
test rax, rax
mov r14, rax
je 0x140020f43
lea rdx, [rbp - 0x10]
mov rcx, rbx
call sym.libvlccore.dll_vlc_stat
test eax, eax
je 0x140020e04
lea rdx, [0x140180297]
mov rcx, rbx
call sym.libvlccore.dll_vlc_fopen
test rax, rax
mov rsi, rax
je 0x140020c2a
mov rcx, qword [rbp - 0x30]
mov r9, rax
mov r8, r13
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp r13, rax
je 0x140020e2c
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sym.libvlccore.dll_vlc_strerror_c
lea r11, [0x1401802e6]
mov qword [rsp + 0x40], rax
lea rax, str.playlist_SaveArt
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x20], 0x12b
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_playlist_art.c
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], rax
mov edx, 1
mov r8, qword [str.main]
mov rcx, qword [rbp - 0x28]
call sym.libvlccore.dll_vlc_Log
mov rcx, rsi
call sub.msvcrt.dll_fclose
mov rcx, r14
call fcn.14016b6d8
lea r8, [0x14018026c]
lea rdx, [0x140180270]
mov rcx, rdi
call sym.libvlccore.dll_input_item_GetInfo
cmp byte [rax], 0
mov rdi, rax
je 0x140020da6
mov ecx, 3
lea r12, [rbp - 0x18]
mov esi, 0
call sym.libvlccore.dll_config_GetUserDir
lea rdx, str._s_by_iiuid_s
mov r9, rdi
mov r8, rax
mov rcx, r12
mov r13, rax
call fcn.140020400
cmp eax, 0xffffffff
cmovne rsi, qword [rbp - 0x18]
mov rcx, r13
call fcn.14016b6d8
lea r9, str.arturl
lea rdx, [0x140180261]
mov rcx, r12
mov r8, rsi
call fcn.140020400
cmp eax, 0xffffffff
je 0x140020e82
mov rcx, rsi
mov r12, qword [rbp - 0x18]
mov r14, rsp
call sub.msvcrt.dll_strlen
lea r8, [rax + 1]
add rax, 0x10
and rax, 0xfffffffffffffff0
call fcn.14015b3e0
sub rsp, rax
mov rdx, rsi
lea r13, [rsp + 0x50]
mov rcx, r13
call sub.msvcrt.dll_memcpy
movzx ecx, byte [rsp + 0x50]
test cl, cl
je 0x140020d38
mov rdx, r13
cmp cl, 0x5c
mov r15, rdx
jne 0x140020d06
jmp 0x140020d18
cmp r8b, 0x5c
je 0x140020d13
add r15, 1
movzx r8d, byte [r15]
test r8b, r8b
jne 0x140020d00
test r8b, r8b
je 0x140020d38
mov byte [r15], 0
cmp byte [r13], 0
jne 0x140020df2
movzx ecx, byte [r15 + 1]
mov byte [r15], 0x5c
lea rdx, [r15 + 1]
test cl, cl
jne 0x140020cf0
mov edx, 0x1c0
mov rcx, rsi
call sym.libvlccore.dll_vlc_mkdir
mov rcx, rsi
mov rsp, r14
call fcn.14016b6d8
test r12, r12
je 0x140020da6
lea rdx, [0x140180297]
mov rcx, r12
call sym.libvlccore.dll_vlc_fopen
test rax, rax
mov r13, rax
je 0x140020d9e
lea rcx, [0x140180303]
mov rdx, rax
call sub.msvcrt.dll_fputs
test eax, eax
js 0x140020ee1
mov rdx, r13
mov rcx, rbx
call sub.msvcrt.dll_fputs
test eax, eax
js 0x140020ee1
mov rcx, r13
call sub.msvcrt.dll_fclose
mov rcx, r12
call fcn.14016b6d8
mov rcx, rdi
call fcn.14016b6d8
mov rcx, rbx
call fcn.14016b6d8
xor eax, eax
mov r11, qword [0x140285110]
mov rbx, qword [rbp + 0x28]
xor rbx, qword [r11]
jne 0x140020f55
lea rsp, [rbp + 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, 0x1c0
mov rcx, r15
call sym.libvlccore.dll_vlc_mkdir
jmp 0x140020b03
mov edx, 0x1c0
mov rcx, r13
call sym.libvlccore.dll_vlc_mkdir
jmp 0x140020d27
mov r8, r14
mov edx, 0x10
mov rcx, rdi
mov dword [rbp - 0x28], eax
call sym.libvlccore.dll_input_item_SetMeta
mov rcx, rbx
call fcn.14016b6d8
mov rcx, r14
call fcn.14016b6d8
mov eax, dword [rbp - 0x28]
jmp 0x140020db8
lea r10, str.playlist_SaveArt
lea r9, str.album_art_saved_to__s
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x20], 0x12f
mov r8, qword [str.main]
mov edx, 3
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r10
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_playlist_art.c
mov rcx, qword [rbp - 0x28]
call sym.libvlccore.dll_vlc_Log
mov r8, r14
mov edx, 0x10
mov rcx, rdi
call sym.libvlccore.dll_input_item_SetMeta
jmp 0x140020c22
mov rcx, rsi
mov r15, rsp
mov r14, rsp
call sub.msvcrt.dll_strlen
lea r8, [rax + 1]
add rax, 0x10
and rax, 0xfffffffffffffff0
call fcn.14015b3e0
xor r12d, r12d
sub rsp, rax
mov rdx, rsi
lea r13, [rsp + 0x50]
mov rcx, r13
call sub.msvcrt.dll_memcpy
movzx ecx, byte [rsp + 0x50]
test cl, cl
jne 0x140020ced
mov rcx, rsi
mov edx, 0x1c0
call sym.libvlccore.dll_vlc_mkdir
mov rcx, rsi
mov rsp, r15
call fcn.14016b6d8
jmp 0x140020da6
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sym.libvlccore.dll_vlc_strerror_c
lea r9, str.Error_writing__s:__s
lea r10, str.playlist_SaveArt
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x20], 0x14a
mov edx, 1
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r10
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_playlist_art.c
mov r8, qword [str.main]
mov rcx, qword [rbp - 0x28]
call sym.libvlccore.dll_vlc_Log
jmp 0x140020d96
mov eax, 0xffffffff
jmp 0x140020db8
mov rcx, rbx
call fcn.14016b6d8
mov eax, 0xffffffff
jmp 0x140020db8
call fcn.1400c4ec0
nop
nop
nop
nop
nop
nop