Function at 0x140085490
Capabilities:
Check if file exists
Hide graphical window

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x570], rbx
mov rax, qword [0x14028e6b0]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov r12, rdx
mov qword [rsp + 0x68], rdx
mov rbx, rcx
mov qword [rsp + 0x58], rcx
call fcn.14000cdd0
mov r13, rax
mov rcx, r12
call qword [sym.imp.USER32.dll_GetMenu]
mov qword [rbx + 0x978d8], rax
movzx ecx, byte [r13 + 0x150]
neg cl
sbb edx, edx
add edx, 6
mov r8d, 0x400
mov rcx, rax
call qword [sym.imp.USER32.dll_RemoveMenu]
lea r14, [rbx + 0x490]
mov qword [rbx + 0x600], r14
lea rcx, [rbx + 0x6b0]
mov qword [rbx + 0x890], rcx
lea r15, [rbx + 0x548]
mov qword [rbx + 0x608], r15
lea rdi, [rbx + 0x610]
mov qword [rbx + 0x898], rdi
mov rax, qword [rbx]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
mov rax, qword [rbx]
mov r9, qword [rdi]
mov r8, r12
mov rdx, qword [rax + 8]
mov rcx, rdi
call qword [r9 + 8]
mov rax, qword [rbx]
mov r9, qword [rbx + 0x7f0]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x7f0]
call qword [r9 + 8]
call fcn.1400417e0
mov rcx, rax
lea r8, [rbx + 0x7f0]
mov rdx, rbx
call fcn.14001f6e0
mov rdx, r12
mov rcx, r13
call fcn.1400d82a0
mov byte [rbx + 0x982f8], 1
xor eax, eax
mov dword [rbx + 0x982fc], eax
mov esi, dword [r13 + 0xa0]
mov eax, esi
shr eax, 3
and al, 1
mov byte [rbx + 0xb90], al
mov ecx, 0x14
mov eax, InitCommonControls
cmovne ecx, eax
lea r8d, [rax + 0x53]
mov edx, dword [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov rcx, qword [rbx]
lea rdi, [rbx + 0xb10]
mov dword [rsp + 0x20], 4
lea r9, [0x14028a900]
mov r8, qword [rcx + 8]
mov edx, eax
mov rcx, rdi
call fcn.14006a110
mov rax, qword [rbx]
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8, r12
mov rdx, qword [rax + 8]
mov rcx, r14
call fcn.140111fd0
lea rcx, [rbx + 0x6b0]
mov qword [r14 + 0xb0], rcx
test rdi, rdi
je 0x14008564b
mov rdx, qword [rdi]
mov rcx, r14
call fcn.1401131e0
mov rax, qword [rbx]
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8, r12
mov rdx, qword [rax + 8]
mov rcx, r15
call fcn.140111fd0
lea rax, [rbx + 0x610]
mov qword [r15 + 0xb0], rax
test rdi, rdi
je 0x140085683
mov rdx, qword [rdi]
mov rcx, r15
call fcn.1401131e0
lea rcx, [rbx + 0x6b0]
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x18]
mov rax, qword [rbx]
mov r9, qword [rbx + 0x750]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x750]
call qword [r9 + 8]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x7dc
lea rcx, [rbx + 0x750]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87f
lea rcx, [rbx + 0x750]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8dc
lea rcx, [rbx + 0x750]
call fcn.14000f5d0
movzx r8d, byte [r13 + 0x870]
mov edx, dword [0x14021a550]
lea rdi, [rbx + 0x6b0]
mov rcx, rdi
call fcn.1400168e0
movzx r8d, byte [r13 + 0x870]
mov edx, dword [0x14021a550]
lea rcx, [rbx + 0x610]
call fcn.1400168e0
movzx r8d, byte [r13 + 0x871]
mov edx, dword [0x14021a554]
mov rcx, rdi
call fcn.1400168e0
movzx r8d, byte [r13 + 0x871]
mov edx, dword [0x14021a554]
lea rcx, [rbx + 0x610]
call fcn.1400168e0
movzx edx, byte [r13 + 0x87d]
mov rcx, rdi
call fcn.140103a30
movzx edx, byte [r13 + 0x87d]
lea rcx, [rbx + 0x610]
call fcn.140103a30
xor r9d, r9d
xor r8d, r8d
mov edx, 0x412
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x413
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, qword [rbx]
lea rcx, [rbx + 0x1b98]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
mov rax, qword [rbx]
lea rcx, [rbx + 0x658d8]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov qword [rbx + 0x97598], rcx
mov qword [rbx + 0x975a0], r12
mov edx, dword [r13 + 0x874]
mov rcx, rdi
call fcn.140056e00
mov edx, dword [r13 + 0x874]
lea rcx, [rbx + 0x610]
call fcn.140056e00
mov rax, qword [rbx + 0x6f0]
mov edx, dword [rax + 0x20]
mov rcx, rdi
call fcn.1400fa000
mov rax, qword [rbx + 0x650]
mov edx, dword [rax + 0x20]
lea rcx, [rbx + 0x610]
call fcn.1400fa000
mov eax, dword [r13 + 0x878]
mov ecx, 2
cmp eax, 1
jne 0x14008584b
mov r8d, eax
jmp 0x140085854
xor r8d, r8d
cmp eax, ecx
cmove r8, rcx
xor r9d, r9d
mov edx, 0x9a8
mov rcx, rdi
call fcn.14000f5d0
mov eax, dword [r13 + 0x878]
cmp eax, 1
jne 0x140085875
mov r8d, eax
jmp 0x140085886
xor ecx, ecx
mov r8d, ecx
cmp eax, 2
mov eax, 2
cmove r8d, eax
xor r9d, r9d
mov edx, 0x9a8
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
movzx r8d, byte [r13 + 0x87e]
xor r9d, r9d
mov edx, 0x830
mov rcx, rdi
call fcn.14000f5d0
movzx r8d, byte [r13 + 0x87e]
xor r9d, r9d
mov edx, 0x830
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor eax, eax
mov r8d, eax
cmp byte [r13 + 0x8b0], al
sete r8b
xor r9d, r9d
mov edx, 0x8e5
mov rcx, rdi
call fcn.14000f5d0
xor eax, eax
mov r8d, eax
cmp byte [r13 + 0x8b0], al
sete r8b
xor r9d, r9d
mov edx, 0x8e5
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
cmp byte [r13 + 0x8b2], 0
je 0x140085948
xor r9d, r9d
mov edx, 0xa33
lea r8d, [r9 + 3]
mov rcx, rdi
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa33
lea r8d, [r9 + 3]
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
movzx edx, byte [r13 + 0x8b3]
mov rcx, rdi
call fcn.1400ff460
movzx edx, byte [r13 + 0x8b3]
lea rcx, [rbx + 0x610]
call fcn.1400ff460
xor r9d, r9d
mov edx, 0xa5f
lea r8d, [r9 + 1]
mov rcx, rdi
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa5f
lea r8d, [r9 + 1]
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
movzx r8d, byte [r13 + 0x880]
xor r9d, r9d
mov edx, 0x8dc
mov rcx, rdi
call fcn.14000f5d0
movzx r8d, byte [r13 + 0x880]
xor r9d, r9d
mov edx, 0x8dc
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x433
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
movzx r8d, byte [r13 + 0x8a9]
xor r9d, r9d
mov edx, 0x934
mov rcx, rdi
call fcn.14000f5d0
movzx r8d, byte [r13 + 0x8a9]
xor r9d, r9d
mov edx, 0x934
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor eax, eax
mov r8d, eax
cmp byte [r13 + 0x8a8], al
setne r8b
xor r9d, r9d
mov edx, 0x7e5
mov rcx, rdi
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0x826
lea r8d, [r9 + 2]
mov rcx, rdi
call fcn.14000f5d0
xor eax, eax
mov r8d, eax
cmp byte [r13 + 0x8a8], al
setne r8b
xor r9d, r9d
mov edx, 0x7e5
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0x826
lea r8d, [r9 + 2]
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
movzx edi, byte [r13 + 0x87f]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x99e
lea rcx, [rbx + 0x6b0]
call fcn.14000f5d0
xor eax, eax
mov r8d, eax
test dil, dil
setne r8b
xor r9d, r9d
mov edx, 0x99c
lea rcx, [rbx + 0x6b0]
call fcn.14000f5d0
movzx edi, byte [r13 + 0x87f]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x99e
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor eax, eax
mov r8d, eax
test dil, dil
setne r8b
xor r9d, r9d
mov edx, 0x99c
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
lea rdi, [rbx + 0x6b0]
mov rcx, rdi
call fcn.1400fe180
lea rcx, [rbx + 0x610]
call fcn.1400fe180
xor r9d, r9d
xor r8d, r8d
mov edx, 0x946
mov rcx, qword [rbx + 0x890]
call fcn.14000f5d0
mov dword [rbx + 0x979b8], eax
movsxd r8, dword [r13 + 0x8a0]
xor r9d, r9d
mov edx, 0x945
mov rcx, rdi
call fcn.14000f5d0
movsxd r8, dword [r13 + 0x8a4]
xor r9d, r9d
mov edx, 0x945
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x421
mov rcx, r12
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
mov edx, 0xa05
lea r8d, [r9 + 1]
mov rcx, rdi
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa05
lea r8d, [r9 + 1]
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa24
lea r8d, [r9 + 1]
mov rcx, rdi
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa24
lea r8d, [r9 + 1]
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa36
lea r8d, [r9 + 1]
mov rcx, rdi
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa36
lea r8d, [r9 + 1]
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa67
lea r8d, [r9 + 1]
mov rcx, rdi
call fcn.14000f5d0
xor r9d, r9d
mov edx, 0xa67
lea r8d, [r9 + 1]
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
mov byte [0x1402a4d30], 1
cmp byte [rbx + 0xb90], 0
je 0x140085cf2
mov ecx, reloc.COMCTL32.dll_InitCommonControls
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdi, rax
test rax, rax
je 0x140085c8b
mov r9d, 1
mov r8, rax
lea edx, [r9 + 0x2f]
mov rcx, qword [rbx + 0x4a8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, 1
mov r8, rdi
lea edx, [r9 + 0x2f]
mov rcx, qword [rbx + 0x560]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, 0x60
mov edx, dword [r13 + 0x10]
lea ecx, [r8 - 0x4a]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov edi, eax
mov r8d, 0x60
mov edx, dword [r13 + 0xc]
lea ecx, [r8 - 0x33]
call qword [sym.imp.KERNEL32.dll_MulDiv]
movzx edi, di
shl rdi, 0x10
movzx eax, ax
or rdi, rax
mov r9, rdi
xor r8d, r8d
mov edx, 0x1329
mov rcx, qword [rbx + 0x4a8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, rdi
xor r8d, r8d
mov edx, 0x1329
mov rcx, qword [rbx + 0x560]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rax, qword [r14]
mov dl, 1
mov rcx, r14
call qword [rax + 0x18]
mov eax, esi
shr eax, 2
and al, 1
mov byte [0x1402a4d30], al
movzx eax, sil
and al, 1
mov byte [0x14028e391], al
call fcn.140111210
mov eax, esi
shr eax, 1
and al, 1
mov byte [0x14028e390], al
call fcn.140111210
mov eax, esi
shr eax, 4
and al, 1
mov byte [0x1402a4d31], al
call fcn.140111210
mov eax, esi
shr eax, 5
and al, 1
mov byte [0x1402a4d32], al
shr esi, 6
and sil, 1
mov byte [0x1402a4d33], sil
call fcn.140111310
mov rcx, rbx
call fcn.14007fa10
cmp byte [r13 + 0xa4], 1
sete dil
mov rax, qword [rbx]
mov r9, qword [rbx + 0x8a8]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x8a8]
call qword [r9 + 8]
mov byte [rsp + 0x30], dil
mov dword [rsp + 0x28], 0x32
mov byte [rsp + 0x20], 0
mov r9d, 8
mov r8, r15
mov rdx, r14
lea rcx, [rbx + 0x8a8]
call fcn.14010f730
movzx esi, byte [r13 + 0x9d]
mov rax, qword [rbx]
lea rdi, [rbx + 0xb30]
mov r9d, 6
mov r8, r12
mov rdx, qword [rax + 8]
mov rcx, rdi
call fcn.1401109b0
mov r8d, 0x60
mov edx, dword [r13 + 0xc]
lea ecx, [r8 + 0x68]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r8d, eax
mov edx, 1
mov rcx, rdi
call fcn.140110dd0
mov r8d, 0x60
mov edx, dword [r13 + 0xc]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r8d, eax
mov edx, 2
mov rcx, rdi
call fcn.140110dd0
mov r8d, 0x60
mov edx, dword [r13 + 0xc]
lea ecx, [r8 + 0xe]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r8d, eax
mov edx, 3
mov rcx, rdi
call fcn.140110dd0
mov r8d, 0x60
mov edx, dword [r13 + 0xc]
lea ecx, [r8 + 0x18]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r8d, eax
mov edx, 4
mov rcx, rdi
call fcn.140110dd0
mov r8d, 0x60
mov edx, dword [r13 + 0xc]
lea ecx, [r8 - 0x42]
call qword [sym.imp.KERNEL32.dll_MulDiv]
mov r8d, eax
mov edx, 5
mov rcx, rdi
call fcn.140110dd0
neg sil
sbb edx, edx
and edx, 5
mov rcx, qword [rbx + 0xb48]
call qword [sym.imp.USER32.dll_ShowWindow]
lea r9, [rbx + 8]
mov qword [r9], r14
mov rax, qword [rbx]
lea rcx, [rbx + 0x10]
mov r8, r12
mov rdx, qword [rax + 8]
call fcn.14003f4f0
cmp byte [r13 + 0xdd], 0
je 0x140085f30
cmp qword [rbx + 0x979b0], 0
jne 0x140085f30
mov rax, qword [rbx]
mov edx, 0x64
mov rcx, qword [rax + 8]
call qword [sym.imp.USER32.dll_LoadIconW]
mov rdi, rax
mov ecx, 0x3d0
call fcn.140167f20
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140085f29
lea rcx, [0x1401d3618]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
mov r9d, 0x105b9
mov r8d, 0x64
mov rdx, r12
mov rcx, rax
call fcn.1401213b0
nop
mov qword [rbx + 0x979b0], rax
mov rcx, rbx
call fcn.14007c720
mov qword [rbp + 0x20], r12
mov rax, qword [rbx + 0x6c8]
mov qword [rbp + 0x28], rax
mov rax, qword [rbx + 0x628]
mov qword [rbp + 0x30], rax
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov qword [rbx + 0x97b00], rcx
mov qword [rbx + 0x97b08], r12
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rbx + 0x97a20], xmm0
movsd xmm1, qword [rbp + 0x30]
movsd qword [rbx + 0x97a30], xmm1
lea rdx, [r13 + 0x33128]
cmp qword [rdx + 0x18], 8
jb 0x140085f90
mov rdx, qword [rdx]
lea rcx, [rbx + 0x97a20]
call fcn.1400df2c0
mov rax, qword [rbx]
lea rcx, [rbx + 0x97aa8]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
mov edx, 8
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r15, rax
mov rcx, qword [r13 + 0x32e88]
sub rcx, qword [r13 + 0x32e80]
movabs rax, 0x572620ae4c415c99
imul rcx
mov rsi, rdx
sar rsi, 7
mov rcx, rsi
shr rcx, 0x3f
add rsi, rcx
mov eax, 0xffffffff
xor r14d, r14d
cmp rsi, 1
jb 0x14008601e
mov qword [rsp + 0x20], r14
mov r9d, eax
lea edx, [r14 + 5]
mov r8d, 0x400
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
mov rdi, r14
test rsi, rsi
je 0x140086104
nop word [rax + rax]
mov rcx, qword [r13 + 0x32e80]
add rcx, r14
lea rdx, [rbp + 0x20]
call fcn.140090660
nop
cmp qword [rax + 0x18], 8
jb 0x14008604e
mov rax, qword [rax]
lea r9, [rdi + 0x4e20]
lea edx, [rdi + 6]
mov qword [rsp + 0x20], rax
mov r8d, 0x400
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
nop
mov rax, qword [rbp + 0x38]
cmp rax, 8
jb 0x1400860bd
inc rax
mov rcx, qword [rbp + 0x20]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x1400860fb
add rax, rax
cmp rax, 0x1000
jb 0x1400860b8
test cl, 0x1f
jne 0x1400860f5
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400860ef
sub rcx, rax
cmp rcx, 8
jb 0x1400860e9
cmp rcx, 0x27
ja 0x1400860e3
mov rcx, rax
call fcn.140167f5c
mov qword [rbp + 0x38], 7
xor eax, eax
mov qword [rbp + 0x30], rax
mov word [rbp + 0x20], ax
inc rdi
add r14, 0x178
cmp rdi, rsi
jae 0x140086101
jmp 0x140086030
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
xor r14d, r14d
mov edi, 0xffffffff
cmp rsi, 1
jb 0x14008614a
lea edx, [rsi + 7]
mov qword [rsp + 0x20], r14
mov r9d, edi
mov r8d, 0x400
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
lea edx, [rsi + 8]
lea rax, str.Modify_Shortcut_Delete_Macro...
mov qword [rsp + 0x20], rax
mov r9d, 0xbb90
xor r8d, r8d
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
mov edx, 9
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov r15, rax
mov rcx, qword [r13 + 0x32ea0]
sub rcx, qword [r13 + 0x32e98]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rsi, rdx
sar rsi, 6
mov rcx, rsi
shr rcx, 0x3f
add rsi, rcx
cmp rsi, 1
jb 0x1400861ad
mov qword [rsp + 0x20], r14
mov r9, rdi
mov edx, 1
mov r8d, 0x400
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
mov rdi, r14
test rsi, rsi
je 0x140086294
nop dword [rax]
mov rcx, qword [r13 + 0x32e98]
add rcx, r14
lea rdx, [rbp + 0x20]
call fcn.140090660
nop
cmp qword [rax + 0x18], 8
jb 0x1400861de
mov rax, qword [rax]
lea r9, [rdi + 0x5208]
lea edx, [rdi + 2]
mov qword [rsp + 0x20], rax
mov r8d, 0x400
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
nop
mov rax, qword [rbp + 0x38]
cmp rax, 8
jb 0x14008624d
inc rax
mov rcx, qword [rbp + 0x20]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x14008628b
add rax, rax
cmp rax, 0x1000
jb 0x140086248
test cl, 0x1f
jne 0x140086285
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x14008627f
sub rcx, rax
cmp rcx, 8
jb 0x140086279
cmp rcx, 0x27
ja 0x140086273
mov rcx, rax
call fcn.140167f5c
mov qword [rbp + 0x38], 7
xor eax, eax
mov qword [rbp + 0x30], rax
mov word [rbp + 0x20], ax
inc rdi
add r14, 0x180
cmp rdi, rsi
jae 0x140086291
jmp 0x1400861c0
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
xor r14d, r14d
cmp rsi, 1
jb 0x1400862d8
lea edx, [rsi + 3]
mov qword [rsp + 0x20], r14
mov r9d, 0xffffffff
mov r8d, 0x400
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
lea edx, [rsi + 4]
lea rax, str.Modify_Shortcut_Delete_Command...
mov qword [rsp + 0x20], rax
mov r9d, 0xbb91
xor r8d, r8d
mov rcx, r15
call qword [sym.imp.USER32.dll_InsertMenuW]
cmp byte [r13 + 0x3cc], 0
jne 0x140086355
xor r8d, r8d
mov edx, 0xb79e
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_DeleteMenu]
xor r8d, r8d
mov edx, 0xb7a1
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_DeleteMenu]
mov edx, 0xb
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetSubMenu]
test rax, rax
jne 0x140086338
lea edx, [rax + 0xa]
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetSubMenu]
test rax, rax
je 0x14008634c
mov edx, 7
mov r8d, 0x400
mov rcx, rax
call qword [sym.imp.USER32.dll_DeleteMenu]
mov rcx, r12
call qword [sym.imp.USER32.dll_DrawMenuBar]
mov edx, 5
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetSubMenu]
mov rsi, rax
cmp dword [r13 + 0xf98], 0
jle 0x140086417
lea r12, [r13 + 0xea8]
mov ebx, r14d
mov r14, qword [r12]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
mov r15d, eax
xor eax, eax
mov edi, eax
test edi, edi
je 0x1400863ae
lea rdx, [rbp + 0x140]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jle 0x1400863d7
cmp edi, r15d
jge 0x1400863d7
mov dword [rsp + 0x20], 0x400
mov r9d, 0x64
lea r8, [rbp + 0x140]
mov edx, edi
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetMenuStringW]
inc edi
jmp 0x140086396
lea eax, [rbx + 0xb455]
movsxd r9, eax
lea edx, [rdi - 1]
mov qword [rsp + 0x20], r14
mov r8d, 0x400
mov rcx, rsi
call qword [sym.imp.USER32.dll_InsertMenuW]
inc ebx
add r12, 8
cmp ebx, dword [r13 + 0xf98]
jl 0x140086382
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
xor r14d, r14d
mov rcx, qword [r13 + 0x140]
sub rcx, qword [r13 + 0x138]
movabs r8, 0x6666666666666667
mov rax, r8
imul rcx
sar rdx, 4
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
je 0x140086525
mov rcx, qword [r13 + 0x140]
sub rcx, qword [r13 + 0x138]
mov rax, r8
imul rcx
mov r15, rdx
sar r15, 4
mov rax, r15
shr rax, 0x3f
add r15, rax
je 0x140086525
mov rdi, r14
xor ebx, ebx
nop dword [rax]
mov rax, qword [r13 + 0x138]
mov edx, dword [rdi + rax]
mov rcx, r13
call fcn.1400d5050
mov r14d, eax
mov dword [rsp + 0x20], ebx
mov r9d, 0x100
lea r8, [rbp + 0x210]
mov edx, eax
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetMenuStringW]
mov rcx, qword [r13 + 0x138]
mov dword [rdi + rcx + 4], r14d
mov rcx, qword [r13 + 0x138]
add rcx, 8
add rcx, rdi
cmp word [rbp + 0x210], bx
jne 0x1400864d9
mov r8, rbx
jmp 0x1400864ee
lea rax, [rbp + 0x210]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], bx
jne 0x1400864e4
lea rdx, [rbp + 0x210]
call fcn.140006f10
xor r8d, r8d
mov edx, r14d
mov rcx, rsi
call qword [sym.imp.USER32.dll_DeleteMenu]
mov rcx, r12
call qword [sym.imp.USER32.dll_DrawMenuBar]
add rdi, 0x28
sub r15, 1
jne 0x140086480
mov rbx, qword [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetMenuItemCount]
lea edi, [rax - 1]
movzx eax, byte [r13 + 0xe60]
xor ecx, ecx
mov r15d, ecx
test rax, rax
je 0x1400865a9
lea r14, [r13 + 0xd70]
mov r12d, 0xb465
sub r12d, edi
mov ebx, eax
nop word [rax + rax]
mov rcx, qword [r14]
add rcx, 0x788
cmp qword [rcx + 0x18], 8
jb 0x140086574
mov rcx, qword [rcx]
lea eax, [r12 + rdi]
movsxd r9, eax
mov qword [rsp + 0x20], rcx
mov r8d, 0x400
mov edx, edi
mov rcx, rsi
call qword [sym.imp.USER32.dll_InsertMenuW]
inc edi
inc r15
add r14, 8
cmp r15, rbx
jl 0x140086560
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
xor edx, edx
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetSubMenu]
movsxd rdi, dword [r13 + 0xcd0]
movzx ecx, byte [r13 + 0xcd8]
lea rdx, [rbx + 0x979c0]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rdx
mov r9d, 0x16
mov r8d, 0xa041
mov rdx, rax
lea rcx, [rbx + 0x97858]
call fcn.14006bb50
mov eax, dword [rbx + 0x480]
mov dword [rbx + 0x97890], eax
mov r14, rdi
test edi, edi
jle 0x140086659
lea rsi, [r13 + 0xbe0]
nop dword [rax]
mov rdi, qword [rsi]
cmp byte [r13 + 0xb8], 0
je 0x140086636
cmp qword [rdi + 0x18], 8
jb 0x140086629
mov rcx, qword [rdi]
jmp 0x14008662c
mov rcx, rdi
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14008664f
cmp qword [rdi + 0x18], 8
jb 0x140086640
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rbx + 0x97858]
call fcn.14006b240
add rsi, 8
sub r14, 1
jne 0x140086610
lea rcx, [rbx + 0x97590]
call fcn.140036220
lea rcx, [rbx + 0x97a20]
mov qword [rbx + 0x977b0], rcx
movzx r9d, al
xor r8d, r8d
mov rdx, qword [rbx + 0x978d8]
call fcn.1400e0a20
mov r8, qword [rbx + 0x97a38]
mov rdx, qword [rbx + 0x978d8]
mov rcx, r13
call fcn.1400cdfc0
mov rax, qword [r13 + 0x32fd0]
cmp qword [r13 + 0x32fc8], rax
je 0x1400866da
xor r9d, r9d
xor r8d, r8d
mov edx, 0x943
lea rcx, [rbx + 0x6b0]
call fcn.14000f5d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x943
lea rcx, [rbx + 0x610]
call fcn.14000f5d0
xor esi, esi
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x58], 7
mov qword [rbp + 0x50], rsi
mov word [rbp + 0x40], si
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x78], 7
mov qword [rbp + 0x70], rsi
mov word [rbp + 0x60], si
lea rcx, [rbx + 0x478]
lea r9, [rbp + 0x60]
lea r8, [rbp + 0x40]
mov rdx, qword [rbx + 0x978d8]
call fcn.14006e3d0
mov rcx, r12
call qword [sym.imp.USER32.dll_DrawMenuBar]
cmp qword [rbp + 0x50], rsi
jbe 0x140086762
lea rax, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae rax, qword [rbp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea edx, [rsi + 0xa]
mov r8d, 0x400
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_ModifyMenuW]
lea r9, [rbp + 0x60]
cmp qword [rbp + 0x78], 8
cmovae r9, qword [rbp + 0x60]
mov rax, qword [rbx]
lea rcx, [rbx + 0x978d0]
mov r8, qword [rbx + 0x978d8]
mov rdx, qword [rax + 8]
call fcn.140133390
mov rcx, qword [r13 + 0x32fd0]
sub rcx, qword [r13 + 0x32fc8]
movabs rax, 0xe38e38e38e38e39
imul rcx
mov rcx, rdx
sar rcx, 2
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov qword [rsp + 0x68], rcx
mov r15, rsi
je 0x1400869c4
mov r14, rsi
nop word [rax + rax]
mov rax, qword [r13 + 0x32fc8]
cmp qword [rax + r14 + 0x18], 0
jne 0x140086977
mov dword [rsp + 0x20], esi
mov r9d, 0x40
lea r8, [rbp + 0xc0]
mov edx, dword [rax + r14]
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetMenuStringW]
xor r8d, r8d
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x20]
call fcn.14002b610
mov rdi, rax
mov rsi, qword [r13 + 0x32fc8]
add rsi, 8
add rsi, r14
cmp rsi, rax
je 0x14008690c
mov rax, qword [rsi + 0x18]
cmp rax, 8
jb 0x140086895
mov rcx, qword [rsi]
inc rax
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x1400869a0
add rax, rax
cmp rax, 0x1000
jb 0x140086890
test cl, 0x1f
jne 0x14008699a
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140086994
sub rcx, rax
cmp rcx, 8
jb 0x14008698e
cmp rcx, 0x27
ja 0x140086988
mov rcx, rax
call fcn.140167f5c
mov qword [rsi + 0x18], 7
xor ecx, ecx
mov qword [rsi + 0x10], rcx
cmp qword [rsi + 0x18], 8
jb 0x1400868af
mov rax, qword [rsi]
jmp 0x1400868b2
mov rax, rsi
mov word [rax], cx
cmp qword [rdi + 0x18], 8
jae 0x1400868d6
mov r8, qword [rdi + 0x10]
add r8, 1
je 0x1400868df
add r8, r8
mov rdx, rdi
mov rcx, rsi
call fcn.140187210
jmp 0x1400868df
mov rax, qword [rdi]
mov qword [rsi], rax
mov qword [rdi], rcx
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov rax, qword [rdi + 0x18]
mov qword [rsi + 0x18], rax
mov qword [rdi + 0x18], 7
xor esi, esi
mov qword [rdi + 0x10], rsi
cmp qword [rdi + 0x18], 8
jb 0x140086907
mov rdi, qword [rdi]
mov word [rdi], si
jmp 0x14008690e
xor esi, esi
mov rax, qword [rbp + 0x38]
cmp rax, 8
jb 0x140086962
inc rax
mov rcx, qword [rbp + 0x20]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x1400869be
add rax, rax
cmp rax, 0x1000
jb 0x14008695d
test cl, 0x1f
jne 0x1400869b8
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400869b2
sub rcx, rax
cmp rcx, 8
jb 0x1400869ac
cmp rcx, 0x27
ja 0x1400869a6
mov rcx, rax
call fcn.140167f5c
mov qword [rbp + 0x38], 7
mov qword [rbp + 0x30], rsi
mov word [rbp + 0x20], si
mov rcx, qword [rsp + 0x68]
inc r15
add r14, 0x48
cmp r15, rcx
jae 0x1400869c4
jmp 0x1400867d0
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
nop
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
mov rcx, qword [r13 + 0x32e58]
sub rcx, qword [r13 + 0x32e50]
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
mov r15, rdx
sar r15, 6
mov rax, r15
shr rax, 0x3f
add r15, rax
mov r14, rsi
je 0x140086be3
nop dword [rax]
mov rdi, qword [r13 + 0x32e50]
add rdi, rsi
cmp word [rdi + 0x36], 0
jne 0x140086af0
xor eax, eax
mov dword [rsp + 0x20], eax
lea r9d, [rax + 0x40]
lea r8, [rbp + 0xc0]
mov edx, dword [rdi + 0x138]
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_GetMenuStringW]
mov r8b, 1
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xa0]
call fcn.14002b610
nop
cmp qword [rax + 0x18], 8
jb 0x140086a5a
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.140106780
nop
mov rax, qword [rbp + 0xb8]
cmp rax, 8
jb 0x140086ad0
inc rax
mov rcx, qword [rbp + 0xa0]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
ja 0x140086bdb
add rax, rax
cmp rax, 0x1000
jb 0x140086acb
test cl, 0x1f
jne 0x140086bd5
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140086bcf
sub rcx, rax
cmp rcx, 8
jb 0x140086bc9
cmp rcx, 0x27
ja 0x140086bc3
mov rcx, rax
call fcn.140167f5c
mov qword [rbp + 0xb8], 7
xor edi, edi
mov qword [rbp + 0xb0], rdi
mov word [rbp + 0xa0], di
jmp 0x140086baf
mov r8d, dword [rdi + 0x138]
lea rdx, [rbp + 0x20]
lea rcx, [rbx + 0x478]
call fcn.140070650
nop
cmp qword [rbp + 0x30], 0
je 0x140086b83
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rdx, qword [rbp + 0x20]
mov r8b, 1
lea rcx, [rbp + 0x80]
call fcn.14002b610
nop
cmp qword [rax + 0x18], 8
jb 0x140086b37
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.140106780
nop
mov r8, qword [rbp + 0x98]
cmp r8, 8
jb 0x140086b66
inc r8
mov rdx, qword [rbp + 0x80]
lea rcx, [rbp + 0x80]
call fcn.140007680
mov qword [rbp + 0x98], 7
xor edi, edi
mov qword [rbp + 0x90], rdi
mov word [rbp + 0x80], di
jmp 0x140086b85
xor edi, edi
mov r8, qword [rbp + 0x38]
cmp r8, 8
jb 0x140086b9f
inc r8
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.140007680
mov qword [rbp + 0x38], 7
mov qword [rbp + 0x30], rdi
mov word [rbp + 0x20], di
inc r14
add rsi, 0x160
cmp r14, r15
jae 0x140086be1
jmp 0x140086a00
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
xor esi, esi
lea rcx, [rbx + 0x478]
call fcn.14006f430
mov rcx, r13
call fcn.1400d0cc0
mov rax, qword [rbx + 0x978d8]
lea rdi, [rbx + 0x979c0]
mov qword [rdi], rax
mov qword [rdi + 8], r12
mov rcx, rdi
call fcn.140107d60
mov qword [r13 + 0x33220], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov rsi, qword [rbx + 0x6c8]
mov qword [rsp + 0x58], rsi
lea rax, [rsp + 0x58]
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
jae 0x140086d07
lea rax, [rsp + 0x58]
cmp r8, rax
ja 0x140086d07
lea rsi, [rsp + 0x58]
sub rsi, r8
sar rsi, 3
movabs rdi, 0x1fffffffffffffff
mov r9, qword [rsp + 0x50]
cmp rcx, r9
jne 0x140086cef
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x140086cef
sub rcx, r8
sar rcx, 3
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x140086cab
lea rcx, str.vector_T__too_long
call fcn.140145858
int3
lea rdx, [rcx + 1]
sub r9, r8
sar r9, 3
mov rax, r9
shr rax, 1
mov rcx, rdi
sub rcx, rax
add rax, r9
xor r8d, r8d
cmp rcx, r9
cmovae r8, rax
cmp r8, rdx
cmovae rdx, r8
lea rcx, [rsp + 0x40]
call fcn.14003ece0
mov r9, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
lea rax, [r8 + rsi*8]
test rcx, rcx
je 0x140086da6
mov rax, qword [rax]
mov qword [rcx], rax
jmp 0x140086d97
movabs rdi, 0x1fffffffffffffff
mov r9, qword [rsp + 0x50]
cmp rcx, r9
jne 0x140086d8f
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x140086d8f
sub rcx, r8
sar rcx, 3
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x140086d4b
lea rcx, str.vector_T__too_long
call fcn.140145858
int3
lea rdx, [rcx + 1]
sub r9, r8
sar r9, 3
mov rax, r9
shr rax, 1
mov rcx, rdi
sub rcx, rax
add rax, r9
xor r8d, r8d
cmp rcx, r9
cmovae r8, rax
cmp r8, rdx
cmovae rdx, r8
lea rcx, [rsp + 0x40]
call fcn.14003ece0
mov r9, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
test rcx, rcx
je 0x140086da6
mov qword [rcx], rsi
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x48], rcx
mov rsi, qword [rbx + 0x628]
mov qword [rsp + 0x58], rsi
lea rax, [rsp + 0x58]
cmp rax, rcx
jae 0x140086e65
lea rax, [rsp + 0x58]
cmp r8, rax
ja 0x140086e65
lea rsi, [rsp + 0x58]
sub rsi, r8
sar rsi, 3
cmp rcx, r9
jne 0x140086e53
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x140086e53
sub rcx, r8
sar rcx, 3
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x140086e18
lea rcx, str.vector_T__too_long
call fcn.140145858
int3
lea rdx, [rcx + 1]
sub r9, r8
sar r9, 3
mov rax, r9
shr rax, 1
sub rdi, rax
add rax, r9
xor ecx, ecx
cmp rdi, r9
cmovae rcx, rax
cmp rcx, rdx
cmovae rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.14003ece0
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
test rcx, rcx
je 0x140086edd
mov rax, qword [r8 + rsi*8]
mov qword [rcx], rax
jmp 0x140086ed8
cmp rcx, r9
jne 0x140086ed0
mov rax, r9
sub rax, rcx
sar rax, 3
cmp rax, 1
jae 0x140086ed0
sub rcx, r8
sar rcx, 3
mov rax, rdi
sub rax, rcx
cmp rax, 1
jae 0x140086e9a
lea rcx, str.vector_T__too_long
call fcn.140145858
int3
lea rdx, [rcx + 1]
sub r9, r8
sar r9, 3
mov rax, r9
shr rax, 1
sub rdi, rax
add rax, r9
xor ecx, ecx
cmp rdi, r9
cmovae rcx, rax
cmp rcx, rdx
cmovae rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.14003ece0
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140086edd
mov qword [rcx], rsi
mov rcx, qword [rsp + 0x48]
add rcx, 8
mov qword [rsp + 0x48], rcx
lea rdi, [rbx + 0x979f8]
mov r9, r12
mov r8, qword [rbx + 0x978d8]
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1401054f0
mov qword [r13 + 0x33228], rdi
mov rcx, rdi
call fcn.140107550
mov rcx, r12
call qword [sym.imp.USER32.dll_DrawMenuBar]
mov edi, dword [r13 + 0x98]
movzx r14d, byte [r13 + 0x9c]
mov dword [rbp - 0x70], 0x3ea
mov qword [rbp - 0x80], r12
xor eax, eax
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x80]
lea rcx, [rbx + 0x97a20]
call fcn.1400dfd00
mov rax, qword [rbx]
mov r10, qword [rbx + 0x9d8]
mov dword [rsp + 0x28], 0x26
lea rcx, [0x14028a910]
mov qword [rsp + 0x20], rcx
mov r9d, edi
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x9d8]
call qword [r10 + 0x60]
lea rcx, [rbx + 0x9d8]
call fcn.14007bd40
mov rax, qword [rbx]
mov r9, qword [rbx + 0xb98]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0xb98]
call qword [r9 + 8]
mov rax, qword [rbx]
mov r9, qword [rbx + 0xbd0]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0xbd0]
call qword [r9 + 8]
lea rdx, [rbx + 0xb98]
lea rcx, [rbx + 0x9d8]
call fcn.14011f860
movzx r8d, r14b
xor edx, edx
lea rcx, [rbx + 0xb98]
call fcn.140121010
mov rcx, rbx
call fcn.14007c520
mov rax, qword [rbx]
lea r9, [rbx + 0x890]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0xc08]
call fcn.140085390
mov rax, qword [rbx]
lea rcx, [rbx + 0x1610]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
movzx r8d, byte [rbx + 0x484]
mov rax, qword [rbx]
mov byte [rsp + 0x20], r8b
lea r9, [rbx + 0xc08]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x16e0]
call fcn.14004f000
lea rdx, [rbx + 0xbd0]
lea rcx, [rbx + 0x16e0]
call fcn.1400491b0
mov rax, qword [rbx]
lea rcx, [rbx + 0x1b20]
lea r9, [rbx + 0x890]
mov r8, r12
mov rdx, qword [rax + 8]
call fcn.140085410
mov rax, qword [rbx]
lea rcx, [rbx + 0x97558]
lea r9, [rbx + 0x890]
mov r8, r12
mov rdx, qword [rax + 8]
call fcn.140085310
mov rax, qword [rbx]
lea rcx, [rbx + 0x1b60]
lea r9, [rbx + 0x890]
mov r8, r12
mov rdx, qword [rax + 8]
call fcn.1400258f0
mov rax, qword [rbx]
lea rcx, [rbx + 0x17a0]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
lea rdx, [rbp + 0x80]
lea rcx, [rbx + 0x97a20]
call fcn.1400de360
nop
mov rcx, qword [rbx]
mov rdi, qword [rcx + 8]
movzx ecx, byte [rbx + 0x97ae1]
mov byte [rbx + 0x1910], cl
lea rcx, [rbx + 0x1918]
cmp rcx, rax
je 0x140087114
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.140006dd0
mov qword [rbx + 0x18c8], rdi
mov qword [rbx + 0x18d0], r12
mov r8, qword [rbp + 0x98]
cmp r8, 8
jb 0x140087145
inc r8
mov rdx, qword [rbp + 0x80]
lea rcx, [rbp + 0x80]
call fcn.140007680
mov qword [rbp + 0x98], 7
xor r15d, r15d
mov qword [rbp + 0x90], r15
mov word [rbp + 0x80], r15w
mov rax, qword [rbx]
lea rcx, [rbx + 0x19b0]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
mov rax, qword [rbx]
lea rcx, [rbx + 0x97948]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
mov rax, qword [rbx]
lea rcx, [rbx + 0x97808]
mov r9, qword [rcx]
mov r8, r12
mov rdx, qword [rax + 8]
call qword [r9 + 8]
mov rax, qword [rbx]
mov r9, qword [rbx + 0x1a00]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x1a00]
call qword [r9 + 8]
xor edx, edx
lea rcx, [rbx + 0x1a00]
call fcn.14000d890
mov rax, qword [rbx]
mov r9, qword [rbx + 0x1a48]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x1a48]
call qword [r9 + 8]
xor edx, edx
lea rcx, [rbx + 0x1a48]
call fcn.14000d890
mov rax, qword [rbx]
mov r9, qword [rbx + 0x1a90]
mov r8, r12
mov rdx, qword [rax + 8]
lea rcx, [rbx + 0x1a90]
call qword [r9 + 8]
lea edx, [r15 + 1]
lea rcx, [rbx + 0x1a90]
call fcn.14000d890
mov rax, qword [rbx]
lea rdi, [rbx + 0x1ad8]
mov r9, qword [rdi]
mov r8, r12
mov rdx, qword [rax + 8]
mov rcx, rdi
call qword [r9 + 8]
lea edx, [r15 + 1]
mov rcx, rdi
call fcn.14000d890
mov ecx, dword [r13 + 0xa8]
xor dil, dil
sub ecx, 1
je 0x1400872f9
sub ecx, 1
je 0x1400872f0
cmp ecx, 1
jne 0x140087359
movzx edi, byte [rbx + 0x484]
lea rcx, [0x1402a4af0]
mov rax, qword [0x1402a4af0]
call qword [rax + 0x68]
test al, al
jne 0x1400872af
mov r9b, 1
movzx r8d, dil
mov edx, 0x4e20
lea rcx, [0x1402a4af0]
mov rax, qword [0x1402a4af0]
call qword [rax + 0x60]
xor r8d, r8d
mov dl, 1
lea rcx, [0x1402a4af0]
call fcn.1401101e0
lea rdx, [0x1402a4af0]
lea rcx, [rbx + 0x478]
call fcn.14006f7d0
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x4e21
mov rcx, qword [0x1402a4b08]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140087356
mov byte [rbx + 0x979a8], 1
jmp 0x140087359
movzx edi, byte [rbx + 0x484]
lea rcx, [0x1402a4af0]
mov rax, qword [0x1402a4af0]
call qword [rax + 0x68]
test al, al
jne 0x140087332
mov r9b, 1
movzx r8d, dil
mov edx, 0x4e20
lea rcx, [0x1402a4af0]
mov rax, qword [0x1402a4af0]
call qword [rax + 0x60]
xor r8d, r8d
mov dl, 1
lea rcx, [0x1402a4af0]
call fcn.1401101e0
lea rdx, [0x1402a4af0]
lea rcx, [rbx + 0x478]
call fcn.14006f7d0
mov dil, 1
movzx eax, dil
neg al
sbb r8d, r8d
and r8d, 8
mov edx, 0xb4aa
mov rcx, qword [rbx + 0x978d8]
call qword [sym.imp.USER32.dll_CheckMenuItem]
movzx r9d, dil
mov edx, 0x402
mov r8d, 0xb4aa
mov rcx, qword [rbx + 0x9f0]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, r15d
mov edx, dword [r13 + 0x32de0]
test edx, edx
jle 0x1400873eb
lea rcx, [r13 + 0x32660]
nop dword [rax]
cmp dword [rcx], 0x20
je 0x1400873c1
inc eax
add rcx, 0x40
cmp eax, edx
jl 0x1400873b0
jmp 0x1400873eb
cmp eax, 0xffffffff
je 0x1400873eb
movsxd rcx, eax
shl rcx, 6
mov eax, dword [rcx + r13 + 0x32670]
mov dword [r13 + 0x332cc], eax
mov eax, dword [rcx + r13 + 0x32674]
mov dword [r13 + 0x332c8], eax
mov r8d, dword [r13 + 0x2a8]
xor edx, edx
lea r14, [rbx + 0x10]
mov rcx, r14
call fcn.1400401f0
mov r8d, dword [r13 + 0x2ac]
mov edx, 1
mov rcx, r14
call fcn.1400401f0
mov r8d, dword [r13 + 0x2b0]
mov edx, 2
mov rcx, r14
call fcn.1400401f0
mov r8d, dword [r13 + 0x2b4]
mov edx, 3
mov rcx, r14
call fcn.1400401f0
mov rcx, qword [r13 + 0x2d8]
sub rcx, qword [r13 + 0x2d0]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rsi, rdx
sar rsi, 3
mov rax, rsi
shr rax, 0x3f
add rsi, rax
je 0x1400874fd
mov r14, r15
nop dword [rax]
nop word [rax + rax]
mov rdi, qword [r13 + 0x2d0]
add rdi, r14
cmp byte [rdi + 0x2c], 0
je 0x1400874ec
mov r15, qword [rdi + 0x18]
cmp r15, 8
jb 0x14008749f
mov rcx, qword [rdi]
jmp 0x1400874a2
mov rcx, rdi
mov r9d, 0x1b
lea r8, str.Notepad::InternalFunction
mov rdx, qword [rdi + 0x10]
call fcn.140006430
test eax, eax
jne 0x1400874ce
lea rdx, [rdi + 0x20]
lea rcx, [rbx + 0x1c8]
call fcn.14008b020
jmp 0x1400874ec
cmp r15, 8
jb 0x1400874d9
mov rdx, qword [rdi]
jmp 0x1400874dc
mov rdx, rdi
mov r8d, dword [rdi + 0x20]
lea rcx, [rbx + 0x97a20]
call fcn.1400e08b0
add r14, 0x30
sub rsi, 1
jne 0x140087480
lea r14, [rbx + 0x10]
xor r15d, r15d
mov rsi, qword [r13 + 0x2f0]
sub rsi, qword [r13 + 0x2e8]
sar rsi, 3
mov rdi, r15
test rsi, rsi
je 0x14008753f
nop word [rax + rax]
mov rax, qword [r13 + 0x2e8]
mov r8d, dword [rax + rdi*8 + 4]
mov edx, dword [rax + rdi*8]
mov rcx, r14
call fcn.1400401c0
inc rdi
cmp rdi, rsi
jb 0x140087520
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbx + 0x6e8]
mov rcx, rbx
call fcn.140088dc0
xor r9d, r9d
lea r8d, [r9 + 1]
mov rdx, qword [rbx + 0x648]
mov rcx, rbx
call fcn.140088dc0
xor r8d, r8d
mov rdx, qword [rbx + 0x6e8]
mov rcx, rbx
call fcn.14007a000
mov r8d, 1
mov rdx, qword [rbx + 0x648]
mov rcx, rbx
call fcn.14007a000
mov rcx, qword [rbx + 0x6c8]
call qword [sym.imp.USER32.dll_SetFocus]
nop
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400875cd
mov r8, qword [rsp + 0x50]
sub r8, rdx
sar r8, 3
lea rcx, [rsp + 0x40]
call fcn.140064970
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov r8, qword [rbp + 0x78]
cmp r8, 8
jb 0x1400875e7
inc r8
mov rdx, qword [rbp + 0x60]
lea rcx, [rbp + 0x60]
call fcn.140007680
mov qword [rbp + 0x78], 7
mov qword [rbp + 0x70], r15
mov word [rbp + 0x60], r15w
mov r8, qword [rbp + 0x58]
cmp r8, 8
jb 0x140087612
inc r8
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.140007680
mov qword [rbp + 0x58], 7
mov qword [rbp + 0x50], r15
mov word [rbp + 0x40], r15w
mov eax, 1
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.140168660
mov rbx, qword [rsp + 0x570]
add rsp, 0x520
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret