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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x340]
sub rsp, 0x440
mov rax, qword [0x1403b9010]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov rbx, r8
mov esi, edx
mov rdi, rcx
xor r14d, r14d
cmp byte [rcx + 0x33], r14b
je 0x140047daa
xor eax, eax
jmp 0x140047ffd
mov dword [rsp + 0x60], 0x3d0
xor edx, edx
mov r8d, 0x3c8
lea rcx, [rsp + 0x68]
call fcn.1400612f0
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], r14d
test esi, esi
jne 0x140047e00
mov dword [rsp + 0x74], 3
lea rdx, str.MSVSMON.ICO
mov rcx, qword [0x1403e51c0]
call qword [sym.imp.USER32.dll_LoadIconW]
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x78], 0x7e9
jmp 0x140047e09
cmp esi, 1
jne 0x140047fc7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x2c], eax
mov rcx, qword [rdi]
call fcn.140044874
mov dword [rdi + 0x28], eax
or dword [rsp + 0x74], 4
mov qword [rsp + 0x30], r14
test rbx, rbx
jne 0x140047e56
lea rdx, [rsp + 0x30]
mov rcx, qword [rdi]
call fcn.140044698
mov ebx, eax
test eax, eax
jns 0x140047e51
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, ebx
jmp 0x140047ffd
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x28], r14d
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8, rbx
mov edx, 0x80
lea rcx, [rbp - 0x78]
call fcn.140048a0c
test eax, eax
js 0x140047fa6
mov rbx, qword [rsp + 0x48]
cmp rbx, 3
jbe 0x140047fbc
mov qword [rsp + 0x40], r14
lea r8, [rsp + 0x40]
mov edx, VarDateFromI1
lea rcx, [0x1403e5a08]
call fcn.14021288c
test eax, eax
js 0x140047f99
call fcn.140034f08
mov rcx, rax
test rax, rax
je 0x140048024
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, reloc.OLEAUT32.dll_VariantCopyInd
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r14w
jne 0x140047eea
mov r8d, eax
lea rcx, [rsp + 0x38]
call fcn.140038a60
mov r8d, dword [rdi + 0x28]
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.1400349d8
lea rcx, [rbx - 1]
mov r8, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov r10d, 0x7ffffffe
cmp rcx, r10
ja 0x140047f71
mov rdx, r8
test rbx, rbx
je 0x140047f5e
sub r10, rbx
mov r9, rax
sub r9, r8
lea rcx, [r10 + rbx]
test rcx, rcx
je 0x140047f5e
movzx ecx, word [r9 + rdx]
test cx, cx
je 0x140047f5e
mov word [rdx], cx
add rdx, 2
sub rbx, 1
jne 0x140047f3e
lea rcx, [rdx - 2]
test rbx, rbx
cmovne rcx, rdx
mov word [rcx], r14w
jne 0x140047f7e
jmp 0x140047f7a
test rbx, rbx
je 0x140047f7a
mov word [r8], r14w
mov word [r8], r14w
lea rdx, [rax - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140047f99
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140047fbc
mov eax, 0x2e
mov dword [rbp + 0x82], 0x2e002e
mov word [rbp + 0x86], ax
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rdx, [rsp + 0x60]
mov ecx, esi
call qword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
jne 0x140047ff8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovns ecx, eax
jmp 0x140047ffb
mov ecx, r14d
mov eax, ecx
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.14005f5e0
lea r11, [rsp + 0x440]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140034ce8
int3