Function at 0x74a72f40
Capabilities:
Create thread
Delete file
Delete registry value
Get common file path

Disassembly:
push rbp
mov rbp, rsp
lea rsp, [rsp - 0x4c0]
mov qword [rbp - 0x490], rbx
mov qword [rbp - 0x488], rsi
mov byte [rbp - 8], cl
lea rax, str.kernel32.dll
mov rcx, rax
call sub.kernel32.dll_LoadLibraryA
mov qword [rbp - 0x448], rax
lea rcx, [rbp - 0x228]
mov edx, 0x100
call sub.kernel32.dll_GetSystemDirectoryW
lea rdx, [rbp - 0x228]
lea rcx, [rbp - 0x438]
mov r8d, 4
call sub.kernel32.dll_lstrcpynW
lea rdx, [0x74a7b0e0]
mov rcx, qword [str.softwaremicrosoft]
mov r9d, 0x2011b
mov r8d, 1
call fcn.74a72d10
mov qword [rbp - 0x10], rax
lea rdx, [0x74a7b100]
mov rcx, qword [str.softwaremicrosoft]
mov r9d, 0x2011b
mov r8d, 4
call fcn.74a72d10
mov qword [rbp - 0x18], rax
lea rdx, [0x74a7b120]
mov rcx, qword [str.softwaremicrosoft]
mov r9d, 0x2011b
mov r8d, 3
call fcn.74a72d10
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x28], 0
cmp byte [rbp - 8], 0
je 0x74a7303e
cmp qword [rbp - 0x20], 0
jne 0x74a7303e
lea rdx, [0x74a7b120]
mov rcx, qword [str.softwaremicrosoft]
mov r9d, 0x20119
mov r8d, 3
call fcn.74a72d10
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x228]
lea rdx, [0x74a7c110]
call sub.kernel32.dll_lstrcatW
lea rdx, [rbp - 0x428]
mov ecx, 0x100
call sub.kernel32.dll_GetTempPathW
mov dword [rbp - 0x440], 0
sub dword [rbp - 0x440], 1
nop
nop
add dword [rbp - 0x440], 1
lea rax, [0x74a7e060]
mov qword [0x74a7e7d0], rax
lea rcx, [0x74a7e060]
mov r8d, 0
movabs rdx, 0x769
call fcn.74a73da0
mov eax, dword [rbp - 0x440]
mov dword [0x74a7e0e0], eax
lea rcx, [rbp - 0x428]
movabs rdx, 0
call fcn.74a72860
test al, al
jne 0x74a73104
lea rcx, [rbp - 0x228]
movabs rdx, 0
call fcn.74a72860
test al, al
jne 0x74a73104
lea rdx, [0x74a7b140]
lea rcx, [rbp - 0x438]
call fcn.74a72860
test al, al
je 0x74a731ca
mov rcx, qword [rbp - 0x20]
mov edx, 0
call fcn.74a71ce0
test al, al
jne 0x74a73148
cmp qword [rbp - 0x10], 0
je 0x74a7312f
mov rcx, qword [rbp - 0x10]
mov edx, 0
call fcn.74a71ce0
test al, al
jne 0x74a73148
cmp qword [rbp - 0x18], 0
je 0x74a731a5
mov rcx, qword [rbp - 0x18]
mov edx, 0
call fcn.74a71ce0
test al, al
je 0x74a731a5
mov rax, qword [0x74a7e7d0]
lea rcx, [rax + 0x168]
call sub.kernel32.dll_DeleteFileW
mov rax, qword [0x74a7e7d0]
cmp word [rax + 0x368], 0
je 0x74a73180
mov rax, qword [0x74a7e7d0]
lea rcx, [rax + 0x368]
call sub.kernel32.dll_DeleteFileW
mov rax, qword [0x74a7e7d0]
cmp word [rax + 0x568], 0
je 0x74a731a5
mov rax, qword [0x74a7e7d0]
lea rcx, [rax + 0x568]
call sub.kernel32.dll_DeleteFileW
mov rax, qword [0x74a7e7d0]
lea rcx, [rax + 0xe4]
mov r8d, 0
movabs rdx, pe_nt_image_headers64
call fcn.74a73da0
jmp 0x74a73210
mov rcx, qword [rbp - 0x20]
mov edx, 0
call fcn.74a720b0
test al, al
jne 0x74a73210
mov rcx, qword [rbp - 0x28]
mov edx, 1
call fcn.74a720b0
test al, al
jne 0x74a73210
mov rcx, qword [rbp - 0x10]
mov edx, 0
call fcn.74a720b0
test al, al
jne 0x74a73210
mov rcx, qword [rbp - 0x18]
mov edx, 0
call fcn.74a720b0
test al, al
mov rax, qword [0x74a7e7d0]
cmp qword [rax + 0x84], 0
je 0x74a734c0
mov rbx, qword [0x74a7e7d0]
lea rdx, str.GetProcAddress
mov rcx, qword [rbp - 0x448]
call sub.kernel32.dll_GetProcAddress
mov rdx, qword [rbx + 0x84]
mov qword [rdx + 4], rax
lea rdx, str.LoadLibraryA
mov rcx, qword [rbp - 0x448]
call sub.kernel32.dll_GetProcAddress
mov rdx, qword [rbx + 0x84]
mov qword [rdx + 0xc], rax
mov rax, qword [rbx + 0x84]
mov ax, word [rax + 0x25]
mov word [rbp - 0x450], ax
mov eax, dword [rbp - 0x450]
and eax, 0x20
cmp eax, 0x20
jne 0x74a7328e
cmp byte [rbp - 8], 0
je 0x74a7329f
mov eax, dword [rbp - 0x450]
and eax, 0x20
test eax, eax
jne 0x74a734c0
mov eax, dword [rbp - 0x450]
and eax, 0x40
cmp eax, 0x40
jne 0x74a732b3
cmp byte [rbp - 8], 0
jne 0x74a732c4
mov eax, dword [rbp - 0x450]
and eax, 0x40
test eax, eax
jne 0x74a734c0
mov ax, word [rbp - 0x450]
and ax, 0x80
cmp ax, 0x80
jne 0x74a732ff
mov rcx, qword [rbx + 0x84]
mov rax, qword [rbx + 0x84]
movsxd rdx, dword [rax + 0x45]
mov rax, qword [rbx + 0x84]
lea rax, [rax + rdx]
call rax
mov dword [rbp - 0x478], eax
jmp 0x74a7342a
mov dword [rsp + 0x20], 0
lea rax, [rbp - 0x460]
mov qword [rsp + 0x28], rax
mov r9, qword [rbx + 0x84]
mov rax, qword [rbx + 0x84]
movsxd rax, dword [rax + 0x45]
mov rdx, qword [rbx + 0x84]
lea r8, [rdx + rax]
movabs rdx, 0
movabs rcx, 0
call sub.kernel32.dll_CreateThread
mov qword [rbp - 0x458], rax
mov dword [rbp - 0x470], 0
mov dword [rbp - 0x468], 0
mov dword [rbp - 0x478], 0
mov eax, dword [rbp - 0x450]
and eax, 2
cmp eax, 2
jne 0x74a73386
mov dword [rbp - 0x468], 0xffffffff
mov eax, dword [rbp - 0x450]
and eax, 4
cmp eax, 4
jne 0x74a7339e
mov dword [rbp - 0x468], 0x1f4
mov eax, dword [rbp - 0x450]
and eax, 8
cmp eax, 8
jne 0x74a733b6
mov dword [rbp - 0x468], 0xbb8
mov eax, dword [rbp - 0x450]
and eax, 0x10
cmp eax, 0x10
jne 0x74a733ce
mov dword [rbp - 0x468], 0x7530
cmp dword [rbp - 0x468], 0
je 0x74a733ef
mov edx, dword [rbp - 0x468]
mov rcx, qword [rbp - 0x458]
call sub.kernel32.dll_WaitForSingleObject
mov dword [rbp - 0x470], eax
cmp dword [rbp - 0x468], 0
je 0x74a7342a
cmp dword [rbp - 0x470], 0
jne 0x74a7342a
mov dword [rbp - 0x478], 1
lea rdx, [rbp - 0x478]
mov rcx, qword [rbp - 0x458]
call sub.kernel32.dll_GetExitCodeThread
mov rcx, qword [rbp - 0x458]
call sub.kernel32.dll_CloseHandle
mov eax, dword [rbp - 0x450]
and eax, 1
cmp eax, 1
jne 0x74a734c0
cmp dword [rbp - 0x478], 0
jne 0x74a734c0
mov rsi, qword [0x74a7e7d0]
mov rax, qword [0x74a7e7d0]
lea rcx, [rax + 0xa4]
call sub.kernel32.dll_lstrlenW
movsxd rax, eax
lea rax, [rsi + rax*2 + 0xa0]
mov qword [rbp - 0x480], rax
mov rax, qword [0x74a7e7d0]
lea rdx, [rax + 0xa4]
mov rax, qword [0x74a7e7d0]
mov rcx, qword [rax + 0x9c]
call sub.advapi32.dll_RegDeleteValueW
mov rax, qword [rbp - 0x480]
mov dword [rax], 0x6b0068
mov rax, qword [0x74a7e7d0]
lea rdx, [rax + 0xa4]
mov rax, qword [0x74a7e7d0]
mov rcx, qword [rax + 0x9c]
call sub.advapi32.dll_RegDeleteValueW
mov rax, qword [0x74a7e7d0]
cmp qword [rax + 0x90], 0
je 0x74a73510
mov rax, qword [0x74a7e7d0]
mov rdx, qword [rax + 0x90]
mov r9d, 0x8000
movabs r8, 0
movabs rcx, 0xffffffffffffffff
call sub.kernel32.dll_VirtualFreeEx
mov rax, qword [0x74a7e7d0]
mov qword [rax + 0x90], 0
cmp dword [rbp - 0x440], 2
jl 0x74a73078
lea rcx, [0x74a7e060]
mov r8d, 0
movabs rdx, 0x769
call fcn.74a73da0
cmp qword [rbp - 0x18], 0
je 0x74a73549
mov rcx, qword [rbp - 0x18]
call sub.advapi32.dll_RegCloseKey
cmp qword [rbp - 0x10], 0
je 0x74a73559
mov rcx, qword [rbp - 0x10]
call sub.advapi32.dll_RegCloseKey
cmp qword [rbp - 0x20], 0
je 0x74a73569
mov rcx, qword [rbp - 0x20]
call sub.advapi32.dll_RegCloseKey
cmp qword [rbp - 0x28], 0
je 0x74a73579
mov rcx, qword [rbp - 0x28]
call sub.advapi32.dll_RegCloseKey
mov rbx, qword [rbp - 0x490]
mov rsi, qword [rbp - 0x488]
lea rsp, [rbp]
pop rbp
ret