Function at 0x404a80
Capabilities:
Persist via run registry key

Disassembly:
mov r11, rsp
sub rsp, 0x4e8
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rbp
mov qword [r11 - 8], rsi
mov qword [r11 - 0x10], rdi
mov rax, qword [0x00472618]
xor rax, rsp
mov qword [rsp + 0x4c0], rax
mov rsi, rdx
mov rbp, rcx
mov byte [rsp + 0x2c0], 0
xor edx, edx
mov r8d, 0x1ff
lea rcx, [r11 - 0x227]
call fcn.00435390
mov r8d, 0x200
lea rdx, [rsp + 0x2c0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x404c51
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rsp + 0xc1]
call fcn.00435390
mov word [rsp + 0xc0], 0x22
lea rdi, [rsp + 0xc0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x2c0]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x404b40
lea rdi, [rsp + 0xc0]
xor eax, eax
mov rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
movzx eax, word [str._.]
mov word [rdi - 1], ax
mov ecx, 8
call fcn.00417794
mov qword [rsp + 0x38], rax
test rax, rax
je 0x404b8f
mov rcx, rax
call fcn.00411f10
mov rbx, rax
jmp 0x404b91
xor ebx, ebx
lea rdx, [rsp + 0x40]
mov rcx, qword [rbp + 8]
call fcn.00404430
lea rdi, str.single
mov ecx, 7
repe cmpsb byte [rsi], byte [rdi]
jne 0x404bf8
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xc0]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, str.SOFTWAREMicrosoftWindowsCurrentVersionRun
mov qword [rsp + 0x20], rax
mov r9, 0xffffffff80000001
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call fcn.00411f20
jmp 0x404c3f
xor eax, eax
mov rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xc0]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, str.SOFTWAREMicrosoftWindowsCurrentVersionRun
mov qword [rsp + 0x20], rax
mov r9, 0xffffffff80000002
lea rdx, [rsp + 0xc0]
mov rcx, rbx
call fcn.00411f20
test rbx, rbx
je 0x404c51
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov rcx, qword [rsp + 0x4c0]
xor rcx, rsp
call fcn.00434a90
mov rbx, qword [rsp + 0x500]
mov rbp, qword [rsp + 0x508]
mov rsi, qword [rsp + 0x4e0]
mov rdi, qword [rsp + 0x4d8]
add rsp, 0x4e8
ret
sub rsp, 0x68
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rdi
mov rdi, r9
mov rsi, rcx
mov ecx, 8
call fcn.00417794
mov qword [rsp + 0x38], rax
test rax, rax
je 0x404d28
mov rcx, rax
call fcn.00411f10
mov rbx, rax
jmp 0x404d2a
xor ebx, ebx
lea rax, str.HungAppTimeout
mov qword [rsp + 0x28], rax
lea rbp, str.Control_PanelDesktop
mov qword [rsp + 0x20], rbp
mov r9, 0xffffffff80000001
mov r8d, 6
lea rdx, str.180000
mov rcx, rbx
call fcn.00411f20
lea r11, str.WaitToKillAppTimeout
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], rbp
mov r9, 0xffffffff80000001
mov r8d, 5
lea rdx, str.10000
mov rcx, rbx
call fcn.00411f20
test rbx, rbx
je 0x404d9d
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov rdx, rdi
mov rcx, rsi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
add rsp, 0x68
jmp 0x404a80