Function at 0x14001bb00
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rax, qword [0x140285110]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r8
mov rsi, rcx
mov r8, rdx
lea rcx, [rsp + 0x98]
lea rdx, str._splugins.dat
mov rbx, qword [rax]
mov qword [rsp + 0xa8], rbx
xor ebx, ebx
mov qword [rsp + 0x118], r9
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
call fcn.14001a4a0
cmp eax, 0xffffffff
je 0x14001bf39
call sub.msvcrt.dll__getpid
mov r8, qword [rsp + 0x98]
lea rcx, [rsp + 0xa0]
lea rdx, str._s._u
mov r9d, eax
call fcn.14001a4a0
cmp eax, 0xffffffff
je 0x14001bf39
mov rdx, qword [rsp + 0x98]
lea rcx, str.saving_plugins_cache__s
lea rbx, str.CacheSave
mov r8, qword [str.main]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_modules_cache.c
mov dword [rsp + 0x20], 0x29a
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov rcx, rsi
mov qword [rsp + 0x38], rdx
mov edx, 3
call sym.libvlccore.dll_vlc_Log
mov rcx, qword [rsp + 0xa0]
lea rdx, [0x14017fec9]
call sym.libvlccore.dll_vlc_fopen
test rax, rax
mov rbx, rax
je 0x14001ca47
lea rcx, str.cache_vlc_3.0.20
mov rdx, rax
mov dword [rsp + 0x90], 0
call sub.msvcrt.dll_fputs
cmp eax, 0xffffffff
je 0x14001bec0
lea rdi, [rsp + 0x90]
mov r9, rbx
mov r8d, 1
mov edx, 4
mov dword [rsp + 0x90], 0x22
mov rcx, rdi
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
mov rcx, rbx
call sub.msvcrt.dll_ftell
mov r9, rbx
mov r8d, 1
mov edx, 4
mov rcx, rdi
mov dword [rsp + 0x90], eax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
cmp qword [rsp + 0x118], 0
je 0x14001c7d8
lea rbp, [rsp + 0x94]
lea r8, [rsp + 0x8c]
lea rsi, [rsp + 0x8e]
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], r8
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
mov r8d, 1
mov rcx, qword [rsp + 0x70]
mov edx, 4
mov r13, qword [r9 + r10*8]
mov r9, rbx
mov r11d, dword [r13 + 0x10]
mov dword [rsp + 0x94], r11d
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
mov r12, qword [r13 + 8]
test r12, r12
je 0x14001c0e8
mov r14, qword [r12 + 0x20]
test r14, r14
je 0x14001c520
mov rcx, r14
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001bf90
mov rdi, qword [r12 + 0x28]
xor eax, eax
test rdi, rdi
je 0x14001bd7c
mov rcx, rdi
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c4c0
mov rbp, qword [r12 + 0x30]
xor eax, eax
test rbp, rbp
je 0x14001bdce
mov rcx, rbp
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c4f0
lea rcx, [r12 + 0x10]
mov r9, rbx
mov r8d, 1
mov edx, 4
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
mov eax, dword [r12 + 0x10]
xor r14d, r14d
test eax, eax
jne 0x14001be52
jmp 0x14001bfc0
mov r10d, dword [r12 + 0x10]
add r14, 1
cmp r14, r10
jae 0x14001bfc0
mov r8, qword [r12 + 0x18]
mov r15, qword [r8 + r14*8]
test r15, r15
je 0x14001bf80
mov rcx, r15
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
je 0x14001be40
mov r9, rbx
mov edx, 1
mov rcx, r15
call sub.msvcrt.dll_fwrite
movzx r9d, word [rsp + 0x8e]
cmp rax, r9
je 0x14001be40
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sym.libvlccore.dll_vlc_strerror_c
lea rcx, str.cannot_write__s:__s
lea r8, str.CacheSave
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xa0]
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_modules_cache.c
mov edx, 2
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r8
mov rcx, qword [rsp + 0x60]
mov r8, qword [str.main]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], 0x2a8
call sym.libvlccore.dll_vlc_Log
mov rcx, rbx
call sub.msvcrt.dll_clearerr
mov rcx, rbx
call sub.msvcrt.dll_fclose
mov rcx, qword [rsp + 0xa0]
call sym.libvlccore.dll_vlc_unlink
mov rcx, qword [rsp + 0x98]
call fcn.14016b6d8
mov rcx, qword [rsp + 0xa0]
call fcn.14016b6d8
mov rbp, qword [0x140285110]
mov rsi, qword [rsp + 0xa8]
xor rsi, qword [rbp]
jne 0x14001cb9c
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x14001be6f
mov r9, rbx
mov edx, 1
mov rcx, r14
call sub.msvcrt.dll_fwrite
movzx r15d, word [rsp + 0x8e]
cmp rax, r15
je 0x14001bd65
jmp 0x14001bec0
mov rdi, qword [r12 + 0x48]
test rdi, rdi
je 0x14001c5b6
mov rcx, rdi
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c530
mov rbp, qword [r12 + 0x50]
xor eax, eax
test rbp, rbp
je 0x14001c02b
mov rcx, rbp
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c560
mov r14, qword [r12 + 0x38]
xor eax, eax
test r14, r14
je 0x14001c07d
mov rcx, r14
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c590
lea rcx, [r12 + 0x40]
mov r9, rbx
mov r8d, 1
mov edx, 4
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
mov r12, qword [r12 + 8]
test r12, r12
jne 0x14001bd11
mov rax, qword [r13 + 0x28]
mov rcx, qword [rsp + 0x78]
mov r9, rbx
mov r8d, 1
mov edx, 2
mov word [rsp + 0x8c], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
cmp word [rsp + 0x8c], 0
je 0x14001c6af
xor ebp, ebp
xor r12d, r12d
nop word [rax + rax]
mov rdi, rbp
add rdi, qword [r13 + 0x20]
mov r9, rbx
mov r8d, 1
mov edx, 1
mov rcx, rdi
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
lea rcx, [rdi + 1]
mov r9, rbx
mov r8d, 1
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, byte [rdi + 4]
mov r9, rbx
mov edx, 1
mov rcx, rsi
and r8d, 1
mov byte [rsp + 0x8e], r8b
mov r8d, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r15d, byte [rdi + 4]
mov r9, rbx
mov r8d, 1
mov edx, 1
mov rcx, rsi
shr r15b, 1
and r15d, 1
mov byte [rsp + 0x8e], r15b
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r9d, byte [rdi + 4]
mov r8d, 1
mov edx, 1
mov rcx, rsi
shr r9b, 2
and r9d, 1
mov byte [rsp + 0x8e], r9b
mov r9, rbx
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r10d, byte [rdi + 4]
mov r9, rbx
mov r8d, 1
mov edx, 1
mov rcx, rsi
shr r10b, 3
and r10d, 1
mov byte [rsp + 0x8e], r10b
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r11d, byte [rdi + 4]
mov r9, rbx
mov r8d, 1
mov edx, 1
mov rcx, rsi
shr r11b, 4
and r11d, 1
mov byte [rsp + 0x8e], r11b
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
mov r14, qword [rdi + 8]
test r14, r14
je 0x14001ca40
mov rcx, r14
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c817
mov r15, qword [rdi + 0x10]
xor eax, eax
test r15, r15
je 0x14001c2e5
mov rcx, r15
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c83d
mov r14, qword [rdi + 0x18]
xor eax, eax
test r14, r14
je 0x14001c336
mov rcx, r14
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c863
mov r15, qword [rdi + 0x20]
xor eax, eax
test r15, r15
je 0x14001c387
mov rcx, r15
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c890
lea rcx, [rdi + 0x48]
mov r9, rbx
mov r8d, 1
mov edx, 2
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
cmp byte [rdi], 0
js 0x14001c5bd
lea rcx, [rdi + 0x30]
mov r9, rbx
mov r8d, 1
mov edx, 8
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
lea rcx, [rdi + 0x38]
mov r9, rbx
mov r8d, 1
mov edx, 8
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
lea rcx, [rdi + 0x40]
mov r9, rbx
mov r8d, 1
mov edx, 8
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
cmp word [rdi + 0x48], 0
je 0x14001cac4
mov rcx, rbx
call sub.msvcrt.dll_ftell
neg eax
and eax, 3
mov edx, eax
jne 0x14001cb40
xor r15d, r15d
cmp word [rdi + 0x48], 0
jne 0x14001c493
jmp 0x14001c696
movzx edx, word [rdi + 0x48]
add r15d, 1
cmp r15d, edx
mov eax, edx
jae 0x14001c8b7
mov r11, qword [rdi + 0x50]
mov eax, r15d
mov r9, rbx
mov r8d, 1
mov edx, 4
lea rcx, [r11 + rax*4]
call sub.msvcrt.dll_fwrite
cmp rax, 1
je 0x14001c480
jmp 0x14001bec0
mov edx, 1
mov r9, rbx
mov rcx, rdi
call sub.msvcrt.dll_fwrite
movzx edx, word [rsp + 0x8e]
cmp rax, rdx
je 0x14001bdb7
jmp 0x14001bec0
mov rcx, rbp
mov r9, rbx
mov edx, 1
call sub.msvcrt.dll_fwrite
movzx ecx, word [rsp + 0x8e]
cmp rax, rcx
je 0x14001be09
jmp 0x14001bec0
xor eax, eax
jmp 0x14001bd2a
mov r9, rbx
mov edx, 1
mov rcx, rdi
call sub.msvcrt.dll_fwrite
movzx r11d, word [rsp + 0x8e]
cmp rax, r11
je 0x14001c014
jmp 0x14001bec0
mov edx, 1
mov r9, rbx
mov rcx, rbp
call sub.msvcrt.dll_fwrite
movzx edx, word [rsp + 0x8e]
cmp rax, rdx
je 0x14001c066
jmp 0x14001bec0
mov rcx, r14
mov r9, rbx
mov edx, 1
call sub.msvcrt.dll_fwrite
movzx ecx, word [rsp + 0x8e]
cmp rax, rcx
je 0x14001c0b8
jmp 0x14001bec0
xor eax, eax
jmp 0x14001bfd9
mov r14, qword [rdi + 0x30]
test r14, r14
je 0x14001cb67
mov rcx, r14
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
je 0x14001c62d
mov rcx, r14
mov r9, rbx
mov edx, 1
call sub.msvcrt.dll_fwrite
movzx ecx, word [rsp + 0x8e]
cmp rax, rcx
jne 0x14001bec0
cmp word [rdi + 0x48], 0
jne 0x14001c9a7
mov r15, qword [rdi + 0x60]
test r15, r15
je 0x14001cb95
mov rcx, r15
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001cb6e
cmp word [rdi + 0x48], 0
jne 0x14001c9a7
movzx edi, word [rsp + 0x8c]
add r12, 1
add rbp, 0x70
cmp r12, rdi
jb 0x14001c130
mov rbp, qword [r13 + 0x18]
xor eax, eax
test rbp, rbp
je 0x14001c6c5
mov rcx, rbp
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c954
mov r14, qword [r13 + 0x58]
xor eax, eax
test r14, r14
je 0x14001c716
mov rcx, r14
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
jne 0x14001c980
movzx edx, byte [r13 + 0x41]
mov r9, rbx
mov r8d, 1
mov rcx, rsi
mov byte [rsp + 0x8e], dl
mov edx, 1
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
lea rcx, [r13 + 0x60]
mov r9, rbx
mov r8d, 1
mov edx, 8
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
lea rcx, [r13 + 0x68]
mov r9, rbx
mov r8d, 1
mov edx, 8
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
add qword [rsp + 0x68], 1
mov r13, qword [rsp + 0x68]
cmp qword [rsp + 0x118], r13
jne 0x14001bcc8
mov rcx, rbx
call sub.msvcrt.dll_fflush
test eax, eax
jne 0x14001bec0
mov rcx, qword [rsp + 0x98]
call sym.libvlccore.dll_vlc_unlink
mov rcx, rbx
call sub.msvcrt.dll_fclose
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call sym.libvlccore.dll_vlc_rename
jmp 0x14001bf39
mov edx, 1
mov r9, rbx
mov rcx, r14
call sub.msvcrt.dll_fwrite
movzx edx, word [rsp + 0x8e]
cmp rax, rdx
je 0x14001c2cf
jmp 0x14001bec0
mov rcx, r15
mov r9, rbx
mov edx, 1
call sub.msvcrt.dll_fwrite
movzx ecx, word [rsp + 0x8e]
cmp rax, rcx
je 0x14001c320
jmp 0x14001bec0
mov r9, rbx
mov edx, 1
mov rcx, r14
call sub.msvcrt.dll_fwrite
movzx r8d, word [rsp + 0x8e]
cmp rax, r8
je 0x14001c371
jmp 0x14001bec0
mov r9, rbx
mov edx, 1
mov rcx, r15
call sub.msvcrt.dll_fwrite
movzx r9d, word [rsp + 0x8e]
cmp rax, r9
je 0x14001c3c2
jmp 0x14001bec0
test ax, ax
je 0x14001c696
xor r14d, r14d
jmp 0x14001c8d7
movzx r10d, word [rdi + 0x48]
add r14d, 1
cmp r14d, r10d
jae 0x14001c696
mov r8, qword [rdi + 0x58]
mov ecx, r14d
mov r15, qword [r8 + rcx*8]
test r15, r15
je 0x14001c950
mov rcx, r15
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
je 0x14001c8c5
mov r9, rbx
mov edx, 1
mov rcx, r15
call sub.msvcrt.dll_fwrite
movzx r9d, word [rsp + 0x8e]
cmp rax, r9
je 0x14001c8c5
jmp 0x14001bec0
xor eax, eax
jmp 0x14001c8f2
mov r9, rbx
mov edx, 1
mov rcx, rbp
call sub.msvcrt.dll_fwrite
movzx r12d, word [rsp + 0x8e]
cmp rax, r12
je 0x14001c700
jmp 0x14001bec0
mov r9, rbx
mov edx, 1
mov rcx, r14
call sub.msvcrt.dll_fwrite
movzx r11d, word [rsp + 0x8e]
cmp rax, r11
je 0x14001c751
jmp 0x14001bec0
xor r14d, r14d
jmp 0x14001c9c3
movzx edx, word [rdi + 0x48]
add r14d, 1
cmp r14d, edx
mov eax, edx
jae 0x14001c8b7
mov r10, qword [rdi + 0x50]
mov r9d, r14d
mov r15, qword [r10 + r9*8]
test r15, r15
je 0x14001ca3c
mov rcx, r15
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
je 0x14001c9b0
mov r9, rbx
mov edx, 1
mov rcx, r15
call sub.msvcrt.dll_fwrite
movzx r11d, word [rsp + 0x8e]
cmp rax, r11
je 0x14001c9b0
jmp 0x14001bec0
xor eax, eax
jmp 0x14001c9de
xor eax, eax
jmp 0x14001c294
mov r15, qword [sym.imp.msvcrt.dll__errno]
call r15
cmp dword [rax], 0xd
je 0x14001bf39
call r15
cmp dword [rax], 2
je 0x14001bf39
call r15
mov ecx, dword [rax]
lea rdi, str.CacheSave
call sym.libvlccore.dll_vlc_strerror_c
mov r9, qword [rsp + 0xa0]
lea r10, str.cannot_create__s:__s
mov r8, qword [str.main]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov edx, 2
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x38], r9
lea r9, str._builds_videolan_vlc_extras_package_win32_.._.._.._src_modules_cache.c
mov dword [rsp + 0x20], 0x2a1
call sym.libvlccore.dll_vlc_Log
jmp 0x14001bf39
mov r14, qword [rdi + 0x60]
test r14, r14
je 0x14001cb60
mov rcx, r14
call sub.msvcrt.dll_strlen
add eax, 1
mov r9, rbx
mov r8d, 1
mov edx, 2
mov rcx, rsi
mov word [rsp + 0x8e], ax
call sub.msvcrt.dll_fwrite
cmp rax, 1
jne 0x14001bec0
movzx r8d, word [rsp + 0x8e]
test r8w, r8w
je 0x14001c46f
mov r9, rbx
mov edx, 1
mov rcx, r14
call sub.msvcrt.dll_fwrite
movzx r10d, word [rsp + 0x8e]
cmp rax, r10
je 0x14001c46f
jmp 0x14001bec0
mov r8d, 1
mov rcx, rbx
call sub.msvcrt.dll_fseek
test eax, eax
je 0x14001c46f
jmp 0x14001bec0
xor eax, eax
jmp 0x14001cadc
xor eax, eax
jmp 0x14001c5d5
mov r9, rbx
mov edx, 1
mov rcx, r15
call sub.msvcrt.dll_fwrite
movzx r8d, word [rsp + 0x8e]
cmp rax, r8
je 0x14001c68b
jmp 0x14001bec0
xor eax, eax
jmp 0x14001c650
call fcn.1400c4ec0
nop
nop dword [rax]
nop word cs:[rax + rax]