Function at 0x14004a77c
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov r15d, r8d
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x31], eax
xor esi, esi
lea r14d, [rsi + 1]
cmp r15d, r14d
jne 0x14004a7cd
lea ecx, [rsi + 0x12]
call fcn.1401239d4
test al, al
je 0x14004a7cd
mov byte [rbp - 0x46], r14b
jmp 0x14004a7d6
mov byte [rbp - 0x46], sil
cmp r15d, r14d
jne 0x14004a7ea
mov ecx, 0x11
call fcn.1401239d4
test al, al
je 0x14004a7ea
mov byte [rbp - 0x47], r14b
jmp 0x14004a7f3
mov byte [rbp - 0x47], sil
cmp r15d, r14d
jne 0x14004a805
mov ecx, 0x10
call fcn.1401239d4
test al, al
mov byte [rbp - 0x48], r14b
jne 0x14004a809
mov byte [rbp - 0x48], sil
mov byte [rbp - 0x45], sil
lea rcx, [rbp - 1]
call fcn.140114b80
nop
xor edx, edx
lea rcx, [rbp - 1]
call fcn.14010f2cc
test eax, eax
js 0x14004aef7
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x14004aef7
call fcn.14011bab8
mov r13, rax
mov qword [rbp - 0x29], rax
test rax, rax
je 0x14004aef7
mov rcx, qword [rbx + 0x40]
mov r12d, dword [rcx + 0x28]
mov dword [rbp - 0x41], r12d
mov ebx, esi
mov dword [rbp - 0x3d], ebx
mov byte [rbp - 0x49], sil
mov byte [rbp - 0x44], sil
test r12d, r12d
jne 0x14004aa2b
mov rax, qword [0x14021c740]
cmp byte [rax + 0x11074], sil
je 0x14004aa44
mov dl, r14b
mov rcx, r13
call fcn.1400c3124
test al, al
je 0x14004aa44
call qword [sym.imp.USER32.dll_CreatePopupMenu]
mov rdi, rax
lea r9, str.Paste__Enter
xor edx, edx
lea r8d, [r12 + 5]
mov rcx, rax
call qword [sym.imp.USER32.dll_AppendMenuW]
cmp r15d, r14d
setne bl
lea r9, str.Goto__Enter
lea r8d, [r12 + 6]
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, str.Edit__Enter
lea r15d, [r12 + 7]
mov r8d, r15d
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, str.View__Enter
lea r8d, [r12 + 8]
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, str.Paste_no_prefix
mov r8, r14
lea edx, [r12 + 0x40]
mov rcx, rdi
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, str.Goto_prefix
lea r8d, [r12 + 2]
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, str.Edit_prefix
lea r8d, [r12 + 3]
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.dll_AppendMenuW]
lea r9, str.View_prefix
lea r8d, [r12 + 4]
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.dll_AppendMenuW]
mov qword [rbp - 0x31], rsi
lea rcx, [rbp - 0x31]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [0x14021c5e0]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov qword [rsp + 0x38], rsi
mov rax, qword [0x14021c5e0]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x2d]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x31]
mov dword [rsp + 0x20], eax
mov r9d, pe_nt_image_headers64
mov r8, rdi
mov edx, r15d
mov rcx, qword [0x14021c5d8]
mov rcx, qword [rcx + 0x3fb0]
call fcn.14007ab5c
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyMenu]
mov byte [rbp - 0x48], sil
mov byte [rbp - 0x47], sil
mov byte [rbp - 0x46], sil
mov edx, ebx
sub edx, 1
je 0x14004aa19
sub edx, 1
je 0x14004aa10
sub edx, 1
je 0x14004aa07
sub edx, 1
je 0x14004a9fe
sub edx, 1
je 0x14004aa19
sub edx, 1
je 0x14004aa10
sub edx, 1
je 0x14004aa07
cmp edx, 1
jne 0x14004aef7
mov byte [rbp - 0x48], r14b
cmp ebx, 8
jmp 0x14004aa1c
mov byte [rbp - 0x47], r14b
cmp ebx, r15d
jmp 0x14004aa1c
mov byte [rbp - 0x46], r14b
cmp ebx, 6
jmp 0x14004aa1c
cmp ebx, 5
sete byte [rbp - 0x45]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x31], eax
jmp 0x14004aa44
mov dl, r14b
mov rcx, r13
call fcn.1400c3124
test al, al
je 0x14004aa53
mov r12d, esi
mov dword [rbp - 0x41], esi
mov dword [rbp - 0x3d], r14d
mov rcx, r13
call fcn.1400b2360
mov bl, al
mov byte [rbp - 0x49], al
jmp 0x14004aa65
mov rcx, r13
call fcn.1400c3ba4
mov byte [rbp - 0x44], al
mov dword [rbp - 0x41], r12d
mov dword [rbp - 0x3d], ebx
mov ecx, 0x20a0
call fcn.140120104
mov rdi, rax
mov ecx, 0x2014
call fcn.140120104
mov r15, rax
test rdi, rdi
je 0x14004aee4
test rax, rax
je 0x14004aedf
mov r10d, esi
mov dword [rbp - 0x39], esi
cmp dword [rbp + 0x77], esi
jle 0x14004ae9f
lea r8, [0x140178f78]
sub r8, rax
mov qword [rbp - 0x21], r8
jmp 0x14004aab3
mov bl, byte [rbp - 0x49]
test r12d, r12d
jne 0x14004ab0b
mov r8d, 0x1050
mov rcx, rdi
lea rax, str.print__
lea rdx, str._Text__
test bl, bl
cmovne rdx, rax
sub rdx, rdi
lea rax, [r8 + 0x7fffefae]
test rax, rax
je 0x14004aaf9
movzx eax, word [rdx + rcx]
test ax, ax
je 0x14004aaf9
mov word [rcx], ax
add rcx, 2
sub r8, r14
jne 0x14004aad8
lea rax, [rcx - 2]
test r8, r8
cmovne rax, rcx
mov word [rax], si
mov r8, qword [rbp - 0x21]
mov edx, 0x100a
mov rcx, r15
lea rax, [rdx + 0x7fffeff4]
test rax, rax
je 0x14004ab35
movzx eax, word [r8 + rcx]
test ax, ax
je 0x14004ab35
mov word [rcx], ax
add rcx, 2
sub rdx, r14
jne 0x14004ab13
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], si
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], si
jne 0x14004ab47
lea rbx, [r15 + rax*2]
mov r9d, 0x800
mov r8, rbx
mov edx, r10d
mov rcx, qword [rbp + 0x6f]
call qword [sym.imp.SHELL32.dll_DragQueryFileW]
cmp eax, 0x800
jae 0x14004ae81
mov r12, rbx
or r13, 0xffffffffffffffff
inc r13
cmp word [rbx + r13*2], si
jne 0x14004ab7d
mov byte [rbp - 0x43], r14b
cmp dword [rbp - 0x41], esi
je 0x14004ad31
cmp byte [rbp - 0x44], sil
je 0x14004ad36
lea rcx, [rbp - 0x11]
call fcn.140120d54
nop
mov r13, qword [rbp - 0x29]
mov rcx, r13
call fcn.1400b07fc
mov r8, rax
lea r9, [rbp - 0x11]
xor edx, edx
mov rcx, rbx
call fcn.14011f6d8
test rax, rax
je 0x14004ac12
lea rcx, [rbp - 0x11]
call fcn.140058574
mov r8d, 0x800
mov rdx, rbx
sub rax, rbx
lea rcx, [r8 + 0x7ffff7fe]
test rcx, rcx
je 0x14004ac00
movzx ecx, word [rdx + rax]
test cx, cx
je 0x14004ac00
mov word [rdx], cx
add rdx, 2
sub r8, r14
jne 0x14004abdf
lea rax, [rdx - 2]
test r8, r8
cmovne rax, rdx
mov word [rax], si
mov byte [rbp - 0x43], sil
lea rcx, [rbp - 0x11]
call fcn.140120ddc
cmp byte [rbp - 0x43], sil
jne 0x14004ad3a
mov r12d, dword [rbp - 0x41]
mov byte [rsp + 0x20], sil
mov r9b, r14b
mov r8, rbx
xor edx, edx
mov rcx, r13
call fcn.1400b604c
cmp dword [rbp - 0x3d], esi
jne 0x14004ac5c
mov byte [rsp + 0x20], sil
mov r9b, r14b
lea r8, [0x140168a9c]
xor edx, edx
mov rcx, r13
call fcn.1400b604c
mov bl, byte [rbp - 0x49]
mov eax, dword [rbp - 0x39]
inc eax
cmp eax, dword [rbp + 0x77]
jge 0x14004ae84
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbp - 0x31]
cmp eax, 0x1388
jb 0x14004ae84
mov rcx, qword [0x14021c5d8]
call fcn.1400140ac
mov r8, rax
mov byte [rsp + 0x20], sil
mov r9, qword [0x14021c5e0]
mov edx, 0x34
lea rcx, str.Drop_operation_is_too_long._Continue_
call fcn.14002b0f8
cmp eax, 6
jne 0x14004aea2
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x31], eax
jmp 0x14004ae84
cmp word [r12], si
je 0x14004ad36
mov eax, 0x22
cmp word [r12], ax
je 0x14004ace3
mov eax, 0x5c
cmp word [r12], ax
jne 0x14004ad2a
mov rax, r12
sub rax, r15
add rax, 2
sar rax, 1
mov edx, 0x100a
sub rdx, rax
lea rax, [r12 + 2]
mov qword [rbp - 0x19], rax
lea r9, [r13 + 1]
mov r8, r12
mov rcx, rax
call fcn.140146a64
mov eax, 0x22
cmp word [r12], ax
jne 0x14004ad26
mov eax, 0x5c
mov word [r12], ax
mov r12, qword [rbp - 0x19]
add r12, 2
sub r13, r14
test r13, r13
jg 0x14004acc4
mov r13, qword [rbp - 0x29]
mov edx, 0x20
mov rcx, rbx
call fcn.14013a9b0
mov r12d, dword [rbp - 0x41]
test rax, rax
je 0x14004adaf
add rbx, 0xfffffffffffffffe
mov eax, 0x22
mov edx, 0x100a
mov word [rbx], ax
test r12d, r12d
jne 0x14004ad8f
sub rbx, 2
lea eax, [r12 + 0x5c]
mov word [rbx], ax
mov rax, rbx
sub rax, r15
sar rax, 1
sub rdx, rax
lea r8, [0x140178f8c]
mov rcx, rbx
call fcn.1401469e4
jmp 0x14004adb8
mov rax, rbx
sub rax, r15
sar rax, 1
sub rdx, rax
lea r8, [0x14016b508]
mov rcx, rbx
call fcn.1401469e4
jmp 0x14004ac29
test r12d, r12d
jne 0x14004ac29
cmp byte [rbp - 0x46], sil
jne 0x14004adcc
cmp byte [rbp - 0x47], sil
jne 0x14004ade6
cmp byte [rbp - 0x48], sil
je 0x14004ae20
jmp 0x14004ae00
lea r8, str.goto:
mov edx, 0x1050
mov rcx, rdi
call fcn.140001f38
cmp byte [rbp - 0x47], sil
je 0x14004adfa
lea r8, str.edit:
mov edx, 0x1050
mov rcx, rdi
call fcn.140001f38
cmp byte [rbp - 0x48], sil
je 0x14004ae14
lea r8, str.view:
mov edx, 0x1050
mov rcx, rdi
call fcn.140001f38
mov byte [rbp - 0x48], sil
mov byte [rbp - 0x47], sil
mov byte [rbp - 0x46], sil
mov r8, rbx
mov edx, 0x1050
mov rcx, rdi
call fcn.140001f38
lea r8, [0x140176388]
cmp dword [rbp - 0x3d], esi
lea rax, [0x14016b508]
cmovne r8, rax
mov edx, 0x1050
mov rcx, rdi
call fcn.140001f38
mov bl, byte [rbp - 0x49]
test bl, bl
je 0x14004ae6d
lea r8, [0x140167e00]
mov edx, 0x1050
mov rcx, rdi
call fcn.140001f38
mov rdx, rdi
mov rcx, qword [0x14021c5d8]
call fcn.14001f33c
jmp 0x14004ac5f
mov bl, byte [rbp - 0x49]
mov eax, dword [rbp - 0x39]
add eax, r14d
mov dword [rbp - 0x39], eax
cmp eax, dword [rbp + 0x77]
mov r10d, eax
mov r8, qword [rbp - 0x21]
jl 0x14004aab0
jmp 0x14004aea2
mov bl, byte [rbp - 0x49]
test r12d, r12d
jne 0x14004aecd
cmp byte [rbp - 0x45], sil
je 0x14004aecd
lea rax, str.Keys__Enter__
lea rdx, [0x140179040]
test bl, bl
cmovne rdx, rax
mov rcx, qword [0x14021c5d8]
call fcn.14001f33c
mov rcx, rdi
call fcn.14012008c
mov rcx, r15
call fcn.14012008c
jmp 0x14004aefa
mov rcx, rdi
jmp 0x14004aeec
test r15, r15
je 0x14004aef1
mov rcx, r15
call fcn.14012008c
mov r14d, 0x8000ffff
mov esi, r14d
lea rcx, [rbp - 1]
call fcn.140114c28
mov eax, esi
mov rbx, qword [rsp + 0xf0]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret