Function at 0x140047638
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, 0xa0
mov r15d, r8d
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x25], eax
xor esi, esi
lea r14d, [rsi + 1]
cmp r15d, r14d
jne 0x140047689
lea ecx, [rsi + 0x12]
call fcn.140116c84
test al, al
je 0x140047689
mov byte [rbp - 0x36], r14b
jmp 0x140047692
mov byte [rbp - 0x36], sil
cmp r15d, r14d
jne 0x1400476a6
mov ecx, 0x11
call fcn.140116c84
test al, al
je 0x1400476a6
mov byte [rbp - 0x37], r14b
jmp 0x1400476af
mov byte [rbp - 0x37], sil
cmp r15d, r14d
jne 0x1400476c1
mov ecx, 0x10
call fcn.140116c84
test al, al
mov byte [rbp - 0x38], r14b
jne 0x1400476c5
mov byte [rbp - 0x38], sil
mov byte [rbp - 0x35], sil
lea rcx, [rbp + 7]
call fcn.1401086e4
nop
xor edx, edx
lea rcx, [rbp + 7]
call fcn.140102fa8
test eax, eax
js 0x140047dd4
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x140047dd4
call fcn.14010f780
mov r13, rax
mov qword [rbp - 0x21], rax
test rax, rax
je 0x140047dd4
mov rcx, qword [rbx + 0x40]
mov r12d, dword [rcx + 0x28]
mov dword [rbp - 0x31], r12d
mov ebx, esi
mov dword [rbp - 0x2d], ebx
mov byte [rbp - 0x39], sil
mov byte [rbp - 0x34], sil
test r12d, r12d
jne 0x1400478e7
mov rax, qword [0x14022ab50]
cmp byte [rax + 0x1106c], sil
je 0x140047900
mov dl, r14b
mov rcx, r13
call fcn.1400b92c4
test al, al
je 0x140047900
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 - 0x19], rsi
lea rcx, [rbp - 0x19]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [0x14022a9e8]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov qword [rsp + 0x38], rsi
mov rax, qword [0x14022a9e8]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x15]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x19]
mov dword [rsp + 0x20], eax
mov r9d, pe_nt_image_headers64
mov r8, rdi
mov edx, r15d
mov rcx, qword [0x14022a9e0]
mov rcx, qword [rcx + 0x3e48]
call fcn.140072840
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyMenu]
mov byte [rbp - 0x38], sil
mov byte [rbp - 0x37], sil
mov byte [rbp - 0x36], sil
mov edx, ebx
sub edx, 1
je 0x1400478d5
sub edx, 1
je 0x1400478cc
sub edx, 1
je 0x1400478c3
sub edx, 1
je 0x1400478ba
sub edx, 1
je 0x1400478d5
sub edx, 1
je 0x1400478cc
sub edx, 1
je 0x1400478c3
cmp edx, 1
jne 0x140047dd4
mov byte [rbp - 0x38], r14b
cmp ebx, 8
jmp 0x1400478d8
mov byte [rbp - 0x37], r14b
cmp ebx, r15d
jmp 0x1400478d8
mov byte [rbp - 0x36], r14b
cmp ebx, 6
jmp 0x1400478d8
cmp ebx, 5
sete byte [rbp - 0x35]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x25], eax
jmp 0x140047900
mov dl, r14b
mov rcx, r13
call fcn.1400b92c4
test al, al
je 0x14004790f
mov r12d, esi
mov dword [rbp - 0x31], esi
mov dword [rbp - 0x2d], r14d
mov rcx, r13
call fcn.1400a8f94
mov bl, al
mov byte [rbp - 0x39], al
jmp 0x140047921
mov rcx, r13
call fcn.1400b9d44
mov byte [rbp - 0x34], al
mov dword [rbp - 0x31], r12d
mov dword [rbp - 0x2d], ebx
mov ecx, 0x20a0
call fcn.140113e8c
mov rdi, rax
mov ecx, 0x2014
call fcn.140113e8c
mov r15, rax
test rdi, rdi
je 0x140047dc1
test rax, rax
je 0x140047dbc
mov r10d, esi
mov dword [rbp - 0x29], esi
cmp dword [rbp + 0x77], esi
jle 0x140047d7c
lea r8, [0x140187028]
sub r8, rax
mov qword [rbp - 0x11], r8
jmp 0x14004796f
mov bl, byte [rbp - 0x39]
test r12d, r12d
jne 0x1400479c7
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 0x1400479b5
movzx eax, word [rdx + rcx]
test ax, ax
je 0x1400479b5
mov word [rcx], ax
add rcx, 2
sub r8, r14
jne 0x140047994
lea rax, [rcx - 2]
test r8, r8
cmovne rax, rcx
mov word [rax], si
mov r8, qword [rbp - 0x11]
mov edx, 0x100a
mov rcx, r15
lea rax, [rdx + 0x7fffeff4]
test rax, rax
je 0x1400479f1
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1400479f1
mov word [rcx], ax
add rcx, 2
sub rdx, r14
jne 0x1400479cf
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 0x140047a03
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 0x140047d5e
lfence
mov r12, rbx
or r13, 0xffffffffffffffff
inc r13
cmp word [rbx + r13*2], si
jne 0x140047a3c
mov byte [rbp - 0x33], r14b
cmp dword [rbp - 0x31], esi
jne 0x140047b37
test r13, r13
jle 0x140047acd
lfence
cmp word [r12], si
je 0x140047acd
mov eax, 0x22
cmp word [r12], ax
je 0x140047a7a
mov eax, 0x5c
cmp word [r12], ax
jne 0x140047ac1
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.140138bc4
mov eax, 0x22
cmp word [r12], ax
jne 0x140047abd
mov eax, 0x5c
mov word [r12], ax
mov r12, qword [rbp - 0x19]
add r12, 2
sub r13, r14
test r13, r13
jg 0x140047a5b
mov r13, qword [rbp - 0x21]
lfence
mov edx, 0x20
mov rcx, rbx
call fcn.14012cc40
mov r12d, dword [rbp - 0x31]
test rax, rax
je 0x140047c89
add rbx, 0xfffffffffffffffe
lfence
mov eax, 0x22
mov edx, 0x100a
mov word [rbx], ax
test r12d, r12d
jne 0x140047c69
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, [0x14018703c]
mov rcx, rbx
call fcn.140138adc
jmp 0x140047c92
cmp byte [rbp - 0x34], sil
je 0x140047acd
lfence
lea rcx, [rbp - 9]
call fcn.140114c40
nop
mov r13, qword [rbp - 0x21]
mov rcx, r13
call fcn.1400a6dfc
mov r8, rax
lea r9, [rbp - 9]
xor edx, edx
mov rcx, rbx
call fcn.14011348c
test rax, rax
je 0x140047bb4
lea rcx, [rbp - 9]
call fcn.140054ee8
mov r8d, 0x800
mov rdx, rbx
sub rax, rbx
lea rcx, [r8 + 0x7ffff7fe]
test rcx, rcx
je 0x140047ba2
movzx ecx, word [rdx + rax]
test cx, cx
je 0x140047ba2
mov word [rdx], cx
add rdx, 2
sub r8, r14
jne 0x140047b81
lea rax, [rdx - 2]
test r8, r8
cmovne rax, rdx
mov word [rax], si
mov byte [rbp - 0x33], sil
lea rcx, [rbp - 9]
call fcn.140114ca4
cmp byte [rbp - 0x33], sil
jne 0x140047ad1
mov r12d, dword [rbp - 0x31]
lfence
mov byte [rsp + 0x20], sil
mov r9b, r14b
mov r8, rbx
xor edx, edx
mov rcx, r13
call fcn.1400acb58
cmp dword [rbp - 0x2d], esi
jne 0x140047c01
mov byte [rsp + 0x20], sil
mov r9b, r14b
lea r8, [0x14017669c]
xor edx, edx
mov rcx, r13
call fcn.1400acb58
mov bl, byte [rbp - 0x39]
mov eax, dword [rbp - 0x29]
inc eax
cmp eax, dword [rbp + 0x77]
jge 0x140047d61
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rbp - 0x25]
cmp eax, 0x1388
jb 0x140047d61
mov rcx, qword [0x14022a9e0]
call fcn.140013110
mov r8, rax
mov byte [rsp + 0x20], sil
mov r9, qword [0x14022a9e8]
mov edx, 0x34
lea rcx, str.Drop_operation_is_too_long._Continue_
call fcn.1400297d8
cmp eax, 6
jne 0x140047d7f
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbp - 0x25], eax
jmp 0x140047d61
mov rax, rbx
sub rax, r15
sar rax, 1
sub rdx, rax
lea r8, [0x140179218]
mov rcx, rbx
call fcn.140138adc
jmp 0x140047bcb
test r12d, r12d
jne 0x140047bcb
lfence
cmp byte [rbp - 0x36], sil
jne 0x140047ca9
cmp byte [rbp - 0x37], sil
jne 0x140047cc3
cmp byte [rbp - 0x38], sil
je 0x140047cfd
jmp 0x140047cdd
lea r8, str.goto:
mov edx, 0x1050
mov rcx, rdi
call fcn.140001e48
cmp byte [rbp - 0x37], sil
je 0x140047cd7
lea r8, str.edit:
mov edx, 0x1050
mov rcx, rdi
call fcn.140001e48
cmp byte [rbp - 0x38], sil
je 0x140047cf1
lea r8, str.view:
mov edx, 0x1050
mov rcx, rdi
call fcn.140001e48
mov byte [rbp - 0x38], sil
mov byte [rbp - 0x37], sil
mov byte [rbp - 0x36], sil
mov r8, rbx
mov edx, 0x1050
mov rcx, rdi
call fcn.140001e48
lea r8, [0x140183f88]
cmp dword [rbp - 0x2d], esi
lea rax, [0x140179218]
cmovne r8, rax
mov edx, 0x1050
mov rcx, rdi
call fcn.140001e48
mov bl, byte [rbp - 0x39]
test bl, bl
je 0x140047d4a
lea r8, [0x140175aa0]
mov edx, 0x1050
mov rcx, rdi
call fcn.140001e48
mov rdx, rdi
mov rcx, qword [0x14022a9e0]
call fcn.14001dd7c
jmp 0x140047c04
mov bl, byte [rbp - 0x39]
mov eax, dword [rbp - 0x29]
add eax, r14d
mov dword [rbp - 0x29], eax
cmp eax, dword [rbp + 0x77]
mov r10d, eax
mov r8, qword [rbp - 0x11]
jl 0x14004796c
jmp 0x140047d7f
mov bl, byte [rbp - 0x39]
test r12d, r12d
jne 0x140047daa
cmp byte [rbp - 0x35], sil
je 0x140047daa
lea rax, str.Keys__Enter__
lea rdx, [0x1401870f0]
test bl, bl
cmovne rdx, rax
mov rcx, qword [0x14022a9e0]
call fcn.14001dd7c
mov rcx, rdi
call fcn.140113e18
mov rcx, r15
call fcn.140113e18
jmp 0x140047dd7
mov rcx, rdi
jmp 0x140047dc9
test r15, r15
je 0x140047dce
mov rcx, r15
call fcn.140113e18
mov r14d, 0x8000ffff
mov esi, r14d
lea rcx, [rbp + 7]
call fcn.14010878c
mov eax, esi
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret