Function at 0x18000c5d0
Capabilities:
Check if file exists
Create directory

Disassembly:
push rbp
lea rbp, [rsp - 0x4f0]
sub rsp, 0x5f0
mov rax, qword [0x18007d010]
xor rax, rsp
mov qword [rbp + 0x4e0], rax
cmp byte [0x18007dfac], 0
jne 0x18000c60d
mov eax, dword [0x18007df9c]
cmp dword [0x18007e008], eax
je 0x18000d0f4
mov rcx, qword [0x180080590]
lea r9, [rbp - 0x40]
mov edx, 0x816
mov r8d, 0x104
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rbp - 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x18000c695
xor edx, edx
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x18000c695
lea rax, [rbp - 0x40]
mov edx, 0x184
lea r9, str.Notepad_plugins_config_folder_n_s_ndoesnt_exist_and_failed_to_be_created._nCannot_write_configuration_file.
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1d0]
call fcn.180001540
mov rcx, qword [0x180080590]
lea r8, [0x18006d908]
mov r9d, 0x30
lea rdx, [rbp + 0x1d0]
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x18000d0f4
lea rdx, [0x18006d7f0]
lea rcx, [rbp - 0x40]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea r8, str.w__ccsUNICODE
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x30]
call fcn.18004311c
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18000c6ca
call fcn.1800431f8
cmp dword [0x18007df64], 1
lea rax, [0x18006bbc4]
lea r8, [0x18006cf1c]
cmove r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d508]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
jne 0x18000c74d
lea rax, [rbp - 0x40]
mov edx, 0x144
lea r9, str.Failed_to_write_n_s_nconfiguration_file.
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
lea rcx, [rbp + 0x1d0]
call fcn.180001540
mov rcx, qword [0x180080590]
lea r8, [0x18006d908]
mov r9d, 0x30
lea rdx, [rbp + 0x1d0]
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x18000d0f4
cmp byte [0x18007df60], 0
lea rax, [0x18006cf4c]
lea r8, [0x18006cf7c]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d318]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df68], 0
lea rax, [0x18006cfa4]
lea r8, [0x18006d014]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.default_compare_to_prev
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df69], 0
lea rax, [0x18006d09c]
lea r8, [0x18006d11c]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.check_encodings
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df6a], 0
lea rax, [0x18006d13c]
lea r8, [0x18006d194]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d360]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df6b], 0
lea rax, [0x18006d22c]
lea r8, [0x18006d26c]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d230]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df6c], 0
lea rax, [0x18006d2d4]
lea r8, [0x18006d314]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d668]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df6d], 0
lea rax, [0x18006d33c]
lea r8, [0x18006d35c]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.wrap_around
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df6e], 0
lea rax, [0x18006d384]
lea r8, [0x18006d3ec]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.go_to_first_on_recompare
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df6f], 0
lea rax, [0x18006d4f4]
lea r8, [0x18006d504]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d5a8]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df70], 0
lea rax, [0x18006d5a4]
lea r8, [0x18006d5dc]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d340]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rax, [0x18006d634]
cmp byte [0x18007df71], 0
lea r8, [0x18006d664]
lea r9, [rbp - 0x40]
cmovne r8, rax
lea rdx, [0x18006d5e0]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df72], 0
lea rax, [0x18006d6b4]
lea r8, [0x18006d6c4]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.best_seq_changed_lines
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df73], 0
lea rax, [0x18006d7ec]
lea r8, str.010101010101010101010101010101010
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006cf50]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df74], 0
lea rax, [0x18006d888]
lea r8, [0x18006d88c]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006cf80]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df75], 0
lea rax, [0x18006d890]
lea r8, [0x18006d894]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.ignore_empty_lines
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df76], 0
lea rax, [0x18006d898]
lea r8, [0x18006d89c]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.ignore_case
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df77], 0
lea rax, [0x18006d8a0]
lea r8, [0x18006d8a4]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.ignore_regex
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp qword [0x18007df90], 8
lea r8, [0x18007df78]
lea r9, [rbp - 0x40]
cmovae r8, qword [0x18007df78]
lea rdx, [0x18006d3f0]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df98], 0
lea rax, [0x18006d8a8]
lea r8, [0x18006d8ac]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d0a0]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df99], 0
lea rax, [0x18006d8b0]
lea r8, [0x18006d8b4]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.show_only_selections
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df9a], 0
lea rax, [0x18006d8b8]
lea r8, [0x18006d8bc]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.navigation_bar
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007df9b], 0
lea rax, [0x18006d8c0]
lea r8, [0x18006d8c4]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d6c8]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007df9c]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
mov dword [0x18007e008], ecx
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [0x18006d018]
lea rcx, [0x18006d120]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfb0]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [0x18006d6b8]
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfb4]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.removed
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfbc]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [0x18006d4f8]
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfb8]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.changed
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfc8]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.added_highlight
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfcc]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.removed_highlight
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfd0]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.highlight_transparency
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfd4]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.caret_line_transparency
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfd8]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.added_dark
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfdc]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.removed_dark
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfe4]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [0x18006d140]
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfe0]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.changed_dark
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dff0]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [0x18006d638]
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dff4]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [0x18006d270]
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dff8]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, [0x18006d388]
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dffc]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.caret_line_transparency_dark
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [0x18007dfa0]
lea rdx, [rsp + 0x40]
mov r9d, 0xa
lea r8d, [r9 + 0x36]
call fcn.18004339c
lea r9, [rbp - 0x40]
lea r8, [rsp + 0x40]
lea rdx, str.changed_threshold_percentage
lea rcx, [0x18006d198]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007dfa4], 0
lea rax, [0x18006d8c8]
lea r8, [0x18006d8cc]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.enable_toolbar
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007dfa5], 0
lea rax, [0x18006d8d0]
lea r8, [0x18006d8d4]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.set_as_first_tb
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007dfa6], 0
lea rax, [0x18006d8d8]
lea r8, [0x18006d8dc]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, [0x18006d2d8]
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007dfa7], 0
lea rax, [0x18006d8e0]
lea r8, [0x18006d8e4]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.compare_selection_tb
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007dfa8], 0
lea rax, [0x18006d8e8]
lea r8, [0x18006d8ec]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.clear_compare_tb
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007dfa9], 0
lea rax, [0x18006d8f0]
lea r8, [0x18006d8f4]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.navigation_tb
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rax, [0x18006d8f8]
cmp byte [0x18007dfaa], 0
lea r8, [0x18006d8fc]
lea r9, [rbp - 0x40]
cmovne r8, rax
lea rdx, [0x18006cfa8]
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp byte [0x18007dfab], 0
lea rax, [0x18006d900]
lea r8, [0x18006d904]
cmovne r8, rax
lea r9, [rbp - 0x40]
lea rdx, str.nav_bar_tb
lea rcx, str.toolbar_settings
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [0x18007dfac], 0
mov rcx, qword [rbp + 0x4e0]
xor rcx, rsp
call fcn.1800383a0
add rsp, 0x5f0
pop rbp
ret