Function at 0x402d90
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff6c
mov eax, 0x453130
call fcn.00446ab4
mov dword [ebp - 0x70], 4
lea edx, [ebp + 0x14]
lea eax, [ebp + 0x14]
call fcn.00450b70
inc dword [ebp - 0x70]
mov word [ebp - 0x7c], 8
lea edx, [ebp + 0x10]
lea eax, [ebp + 0x10]
call fcn.00450b70
inc dword [ebp - 0x70]
lea edx, [ebp + 0xc]
lea eax, [ebp + 0xc]
call fcn.00450b70
inc dword [ebp - 0x70]
lea edx, [ebp + 8]
lea eax, [ebp + 8]
call fcn.00450b70
inc dword [ebp - 0x70]
mov dl, 1
mov eax, dword [0x40662c]
call fcn.0040672c
mov dword [ebp - 0x90], eax
mov edx, 0x80000002
mov eax, dword [ebp - 0x90]
call fcn.00450b30
xor edx, edx
mov dword [ebp - 0x94], edx
call fcn.00402514
test al, al
je 0x402eb4
mov word [ebp - 0x7c], 0x14
mov edx, 0x45271c
lea eax, [ebp - 0xc]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov cl, 1
mov eax, dword [ebp - 0x90]
call fcn.00406830
dec dword [ebp - 0x70]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00450bac
mov edx, 0x45275b
lea eax, [ebp - 0x14]
call fcn.00450b38
inc dword [ebp - 0x70]
push dword [eax]
mov word [ebp - 0x7c], 0x20
mov edx, str.AASP_UPDATE
lea eax, [ebp - 0x10]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
pop ecx
call fcn.004069ec
dec dword [ebp - 0x70]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00450bac
mov dword [ebp - 0x94], 1
mov word [ebp - 0x7c], 0x2c
mov edx, str.SoftwareMicrosoftWindowsCurrentVersionRun
lea eax, [ebp - 0x18]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov cl, 1
mov eax, dword [ebp - 0x90]
call fcn.00406830
dec dword [ebp - 0x70]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 0x38
mov edx, str.AsusServiceProvider
lea eax, [ebp - 0x1c]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
call fcn.00406954
dec dword [ebp - 0x70]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 0x44
mov edx, 0x45279f
lea eax, [ebp - 0x20]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
call fcn.00406b6c
push eax
dec dword [ebp - 0x70]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00450bac
pop ecx
test cl, cl
je 0x402f88
mov word [ebp - 0x7c], 0x50
mov edx, str.AsusStartupHelp
lea eax, [ebp - 0x24]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
call fcn.00406954
dec dword [ebp - 0x70]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 0x5c
lea eax, [ebp - 0x28]
call fcn.00401ab8
mov edx, eax
inc dword [ebp - 0x70]
mov eax, dword [ebp + 0x14]
call fcn.0043c84c
lea edx, [ebp - 0x28]
push edx
lea eax, [ebp - 4]
call fcn.00401ab8
push eax
inc dword [ebp - 0x70]
mov edx, str.AsLoader.exe
lea eax, [ebp - 0x2c]
call fcn.00450b38
inc dword [ebp - 0x70]
lea edx, [ebp - 0x2c]
pop ecx
pop eax
call fcn.00450bf0
dec dword [ebp - 0x70]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 8
push dword [ebp + 8]
push dword [ebp - 4]
call fcn.00402ab4
add esp, 8
mov word [ebp - 0x7c], 0x68
lea eax, [ebp - 0x38]
call fcn.00401ab8
push eax
inc dword [ebp - 0x70]
mov edx, str.ASUS
lea eax, [ebp - 0x34]
call fcn.00450b38
inc dword [ebp - 0x70]
lea edx, [ebp - 0x34]
push edx
mov edx, str.SOFTWARE_
lea eax, [ebp - 0x30]
call fcn.00450b38
inc dword [ebp - 0x70]
pop edx
pop ecx
call fcn.00450bf0
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x40]
call fcn.00401ab8
push eax
inc dword [ebp - 0x70]
mov edx, 0x4527dc
lea eax, [ebp - 0x3c]
call fcn.00450b38
inc dword [ebp - 0x70]
lea edx, [ebp - 0x3c]
pop ecx
pop eax
call fcn.00450bf0
lea edx, [ebp - 0x40]
push edx
lea eax, [ebp - 8]
call fcn.00401ab8
push eax
inc dword [ebp - 0x70]
mov edx, str.AASP
lea eax, [ebp - 0x44]
call fcn.00450b38
inc dword [ebp - 0x70]
lea edx, [ebp - 0x44]
pop ecx
pop eax
call fcn.00450bf0
dec dword [ebp - 0x70]
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 8
mov cl, 1
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x90]
call fcn.00406830
mov word [ebp - 0x7c], 0x74
mov edx, str.EXEPATH
lea eax, [ebp - 0x48]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x90]
call fcn.004069ec
dec dword [ebp - 0x70]
lea eax, [ebp - 0x48]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 0x80
mov edx, str.PATH
lea eax, [ebp - 0x4c]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x90]
call fcn.004069ec
dec dword [ebp - 0x70]
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 0x8c
mov edx, str.VERSION
lea eax, [ebp - 0x50]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x90]
call fcn.004069ec
dec dword [ebp - 0x70]
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.00450bac
mov edx, 0x452806
lea eax, [ebp - 0x58]
call fcn.00450b38
inc dword [ebp - 0x70]
push dword [eax]
mov word [ebp - 0x7c], 0x98
mov edx, 0x4527f8
lea eax, [ebp - 0x54]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
pop ecx
call fcn.004069ec
dec dword [ebp - 0x70]
lea eax, [ebp - 0x58]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.00450bac
call fcn.004033c8
test al, al
jne 0x403274
mov word [ebp - 0x7c], 0xa4
mov edx, str.SoftwareMicrosoftWindowsCurrentVersionRunOnce
lea eax, [ebp - 0x5c]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov cl, 1
mov eax, dword [ebp - 0x90]
call fcn.00406830
dec dword [ebp - 0x70]
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.00450bac
mov word [ebp - 0x7c], 0xb0
mov edx, str.AA_UNINST_OLD
lea eax, [ebp - 0x60]
call fcn.00450b38
inc dword [ebp - 0x70]
mov edx, dword [eax]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x90]
call fcn.004069ec
dec dword [ebp - 0x70]
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.00450bac
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x68], 0
je 0x4032a4
mov eax, dword [ebp - 0x68]
mov edx, dword [eax]
mov dword [ebp - 0x64], edx
mov word [ebp - 0x7c], 0xc8
mov edx, 3
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x7c], 0xbc
mov eax, dword [ebp - 0x94]
push eax
dec dword [ebp - 0x70]
lea eax, [ebp - 8]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp - 4]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp + 8]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp + 0xc]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp + 0x10]
mov edx, 2
call fcn.00450bac
dec dword [ebp - 0x70]
lea eax, [ebp + 0x14]
mov edx, 2
call fcn.00450bac
pop eax
mov edx, dword [ebp - 0x8c]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret