Function at 0x408cb0
Capabilities:
Create process on windows
Enumerate processes
Enumerate services
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dad72
mov eax, dword fs:[0]
push eax
sub esp, 0x60c
mov eax, dword [0x524330]
xor eax, ebp
mov dword [ebp - 0x5c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x568], ecx
push 0
push 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2cc], esp
push 0x4ee834
call fcn.00405374
call fcn.00409d5e
add esp, 0x24
mov eax, dword [0x528e30]
mov ecx, dword [0x528e34]
push dword [ecx + eax*4 - 4]
lea ecx, [ebp - 0x18]
call fcn.00403241
and dword [ebp - 4], 0
push 0
push str.novalidation
lea ecx, [ebp - 0x18]
call fcn.0040355e
cmp eax, dword [0x4ee458]
je 0x408d3b
mov byte [0x525bc5], 1
cmp dword [0x528e30], 1
jne 0x408de2
mov eax, dword [0x528e34]
push dword [eax]
lea ecx, [ebp - 0x24]
call fcn.00403241
mov byte [ebp - 4], 1
push 0x4ee84c
lea ecx, [ebp - 0x24]
call fcn.0040abe6
test eax, eax
jne 0x408d7a
mov byte [0x525bc4], 1
mov byte [0x5222a6], 0
push 0x4ee854
lea ecx, [ebp - 0x24]
call fcn.0040abe6
test eax, eax
jne 0x408d92
mov byte [0x525bc9], 1
push 0x4ee85c
lea ecx, [ebp - 0x24]
call fcn.0040abe6
test eax, eax
je 0x408db4
push 0x4ee864
lea ecx, [ebp - 0x24]
call fcn.0040abe6
test eax, eax
jne 0x408dc2
mov byte [0x525bc6], 1
mov byte [0x5222a6], 0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x24]
sub eax, 0x10
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
call fcn.0040110c
jmp 0x408fc2
cmp dword [0x528e30], 2
jne 0x408e8e
mov eax, dword [0x528e34]
push dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00403241
mov byte [ebp - 4], 2
push str.tracer
lea ecx, [ebp - 0x28]
call fcn.0040abe6
test eax, eax
jne 0x408e24
mov byte [0x525bc4], 1
mov byte [0x5222a6], 0
jmp 0x408e6e
push str.IDDQD
lea ecx, [ebp - 0x28]
call fcn.0040abe6
test eax, eax
je 0x408e46
push str.uber
lea ecx, [ebp - 0x28]
call fcn.0040abe6
test eax, eax
jne 0x408e56
mov byte [0x525bc6], 1
mov byte [0x5222a6], 0
jmp 0x408e6e
push 0x4ee884
lea ecx, [ebp - 0x28]
call fcn.0040abe6
test eax, eax
jne 0x408e6e
mov byte [0x525bc9], 1
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x28]
sub eax, 0x10
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e4]
call fcn.0040110c
jmp 0x408fc2
cmp dword [0x528e30], 3
jne 0x408fc2
mov eax, dword [0x528e34]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 0
jne 0x408ebb
and dword [ebp - 0x3e8], 0
jmp 0x408f0f
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x56c], eax
mov eax, dword [ebp - 0x56c]
inc eax
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x56c]
mov al, byte [eax]
mov byte [ebp - 0x571], al
inc dword [ebp - 0x56c]
cmp byte [ebp - 0x571], 0
jne 0x408ed4
mov eax, dword [ebp - 0x56c]
sub eax, dword [ebp - 0x570]
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0x3e8], eax
push dword [ebp - 0x3e8]
push dword [ebp - 0x3ec]
mov ecx, 0x5258b8
call fcn.0040417d
mov eax, dword [0x528e34]
push dword [eax + 8]
call fcn.004bdc77
pop ecx
mov dword [0x52589c], eax
mov eax, dword [0x528e34]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 0
jne 0x408f58
and dword [ebp - 0x3f0], 0
jmp 0x408fac
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp - 0x57c]
inc eax
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x57c]
mov al, byte [eax]
mov byte [ebp - 0x581], al
inc dword [ebp - 0x57c]
cmp byte [ebp - 0x581], 0
jne 0x408f71
mov eax, dword [ebp - 0x57c]
sub eax, dword [ebp - 0x580]
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x588]
mov dword [ebp - 0x3f0], eax
push dword [ebp - 0x3f0]
push dword [ebp - 0x3f4]
mov ecx, 0x5258c0
call fcn.0040417d
movzx eax, byte [0x525bc4]
test eax, eax
jne 0x4092bd
movzx eax, byte [0x525bc9]
test eax, eax
jne 0x4092bd
movzx eax, byte [0x525bc6]
test eax, eax
jne 0x4092bd
push ecx
mov ecx, esp
mov dword [ebp - 0x2d0], esp
push 0x4ee747
call fcn.00403241
push 2
lea eax, [ebp - 0x2c]
push eax
call fcn.00459c4a
add esp, 0xc
mov dword [ebp - 0x58c], eax
mov byte [ebp - 4], 3
movzx eax, byte [0x525bc5]
test eax, eax
je 0x409032
push 0x4ee890
lea ecx, [ebp - 0x2c]
call fcn.00403dc5
push ecx
mov eax, esp
mov dword [ebp - 0x2e0], esp
mov dword [ebp - 0x40c], eax
mov eax, dword [ebp - 0x2c]
sub eax, 0x10
mov dword [ebp - 0x404], eax
push dword [ebp - 0x404]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x408], eax
mov eax, dword [ebp - 0x408]
add eax, 0x10
mov ecx, dword [ebp - 0x40c]
mov dword [ecx], eax
lea ecx, [ebp - 0x2dc]
call fcn.00496b8c
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 4
push dword [ebp - 0x594]
lea ecx, [ebp - 0x38]
call fcn.0040a484
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2dc]
call fcn.00456287
lea ecx, [ebp - 0x38]
call fcn.00496c8d
movzx eax, al
test eax, eax
je 0x4091a8
push ecx
mov ecx, esp
mov dword [ebp - 0x2e4], esp
push 0
call fcn.00403241
mov dword [ebp - 0x598], eax
mov byte [ebp - 4], 7
push ecx
mov eax, esp
mov dword [ebp - 0x2e8], esp
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x38]
push ecx
push eax
call fcn.004037e6
add esp, 0xc
mov dword [ebp - 0x59c], eax
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x2ec], esp
push 0x4ee76d
call fcn.00403241
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 4], 9
push ecx
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push str.bs_ex
call fcn.00403241
mov byte [ebp - 4], 6
call fcn.00459e6b
add esp, 0x10
push 0
push 0x4ee8fc
push 0x4ee910
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
and dword [ebp - 0x2f4], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
call fcn.00456287
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
sub eax, 0x10
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x428]
call fcn.0040110c
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
sub eax, 0x10
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x42c]
call fcn.0040110c
mov eax, dword [ebp - 0x2f4]
jmp 0x409d47
movzx eax, byte [ebp - 0x30]
test eax, eax
je 0x409296
push ecx
mov ecx, esp
mov dword [ebp - 0x2f8], esp
push 0
call fcn.00403241
mov dword [ebp - 0x5a4], eax
mov byte [ebp - 4], 0xa
push ecx
mov eax, esp
mov dword [ebp - 0x2fc], esp
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x38]
push ecx
push eax
call fcn.004037e6
add esp, 0xc
mov dword [ebp - 0x5a8], eax
mov byte [ebp - 4], 0xb
push ecx
mov ecx, esp
mov dword [ebp - 0x300], esp
push 0x4ee76e
call fcn.00403241
mov dword [ebp - 0x5ac], eax
mov byte [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x304], esp
push str.bs_blocked
call fcn.00403241
mov byte [ebp - 4], 6
call fcn.00459e6b
add esp, 0x10
push 0
push str.Expired
push str.Sorry__your_software_install_has_expired.__Please_download_again.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
and dword [ebp - 0x308], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
call fcn.00456287
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
sub eax, 0x10
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x448]
call fcn.0040110c
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
sub eax, 0x10
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x44c]
call fcn.0040110c
mov eax, dword [ebp - 0x308]
jmp 0x409d47
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
call fcn.00456287
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
sub eax, 0x10
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
call fcn.0040110c
push ecx
mov ecx, esp
mov dword [ebp - 0x30c], esp
push 0x4ee95c
call fcn.00403241
call fcn.0045a347
pop ecx
mov byte [ebp - 0x5ad], al
movzx eax, byte [ebp - 0x5ad]
test eax, eax
je 0x409319
and dword [ebp - 0x310], 0
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
sub eax, 0x10
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x45c]
call fcn.0040110c
mov eax, dword [ebp - 0x310]
jmp 0x409d47
push ecx
mov ecx, esp
mov dword [ebp - 0x314], esp
push str.starting
call fcn.00403241
mov dword [ebp - 0x5b4], eax
mov byte [ebp - 4], 0xd
push ecx
mov ecx, esp
mov dword [ebp - 0x318], esp
push 0x4ee9b8
call fcn.00403241
mov byte [ebp - 4], 0
call fcn.0045abdf
pop ecx
pop ecx
call sub.KERNEL32.dll_GetCurrentProcessId
mov dword [ebp - 0x18c], eax
call fcn.00498fc7
mov eax, dword [eax + 4]
mov dword [ebp - 0x470], eax
mov eax, dword [ebp - 0x470]
push dword [eax + 0x60]
lea ecx, [ebp - 0x48]
call fcn.00403241
mov byte [ebp - 4], 0xe
mov eax, 0x4ee9c4
test eax, eax
jne 0x409394
and dword [ebp - 0x47c], 0
jmp 0x4093e6
mov dword [ebp - 0x5b8], 0x4ee9c4
mov eax, dword [ebp - 0x5b8]
inc eax
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x5b8]
mov al, byte [eax]
mov byte [ebp - 0x5bd], al
inc dword [ebp - 0x5b8]
cmp byte [ebp - 0x5bd], 0
jne 0x4093ab
mov eax, dword [ebp - 0x5b8]
sub eax, dword [ebp - 0x5bc]
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x47c], eax
push dword [ebp - 0x47c]
push 0x4ee9c4
lea ecx, [ebp - 0x48]
call fcn.00403e1c
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x40], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x54], eax
and dword [ebp - 0x3c], 0
and dword [ebp - 0x184], 0
push 0x124
push 0
lea eax, [ebp - 0x180]
push eax
call fcn.004bc450
add esp, 0xc
mov dword [ebp - 0x184], 0x128
lea eax, [ebp - 0x184]
push eax
push dword [ebp - 0x40]
call sub.KERNEL32.dll_Process32First
call fcn.00498191
push eax
lea ecx, [ebp - 0x190]
call fcn.00403ced
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x160]
test eax, eax
jne 0x409470
and dword [ebp - 0x480], 0
jmp 0x4094c4
lea eax, [ebp - 0x160]
mov dword [ebp - 0x5c8], eax
mov eax, dword [ebp - 0x5c8]
inc eax
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5c8]
mov al, byte [eax]
mov byte [ebp - 0x5cd], al
inc dword [ebp - 0x5c8]
cmp byte [ebp - 0x5cd], 0
jne 0x409489
mov eax, dword [ebp - 0x5c8]
sub eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d4]
mov dword [ebp - 0x480], eax
push dword [ebp - 0x480]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x190]
call fcn.00403e1c
push 0x5258e4
push 0x5258e4
lea eax, [ebp - 0x31c]
push eax
call fcn.004037e6
add esp, 0xc
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x48c], eax
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x48c]
mov eax, dword [eax]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x48c]
mov eax, dword [eax]
mov dword [ebp - 0x488], eax
push dword [ebp - 0x484]
push dword [ebp - 0x488]
lea ecx, [ebp - 0x190]
call fcn.00403e1c
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x31c]
sub eax, 0x10
mov dword [ebp - 0x490], eax
mov ecx, dword [ebp - 0x490]
call fcn.0040110c
mov eax, dword [ebp - 0x48]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x494], eax
push dword [ebp - 0x494]
push dword [ebp - 0x48]
lea ecx, [ebp - 0x190]
call fcn.00403e1c
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x498], eax
push dword [ebp - 0x498]
lea eax, [ebp - 0x160]
push eax
call fcn.004cab0c
pop ecx
pop ecx
test eax, eax
je 0x4095e3
push ecx
mov ecx, esp
mov dword [ebp - 0x320], esp
push 0x4ee9cc
call fcn.00403241
mov dword [ebp - 0x5dc], eax
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x324], esp
lea eax, [ebp - 0x160]
push eax
call fcn.00403241
push 0x5258b4
mov byte [ebp - 4], 0xf
call fcn.00461efc
add esp, 0xc
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4ac], eax
push dword [ebp - 0x4ac]
lea eax, [ebp - 0x160]
push eax
call fcn.004cab0c
pop ecx
pop ecx
test eax, eax
jne 0x40966a
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x18c]
je 0x40966a
push dword [ebp - 0x17c]
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x3c]
push dword [ebp - 0x194]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x190]
sub eax, 0x10
mov dword [ebp - 0x4b0], eax
mov ecx, dword [ebp - 0x4b0]
call fcn.0040110c
jmp 0x40969f
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x190]
sub eax, 0x10
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x4b4]
call fcn.0040110c
lea eax, [ebp - 0x184]
push eax
push dword [ebp - 0x40]
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x409448
push 0x8ca0
call fcn.00498154
pop ecx
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x58], eax
push 0xf003f
push str.ServicesActive
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0x44], eax
and dword [ebp - 0x50], 0
and dword [ebp - 0x4c], 0
push 0
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x50]
push eax
push 0x3e8
push dword [ebp - 0x58]
push 1
push 0x30
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusA]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x50], 0
je 0x40972a
push 0
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x50]
add eax, 0x3e8
push eax
push dword [ebp - 0x58]
push 1
push 0x30
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_EnumServicesStatusA]
mov dword [ebp - 0x188], eax
and dword [ebp - 0x198], 0
jmp 0x409740
mov eax, dword [ebp - 0x198]
inc eax
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x4c]
jae 0x409798
push ecx
mov ecx, esp
mov dword [ebp - 0x32c], esp
push 0x4ee9e0
call fcn.00403241
mov dword [ebp - 0x5e0], eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x198]
imul eax, eax, 0x24
push ecx
mov ecx, esp
mov dword [ebp - 0x330], esp
mov edx, dword [ebp - 0x58]
push dword [edx + eax]
call fcn.00403241
push 0x525920
mov byte [ebp - 4], 0xe
call fcn.00461efc
add esp, 0xc
jmp 0x409733
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x48]
sub eax, 0x10
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4c8]
call fcn.0040110c
call fcn.004587c2
movzx eax, byte [0x525bc8]
test eax, eax
je 0x4099cc
mov byte [0x525bc8], 0
push 0x100
lea eax, [ebp - 0x29c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call fcn.00498191
push eax
lea ecx, [ebp - 0x19c]
call fcn.00403ced
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x29c]
push eax
push str.__s_
lea eax, [ebp - 0x19c]
push eax
call fcn.0040b04f
add esp, 0xc
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x4cc], eax
xor eax, eax
cmp dword [ebp - 0x4cc], 0
sete al
movzx eax, al
test eax, eax
jne 0x4099ae
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x4d0], eax
cmp dword [ebp - 0x4d0], 0
jle 0x4099ae
push ecx
mov ecx, esp
mov dword [ebp - 0x334], esp
push 0
call fcn.00403241
mov dword [ebp - 0x5e4], eax
mov byte [ebp - 4], 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x338], esp
push 0
call fcn.00403241
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 0x15
push ecx
mov ecx, esp
mov dword [ebp - 0x33c], esp
push 0x4ee9ec
call fcn.00403241
mov dword [ebp - 0x5ec], eax
mov byte [ebp - 4], 0x16
push ecx
mov ecx, esp
mov dword [ebp - 0x340], esp
push str.attempt_retry
call fcn.00403241
mov byte [ebp - 4], 0x13
call fcn.00459e6b
add esp, 0x10
lea eax, [ebp - 0x19c]
push eax
push str._c___ping_1.1.1.1__n_1__w_3000___Nul__
lea eax, [ebp - 0x344]
push eax
call fcn.0040acc3
add esp, 0xc
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x5f0]
mov dword [ebp - 0x5f4], eax
mov byte [ebp - 4], 0x17
push str._retry_
push dword [ebp - 0x5f4]
lea eax, [ebp - 0x2a0]
push eax
call fcn.004038b5
add esp, 0xc
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x344]
sub eax, 0x10
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f4]
call fcn.0040110c
push 0
push 0
push dword [ebp - 0x2a0]
push 0x4eea3c
push 0x4eea44
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
and dword [ebp - 0x348], 0
mov eax, dword [ebp - 0x2a0]
sub eax, 0x10
mov dword [ebp - 0x4f8], eax
mov ecx, dword [ebp - 0x4f8]
call fcn.0040110c
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x19c]
sub eax, 0x10
mov dword [ebp - 0x4fc], eax
mov ecx, dword [ebp - 0x4fc]
call fcn.0040110c
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
sub eax, 0x10
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
call fcn.0040110c
mov eax, dword [ebp - 0x348]
jmp 0x409d47
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x19c]
sub eax, 0x10
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
call fcn.0040110c
lea eax, [ebp - 0x34c]
push eax
call fcn.00457678
pop ecx
mov dword [ebp - 0x5f8], eax
mov eax, dword [ebp - 0x5f8]
mov dword [ebp - 0x5fc], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x5fc]
call fcn.00403617
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x518]
mov eax, dword [eax]
sub eax, 0x10
mov dword [ebp - 0x510], eax
push dword [ebp - 0x510]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x514]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x34c]
sub eax, 0x10
mov dword [ebp - 0x51c], eax
mov ecx, dword [ebp - 0x51c]
call fcn.0040110c
push 0
push 0x4eea4c
lea ecx, [ebp - 0x20]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x409a6d
mov dword [ebp - 0x600], 0x4eea54
jmp 0x409a77
mov dword [ebp - 0x600], 0x4eea60
push dword [ebp - 0x600]
lea ecx, [ebp - 0x14]
call fcn.00403241
mov byte [ebp - 4], 0x1b
push 0x4eea74
lea eax, [ebp - 0x10]
push eax
call fcn.0046c73e
pop ecx
pop ecx
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, esp
mov dword [ebp - 0x350], esp
push 0x4eea80
call fcn.00403241
mov ecx, dword [ebp - 0x568]
call fcn.0040a9fc
mov dword [ebp - 0x604], eax
mov eax, dword [0x52589c]
or eax, dword [ebp - 0x604]
mov dword [0x52589c], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x354], esp
push 0x4eeaac
call fcn.00403241
mov ecx, dword [ebp - 0x568]
call fcn.0040a9fc
mov dword [ebp - 0x608], eax
mov eax, dword [0x52589c]
or eax, dword [ebp - 0x608]
mov dword [0x52589c], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x358], esp
push 0x4eead8
call fcn.00403241
mov ecx, dword [ebp - 0x568]
call fcn.0040a9fc
mov dword [ebp - 0x60c], eax
mov eax, dword [0x52589c]
or eax, dword [ebp - 0x60c]
mov dword [0x52589c], eax
push ecx
mov eax, esp
mov dword [ebp - 0x35c], esp
push 0x4eeb04
lea ecx, [ebp - 0x14]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
mov ecx, dword [ebp - 0x568]
call fcn.0040a9fc
mov dword [ebp - 0x610], eax
mov eax, dword [0x52589c]
or eax, dword [ebp - 0x610]
mov dword [0x52589c], eax
push ecx
mov eax, esp
mov dword [ebp - 0x360], esp
push 0x4eeb24
lea ecx, [ebp - 0x14]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
mov ecx, dword [ebp - 0x568]
call fcn.0040a9fc
mov dword [ebp - 0x614], eax
mov eax, dword [0x52589c]
or eax, dword [ebp - 0x614]
mov dword [0x52589c], eax
push ecx
mov eax, esp
mov dword [ebp - 0x364], esp
push 0x4eeb40
lea ecx, [ebp - 0x10]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
lea eax, [ebp - 0x368]
push eax
call fcn.0045ad00
pop ecx
pop ecx
mov dword [ebp - 0x618], eax
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0x54c], eax
mov byte [ebp - 4], 0x1d
push dword [ebp - 0x54c]
mov ecx, 0x5258c4
call fcn.00403d36
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x368]
sub eax, 0x10
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x550]
call fcn.0040110c
mov eax, dword [0x5258b8]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x554], eax
cmp dword [ebp - 0x554], 0
jne 0x409c98
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
lea ecx, [ebp - 0x2c8]
call fcn.0049a27c
mov dword [ebp - method.CList_class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char_____class_ATL::CStringT_char__class_StrTraitMFC_char__class_ATL::ChTraitsCRT_char____const__.virtual_0], 0x4eec78
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x2c8]
push eax
mov ecx, dword [ebp - 0x568]
call fcn.004997a0
mov ecx, dword [ebp - 0x568]
call fcn.00499c23
push 0
call fcn.0049cd3e
pop ecx
push str.optimuminstaller
mov ecx, dword [ebp - 0x568]
call fcn.0049c16d
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2c8]
call fcn.0049a2c0
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 0x568]
mov byte [eax + 0xa4], 1
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x409cc0
push 1
mov ecx, dword [ebp - 0x568]
call fcn.0040a520
jmp 0x409ccb
mov ecx, dword [ebp - 0x568]
call fcn.0040a6f3
mov dword [ebp - 0x36c], 1
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x10]
sub eax, 0x10
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x558]
call fcn.0040110c
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x14]
sub eax, 0x10
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
call fcn.0040110c
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x20]
sub eax, 0x10
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x560]
call fcn.0040110c
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
sub eax, 0x10
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x564]
call fcn.0040110c
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x5c]
xor ecx, ebp
call fcn.004bc439
leave
ret