Function at 0x140150170
Capabilities:
Check if file exists
Check mutex on windows
Set current directory

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x98fc0
call fcn.140181ce0
sub rsp, rax
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0x98ff8], rbx
mov qword [rsp + 0x99008], rsi
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rsp + 0x98fb0], rax
mov rbx, r8
mov qword [rsp + 0x60], rcx
xor r12d, r12d
mov dword [rsp + 0x54], r12d
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
lea rdx, [rsp + 0x38]
mov rcx, r8
call fcn.14014fd60
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.14014ffc0
mov r15, rax
lea rcx, [rsp + 0x53]
call fcn.140009000
mov bl, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, str.nppInstance
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, bl
cmp eax, 0xb7
cmove ecx, r12d
mov dword [rsp + 0x58], ecx
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
cmp rbx, rax
je 0x1401503ae
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015024d
mov rdx, qword [rbx]
lea rcx, str._notepadStyleCmdline
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150271
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150240
jmp 0x1401503ae
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x1401502c5
sub rsi, rbx
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x1401502b3
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r12
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r12w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x140150282
mov r14, qword [rsp + 0x40]
lea rcx, [r14 - 0x20]
call fcn.1400068d0
sub qword [rsp + 0x40], 0x20
mov rdx, r15
lea rcx, [rsp + 0x98720]
call fcn.14014ee50
mov rbx, rax
lea rax, [rsp + 0x38]
cmp rax, rbx
je 0x140150320
lea rcx, [rsp + 0x38]
call fcn.14000b990
mov rcx, qword [rbx]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x40], rcx
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x48], rax
mov qword [rbx], r12
mov qword [rbx + 8], r12
mov qword [rbx + 0x10], r12
mov rbx, qword [rsp + 0x98720]
test rbx, rbx
je 0x1401503a9
mov rdi, qword [rsp + 0x98728]
cmp rbx, rdi
je 0x140150359
nop word [rax + rax]
mov rcx, rbx
call fcn.1400068d0
add rbx, 0x20
cmp rbx, rdi
jne 0x140150340
mov rbx, qword [rsp + 0x98720]
mov rdx, qword [rsp + 0x98730]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14015038d
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140151acd
mov rcx, rbx
call fcn.1401812c4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x98720], xmm0
mov qword [rsp + 0x98730], r12
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x1401503f0
nop dword [rax + rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1401503cd
mov rdx, qword [rbx]
lea rcx, str.__help
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1401508c2
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x1401503c0
xor r13b, r13b
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x140150430
nop dword [rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015040d
mov rdx, qword [rbx]
lea rcx, str._multiInst
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150935
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150400
xor cl, cl
mov byte [rsp + 0x30], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x140150470
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015044d
mov rdx, qword [rbx]
lea rcx, str._exportfunctionList
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1401509a7
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150440
mov byte [rsp + 0x52], 0
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x1401504ad
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015048d
mov rdx, qword [rbx]
lea rcx, [0x140236fe8]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150a24
add rbx, 0x20
cmp rbx, qword [rsp + 0x40]
jne 0x140150480
mov byte [rsp + 0x50], 0
mov dword [rsp + 0xe0], 0
mov word [rsp + 0xe4], 0
mov byte [rsp + 0xe6], 0
mov r15d, 0xffffffff
mov qword [rsp + 0xe8], 0xffffffffffffffff
mov dword [rsp + 0xf0], r15d
mov dword [rsp + 0xfc], 0
mov byte [rsp + 0x100], 0
mov r12d, 0x55
mov dword [rsp + 0x104], r12d
xor eax, eax
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], 7
mov word [rsp + 0x108], ax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 7
mov word [rsp + 0x128], ax
mov byte [rsp + 0x148], al
mov dword [rsp + 0x14c], r15d
mov qword [rsp + 0xf4], rax
mov rbx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
cmp rbx, rax
je 0x1401505c0
nop word [rax + rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015059d
mov rdx, qword [rbx]
lea rcx, str._notabbar
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150a91
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150590
xor cl, cl
mov byte [rsp + 0xe3], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x140150603
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1401505e0
mov rdx, qword [rbx]
lea rcx, str._noPlugin
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150b0c
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x1401505d3
xor cl, cl
mov byte [rsp + 0xe0], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x140150646
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140150623
mov rdx, qword [rbx]
lea rcx, [0x140236ef0]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150b87
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150616
xor cl, cl
mov byte [rsp + 0xe1], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x140150690
nop dword [rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015066d
mov rdx, qword [rbx]
lea rcx, str._nosession
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150c07
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150660
xor cl, cl
mov byte [rsp + 0xe2], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x1401506d3
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1401506b0
mov rdx, qword [rbx]
lea rcx, str._systemtray
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150c28
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x1401506a3
xor cl, cl
mov byte [rsp + 0xe4], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x140150716
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1401506f3
mov rdx, qword [rbx]
lea rcx, str._alwaysOnTop
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150c49
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x1401506e6
xor cl, cl
mov byte [rsp + 0xe6], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x140150760
nop dword [rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015073d
mov rdx, qword [rbx]
lea rcx, str._loadingTime
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150c6a
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150730
xor cl, cl
mov byte [rsp + 0xe5], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x1401507a3
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140150780
mov rdx, qword [rbx]
lea rcx, str._openSession
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150c8b
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x140150773
xor cl, cl
mov byte [rsp + 0xfe], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x1401507e6
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1401507c3
mov rdx, qword [rbx]
lea rcx, [0x140236fac]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150cac
add rbx, 0x20
mov rax, qword [rsp + 0x40]
cmp rbx, rax
jne 0x1401507b6
xor cl, cl
mov byte [rsp + 0xff], cl
mov rbx, qword [rsp + 0x38]
cmp rbx, rax
je 0x14015082d
nop dword [rax]
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14015080d
mov rdx, qword [rbx]
lea rcx, str._openFoldersAsWorkspace
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140150ccd
add rbx, 0x20
cmp rbx, qword [rsp + 0x40]
jne 0x140150800
xor al, al
mov byte [rsp + 0x100], al
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0xd0], xmm1
xor r14d, r14d
mov word [rsp + 0xc0], r14w
lea ecx, [r14 + 0x6c]
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x38]
call fcn.14014f980
test al, al
jne 0x140150ce9
mov r8, qword [rsp + 0xd8]
cmp r8, 8
jb 0x1401508a3
inc r8
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0xc0]
call fcn.140007280
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0xd0], xmm0
mov word [rsp + 0xc0], r14w
jmp 0x140150d18
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x140150916
sub rsi, rbx
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x140150904
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r12
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r12w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x1401508d3
mov r14, qword [rsp + 0x40]
lea rcx, [r14 - 0x20]
call fcn.1400068d0
mov rax, qword [rsp + 0x40]
sub rax, 0x20
mov qword [rsp + 0x40], rax
mov r13b, 1
jmp 0x1401503f3
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x140150989
sub rsi, rbx
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x140150977
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r12
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r12w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x140150946
mov r14, qword [rsp + 0x40]
lea rcx, [r14 - 0x20]
call fcn.1400068d0
mov rax, qword [rsp + 0x40]
sub rax, 0x20
mov qword [rsp + 0x40], rax
mov cl, 1
jmp 0x140150432
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x140150a03
sub rsi, rbx
nop dword [rax + rax]
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x1401509f1
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r12
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r12w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x1401509c0
mov r14, qword [rsp + 0x40]
lea rcx, [r14 - 0x20]
call fcn.1400068d0
mov rax, qword [rsp + 0x40]
sub rax, 0x20
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x52], 1
jmp 0x140150475
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x140150a78
sub rsi, rbx
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x140150a66
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r12
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r12w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x140150a35
mov r14, qword [rsp + 0x40]
lea rcx, [r14 - 0x20]
call fcn.1400068d0
sub qword [rsp + 0x40], 0x20
mov byte [rsp + 0x50], 1
jmp 0x1401504b2
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x140150aee
sub rsi, rbx
xor r15d, r15d
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x140150ad6
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r15
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r15w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x140150aa5
mov r14, qword [rsp + 0x40]
mov r15d, 0xffffffff
lea rcx, [r14 - 0x20]
call fcn.1400068d0
mov rax, qword [rsp + 0x40]
sub rax, 0x20
mov qword [rsp + 0x40], rax
mov cl, 1
jmp 0x1401505c2
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x140150b69
sub rsi, rbx
xor r12d, r12d
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x140150b51
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r12
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r12w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x140150b20
mov r14, qword [rsp + 0x40]
mov r12d, 0x55
lea rcx, [r14 - 0x20]
call fcn.1400068d0
mov rax, qword [rsp + 0x40]
sub rax, 0x20
mov qword [rsp + 0x40], rax
mov cl, 1
jmp 0x140150605
mov r14, qword [rsp + 0x40]
lea rsi, [rbx + 0x20]
cmp rsi, r14
je 0x140150be9
sub rsi, rbx
xor r15d, r15d
nop dword [rax + rax]
lea rdi, [rsi + rbx]
cmp rbx, rdi
je 0x140150bd1
mov rcx, rbx
call fcn.1400068d0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsi + rbx + 0x10], r15
mov qword [rsi + rbx + 0x18], 7
mov word [rdi], r15w
add rbx, 0x20
lea rax, [rsi + rbx]
cmp rax, r14
jne 0x140150ba0
mov r14, qword [rsp + 0x40]
mov r15d, 0xffffffff
lea rcx, [r14 - 0x20]
call fcn.1400068d0
mov rax, qword [rsp + 0x40]
sub rax, 0x20
mov qword [rsp + 0x40], rax
mov cl, 1
jmp 0x140150648
mov r8, rbx
lea rdx, [rsp + 0x98720]
lea rcx, [rsp + 0x38]
call fcn.14014f2d0
mov cl, 1
mov rax, qword [rsp + 0x40]
jmp 0x140150692
mov r8, rbx
lea rdx, [rsp + 0x98720]
lea rcx, [rsp + 0x38]
call fcn.14014f2d0
mov cl, 1
mov rax, qword [rsp + 0x40]
jmp 0x1401506d5
mov r8, rbx
lea rdx, [rsp + 0x98720]
lea rcx, [rsp + 0x38]
call fcn.14014f2d0
mov cl, 1
mov rax, qword [rsp + 0x40]
jmp 0x140150718
mov r8, rbx
lea rdx, [rsp + 0x98720]
lea rcx, [rsp + 0x38]
call fcn.14014f2d0
mov cl, 1
mov rax, qword [rsp + 0x40]
jmp 0x140150762
mov r8, rbx
lea rdx, [rsp + 0x98720]
lea rcx, [rsp + 0x38]
call fcn.14014f2d0
mov cl, 1
mov rax, qword [rsp + 0x40]
jmp 0x1401507a5
mov r8, rbx
lea rdx, [rsp + 0x98720]
lea rcx, [rsp + 0x38]
call fcn.14014f2d0
mov cl, 1
mov rax, qword [rsp + 0x40]
jmp 0x1401507e8
mov r8, rbx
lea rdx, [rsp + 0x98720]
lea rcx, [rsp + 0x38]
call fcn.14014f2d0
mov al, 1
jmp 0x14015082f
lea rcx, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 8
cmovae rcx, qword [rsp + 0xc0]
call fcn.1400e0bf0
mov r12d, eax
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
mov dword [rsp + 0x104], r12d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xc0]
call fcn.14014f690
mov rbx, rax
lea rax, [rsp + 0x108]
cmp rax, rbx
je 0x140150d76
lea rcx, [rsp + 0x108]
call fcn.1400068d0
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x108], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x118], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
lea r8, [rsp + 0x148]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x1d0]
call fcn.14014f380
mov rbx, rax
lea rax, [rsp + 0x128]
cmp rax, rbx
je 0x140150de1
lea rcx, [rsp + 0x128]
call fcn.1400068d0
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x128], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x138], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rsp + 0x1d0]
call fcn.1400068d0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0xd0], xmm1
mov word [rsp + 0xc0], r14w
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x38]
lea rcx, str._qSpeed
call fcn.14014fa80
test al, al
je 0x140150e9e
call fcn.1401acca0
mov rsi, rax
lea rbx, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 8
cmovae rbx, qword [rsp + 0xc0]
mov dword [rax], r14d
mov r8d, 0xa
lea rdx, [rsp + 0x98720]
mov rcx, rbx
call fcn.1401b18a0
mov edi, eax
cmp rbx, qword [rsp + 0x98720]
je 0x140151ad3
cmp dword [rsi], 0x22
je 0x140151ac0
dec eax
cmp eax, 2
ja 0x140150e9e
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
mov r15d, edi
jmp 0x140150eab
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
mov dword [rsp + 0x14c], r15d
lea r8, [rsp + 0x51]
lea rdx, [rsp + 0x38]
mov cl, 0x6e
call fcn.14014f890
mov dword [rsp + 0xe8], eax
lea r8, [rsp + 0x51]
lea rdx, [rsp + 0x38]
mov cl, 0x63
call fcn.14014f890
mov dword [rsp + 0xec], eax
lea r8, [rsp + 0x51]
lea rdx, [rsp + 0x38]
mov cl, 0x70
call fcn.14014f890
mov dword [rsp + 0xf0], eax
lea r8, [rsp + 0xfc]
lea rdx, [rsp + 0x38]
mov cl, 0x78
call fcn.14014f890
mov dword [rsp + 0xf4], eax
lea r8, [rsp + 0xfd]
lea rdx, [rsp + 0x38]
mov cl, 0x79
call fcn.14014f890
mov dword [rsp + 0xf8], eax
call fcn.14000c990
mov rdi, rax
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], 7
mov word [rsp + 0x150], r14w
lea r8, [rsp + 0x150]
lea rdx, [rsp + 0x38]
lea rcx, str._settingsDir
call fcn.14014fa80
test al, al
je 0x1401510c5
lea rax, [rsp + 0x150]
mov r10, qword [rsp + 0x150]
mov r11, qword [rsp + 0x168]
cmp r11, 8
cmovae rax, r10
mov r9, qword [rsp + 0x160]
cmp word [rax], 0x22
jne 0x140151091
lea rax, [rsp + 0x150]
cmp r11, 8
cmovae rax, r10
cmp word [rax + r9*2 - 2], 0x22
jne 0x140151091
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0xd0], xmm1
mov word [rsp + 0xc0], r14w
cmp r9, 1
jb 0x140151ae0
lea rcx, [r9 - 2]
lea rax, [r9 - 1]
mov r8, r14
cmp rax, rcx
setb r8b
add r9, 0xfffffffffffffffe
add r8, r9
lea rdx, [rsp + 0x150]
cmp r11, 8
cmovae rdx, r10
add rdx, 2
lea rcx, [rsp + 0xc0]
call fcn.140006d70
mov r15d, 1
mov dword [rsp + 0x54], r15d
lea rdx, [rsp + 0xc0]
lea rcx, [rsp + 0x150]
call fcn.140011760
mov eax, r15d
and eax, 0xfffffffe
mov dword [rsp + 0x54], eax
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
mov r11, qword [rsp + 0x168]
mov r9, qword [rsp + 0x160]
mov r10, qword [rsp + 0x150]
jmp 0x140151097
mov r15d, 1
lea rcx, [rdi + 0x32e78]
lea rax, [rsp + 0x150]
cmp rcx, rax
je 0x1401510cb
lea rdx, [rsp + 0x150]
cmp r11, 8
cmovae rdx, r10
mov r8, r9
call fcn.140006d70
jmp 0x1401510cb
mov r15d, 1
test r13b, r13b
je 0x1401510e9
xor r9d, r9d
lea r8, str.Notepad_Command_Argument_Help
lea rdx, str.Usage_:_r_rnotepad____help____multiInst____noPlugin____lLanguage____LlangCode____nLineNumber____cColumnNumber____pPosition____xLeftPos____yTopPos____nosession____notabbar____ro____systemtray____loadingTime____alwaysOnTop____openSession____r____qn_Easter_egg_name____qt_a_text_to_display.____qf_D:my_quote.txt_____qSpeed123____quickPrint____settingsDir_d:your_settings_dir_____openFoldersAsWorkspace___filePath__r_r__help_:_This_help_message_r_multiInst_:_Launch_another_Notepad_instance_r_noPlugin_:_Launch_Notepad_without_loading_any_plugin_r_l_:_Open_file_or_Ghost_type_with_syntax_highlighting_of_choice_r_L_:_Apply_indicated_localization__langCode_is_browser_language_code_r_n_:_Scroll_to_indicated_line_on_filePath_r_c_:_Scroll_to_indicated_column_on_filePath_r_p_:_Scroll_to_indicated_position_on_filePath_r_x_:_Move_Notepad_to_indicated_left_side_position_on_the_screen_r_y_:_Move_Notepad_to_indicated_top_position_on_the_screen_r_nosession_:_Launch_Notepad_without_previous_session_r_notabbar_:_Launch_Notepad_without_tabbar_r_ro_:_Make_the_filePath_read_only_r_systemtray_:_Launch_Notepad_directly_in_system_tray_r_loadingTime_:_Display_Notepad_loading_time_r_alwaysOnTop_:_Make_Notepad_always_on_top_r_openSession_:_Open_a_session._filePath_must_be_a_session_file_r_r_:_Open_files_recursively._This_argument_will_be_ignored_r_____if_filePath_contain_no_wildcard_character_r_qn_Easter_egg_name_:_Ghost_type_easter_egg_via_its_name_r_qt_text_to_display._:_Ghost_type_the_given_text_r_qf_D:my_quote.txt_:_Ghost_type_a_file_content_via_the_file_path_r_qSpeed_:_Ghost_typing_speed._Value_from_1_to_3_for_slow__fast_and_fastest_r_quickPrint_:_Print_the_file_given_as_argument_then_quit_Notepad_r_settingsDir_d:your_settings_dir_:_Override_the_default_settings_dir_r_openFoldersAsWorkspace:_open_filePath_of_folder_s__as_workspace_rfilePath_:_file_or_folder_name_to_open__absolute_or_relative_path_name__r
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov r8, qword [rsp + 0x118]
test r8, r8
je 0x140151129
lea rcx, [rdi + 0x32fb8]
lea rax, [rsp + 0x108]
cmp rcx, rax
je 0x140151129
lea rdx, [rsp + 0x108]
cmp qword [rsp + 0x120], 8
cmovae rdx, qword [rsp + 0x108]
call fcn.140006d70
mov rcx, rdi
call fcn.1400e7b20
movzx r13d, byte [rdi + 0x3d8]
movzx ecx, byte [rsp + 0x52]
movzx eax, byte [rsp + 0x50]
test cl, cl
jne 0x14015114b
test al, al
je 0x14015115b
mov byte [rsp + 0x30], 1
xor r13b, r13b
mov byte [rsp + 0xe2], 1
mov byte [rdi + 0x32fd8], cl
mov byte [rdi + 0x32fd9], al
cmp byte [rdi + 0x33380], 0
je 0x140151189
mov bl, 1
mov byte [rsp + 0x30], bl
mov byte [rsp + 0xe3], bl
movzx eax, bl
mov byte [rsp + 0xe2], bl
jmp 0x140151196
movzx eax, byte [rsp + 0xe2]
movzx ebx, byte [rsp + 0x30]
cmp dword [rdi + 0x830], 2
jne 0x1401511b8
mov bl, 1
mov byte [rsp + 0x30], bl
movzx eax, al
cmp byte [rsp + 0x58], 0
cmove eax, r15d
mov byte [rsp + 0xe2], al
mov qword [rsp + 0x180], r14
mov qword [rsp + 0x188], r14
mov qword [rsp + 0x180], r14
mov qword [rsp + 0x188], 7
mov word [rsp + 0x170], r14w
xor r8d, r8d
lea rdx, [0x1401e6278]
lea rcx, [rsp + 0x170]
call fcn.140006d70
nop
mov rdx, qword [rsp + 0x40]
mov r12, rdx
mov rcx, qword [rsp + 0x38]
sub r12, rcx
sar r12, 5
mov rsi, r14
test r12, r12
je 0x1401512d4
nop dword [rax]
mov rax, rdx
sub rax, rcx
sar rax, 5
cmp rax, rsi
jbe 0x140151ae6
lea rbx, [r14 + rcx]
cmp qword [rbx + 0x18], 8
jb 0x140151241
mov rbx, qword [rbx]
cmp word [rbx], 0
je 0x1401512bf
mov r8, r15
lea rdx, [0x1401f4c4c]
lea rcx, [rsp + 0x170]
call fcn.140006aa0
mov rdx, rbx
lea rcx, [rsp + 0xc0]
call fcn.14002a9b0
nop
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x14015127c
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rsp + 0x170]
call fcn.140006aa0
nop
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
mov r8d, 2
lea rdx, [0x1401f4c50]
lea rcx, [rsp + 0x170]
call fcn.140006aa0
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
inc rsi
add r14, 0x20
cmp rsi, r12
jb 0x140151220
movzx ebx, byte [rsp + 0x30]
call fcn.14000c990
nop
lea rdx, [rax + 0x33138]
lea rcx, [rsp + 0xc0]
call fcn.140002f50
mov dword [rsp + 0x54], 2
cmp qword [rax + 0x18], 8
jb 0x140151300
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, 2
and eax, 0xfffffffd
mov dword [rsp + 0x54], eax
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
mov r14d, dword [rsp + 0x58]
test bl, bl
jne 0x140151598
test r14b, r14b
jne 0x140151598
xor edx, edx
lea rcx, [0x140217680]
call qword [sym.imp.USER32.dll_FindWindowW]
mov rbx, rax
xor r12d, r12d
mov esi, r12d
test rax, rax
jne 0x140151389
cmp esi, 5
jge 0x140151380
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
lea rcx, [0x140217680]
call qword [sym.imp.USER32.dll_FindWindowW]
mov rbx, rax
inc esi
test rax, rax
je 0x140151355
jmp 0x140151389
test rbx, rbx
je 0x14015159b
mov rcx, rdi
call fcn.1400d7440
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x1401513a6
mov r8d, 3
jmp 0x1401513b9
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x1401513c5
mov r8d, 9
mov edx, r8d
mov rcx, rbx
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov rax, qword [rsp + 0x40]
sub rax, qword [rsp + 0x38]
sar rax, 5
test rax, rax
je 0x140151527
movzx eax, byte [rsp + 0xe1]
mov byte [rsp + 0x98720], al
movzx eax, byte [rsp + 0xe2]
mov byte [rsp + 0x98721], al
movzx eax, byte [rsp + 0xfe]
mov byte [rsp + 0x98722], al
movzx eax, byte [rsp + 0xff]
mov byte [rsp + 0x98723], al
movzx eax, byte [rsp + 0x100]
mov byte [rsp + 0x98724], al
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x98728], eax
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x9872c], eax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x98730], eax
mov eax, dword [rsp + 0x104]
mov dword [rsp + 0x98734], eax
movups xmm0, xmmword [rsp + 0x98720]
movups xmmword [rsp + 0xc0], xmm0
movsd xmm1, qword [rsp + 0x98730]
movsd qword [rsp + 0xd0], xmm1
mov qword [rsp + 0x98720], r12
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x98730], rax
mov dword [rsp + 0x98728], 0x18
mov qword [rsp + 0x1d0], 2
lea rax, [rsp + 0x170]
cmp qword [rsp + 0x188], 8
cmovae rax, qword [rsp + 0x170]
mov qword [rsp + 0x1e0], rax
mov eax, dword [rsp + 0x180]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x1d8], eax
lea r9, [rsp + 0x98720]
mov r8, qword [rsp + 0x60]
mov edx, 0x4a
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
lea r9, [rsp + 0x1d0]
mov r8, qword [rsp + 0x60]
mov edx, 0x4a
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
nop
lea rcx, [rsp + 0x170]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x150]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x128]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x108]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x38]
call fcn.14000b990
xor eax, eax
mov rcx, qword [rsp + 0x98fb0]
xor rcx, rsp
call fcn.1401813e0
lea r11, [rsp + 0x98fc0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
xor r12d, r12d
lea rax, vtable.Window.0
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x2a8], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x2b0], xmm0
lea rax, vtable.Notepad_plus_Window.0
mov qword [rsp + 0x2a0], rax
lea rcx, [rsp + 0x2c0]
call fcn.14007f490
nop
mov word [rsp + 0x986d0], 0
mov qword [rsp + 0x986d8], r12
mov dword [rsp + 0x986e0], r15d
mov byte [rsp + 0x986e4], 0
mov qword [rsp + 0x986e8], 0xfde9
mov qword [rsp + 0x986f0], r12
mov qword [rsp + 0x98708], r12
mov qword [rsp + 0x98710], r12
mov qword [rsp + 0x98708], r12
mov qword [rsp + 0x98710], 7
mov word [rsp + 0x986f8], r12w
lea rdx, [rsp + 0x1b0]
mov rcx, rdi
call fcn.14003e600
nop
mov r8d, 9
lea rdx, str.updater_
lea rcx, [rsp + 0x1b0]
call fcn.140006aa0
lea r8, str.gup.exe
lea rdx, [rsp + 0x1b0]
lea rcx, [rsp + 0x190]
call fcn.140001cc0
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0xd0], xmm1
mov word [rsp + 0xc0], r12w
mov r8d, 2
lea rdx, [0x1402385e0]
lea rcx, [rsp + 0xc0]
call fcn.140006d70
nop
mov r8d, 4
lea rdx, str.7.95
lea rcx, [rsp + 0xc0]
call fcn.140006aa0
lea rcx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 8
cmovae rcx, qword [rsp + 0x190]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete sil
mov byte [rdi + 0x3ec], sil
test r13b, r13b
je 0x14015175b
xor edx, edx
lea rcx, [rsp + 0x98720]
call fcn.1400d1830
mov eax, dword [rdi + 0x3e0]
cmp dword [rsp + 0x98720], eax
jne 0x14015174e
mov eax, dword [rdi + 0x3e4]
cmp dword [rsp + 0x98724], eax
jne 0x14015174e
mov eax, dword [rdi + 0x3e8]
cmp dword [rsp + 0x98728], eax
setb al
movzx r13d, r13b
test al, al
cmovne r13d, r12d
mov ebx, dword [rdi + 0x33384]
lea rcx, [rsp + 0x1f0]
call fcn.140003360
nop
mov r8d, r15d
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x1f0]
call fcn.140006ea0
test r14b, r14b
je 0x14015189e
test sil, sil
je 0x14015189e
cmp ebx, 7
jle 0x14015189e
test al, al
je 0x14015189e
cmp byte [rdi + 0x32e71], 0
je 0x1401517cd
mov r8d, 6
lea rdx, str.__px64
lea rcx, [rsp + 0xc0]
call fcn.140006aa0
test r13b, r13b
je 0x14015189e
lea r9, [rsp + 0x1b0]
cmp qword [rsp + 0x1c8], 8
cmovae r9, qword [rsp + 0x1b0]
lea r8, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 8
cmovae r8, qword [rsp + 0xc0]
lea rdx, [rsp + 0x190]
cmp qword [rsp + 0x1a8], 8
cmovae rdx, qword [rsp + 0x190]
lea rcx, [rsp + 0x98740]
call fcn.1400b44c0
nop
xor edx, edx
lea rcx, [rsp + 0x98740]
call fcn.140103930
mov edx, dword [rdi + 0x3dc]
test edx, edx
jns 0x140151853
neg edx
mov dword [rdi + 0x3dc], edx
lea rcx, [rsp + 0x98720]
call fcn.1400d1830
movsd xmm0, qword [rax]
movsd qword [rdi + 0x3e0], xmm0
mov eax, dword [rax + 8]
mov dword [rdi + 0x3e8], eax
lea rcx, [rsp + 0x98780]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x98760]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x98740]
call fcn.1400068d0
mov qword [rsp + 0x80], r12
call fcn.14014a010
nop
lea r9, [rsp + 0x170]
cmp qword [rsp + 0x188], 8
cmovae r9, qword [rsp + 0x170]
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x2a0]
call fcn.14009ece0
cmp ebx, 0xa
jge 0x1401518f1
test ebx, ebx
jne 0x140151953
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140151953
mov rcx, rax
cmp dword [rdi + 0x33384], 0xa
jne 0x14015192d
lea rdx, str.ChangeWindowMessageFilter
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140151953
mov edx, r15d
mov ecx, 0x4a
call rax
jmp 0x140151953
lea rdx, str.ChangeWindowMessageFilterEx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140151953
xor r9d, r9d
mov r8d, r15d
lea edx, [r9 + 0x4a]
mov rcx, qword [rsp + 0x2b8]
call rax
mov bl, 1
test bl, bl
je 0x1401519c2
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
setne bl
test eax, eax
je 0x1401519c0
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x2a0]
call fcn.1400a0340
test al, al
jne 0x1401519c0
lea r8, [rsp + 0x70]
mov rdx, qword [rsp + 0x97d88]
mov rcx, qword [rsp + 0x2b8]
call qword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x1401519c0
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x140151955
mov ebx, dword [rsp + 0x80]
lea rcx, [rsp + 0x278]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x258]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x238]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x220]
call fcn.14000b990
nop
lea rcx, [rsp + 0x208]
call fcn.14000b990
nop
lea rcx, [rsp + 0x1f0]
call fcn.14000b990
nop
lea rcx, [rsp + 0xc0]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x190]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x1b0]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x986f8]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x2c0]
call fcn.140081490
nop
lea rcx, [rsp + 0x170]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x150]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x128]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x108]
call fcn.1400068d0
nop
lea rcx, [rsp + 0x38]
call fcn.14000b990
mov eax, ebx
jmp 0x14015156b
lea rcx, str.stoi_argument_out_of_range
call fcn.14015edfc
nop
call fcn.1401a2d8c
nop
lea rcx, str.invalid_stoi_argument
call fcn.14015edb4
nop
call fcn.140006980
nop
call fcn.14001cfb0
int3