Function at 0x428de0
Capabilities:
Create process on windows
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5db1ae
mov eax, dword fs:[0]
push eax
sub esp, 0x658
mov eax, dword [0x66f33c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5c8], ecx
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x468]
xor eax, eax
mov dword [ebp - 0x5cc], esi
push eax
push 0x5e266c
mov dword [ebp - 0x454], 7
mov dword [ebp - 0x458], 0
mov word [ebp - 0x468], ax
call fcn.00403000
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x5e266c
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x43c], 7
mov dword [ebp - 0x440], 0
mov word [ebp - 0x450], ax
call fcn.00403000
mov byte [ebp - 4], 1
call fcn.004544b9
test al, al
je 0x428ea4
push eax
push edx
pop ecx
pop esp
pop ecx
pop ebx
push ecx
push esi
push edi
push edi
pop esi
pop ebx
pop ebx
pop edi
pop ebp
push ecx
pop esp
mov esi, dword [ebp - 0x5cc]
push str.e1bcf6
push esi
call fcn.0042aaa0
push str.6a9b1c
push esi
mov dword [ebp - 0x610], eax
call fcn.0042aaa0
push str.1c30d8
push esi
mov dword [ebp - 0x60c], eax
call fcn.0042aaa0
push str.912b8e
push esi
mov dword [ebp - 0x608], eax
call fcn.0042aaa0
push str.cde74f
push esi
mov dword [ebp - 0x604], eax
call fcn.0042aaa0
push str.5d8a25
push esi
mov dword [ebp - 0x5d0], eax
call fcn.0042aaa0
push str.becbab
push esi
mov dword [ebp - 0x600], eax
call fcn.0042aaa0
add esp, 0x38
mov dword [ebp - 0x5fc], eax
call fcn.004543ea
test al, al
je 0x428f38
pop esp
pop ebx
push ebx
pop ebp
pop eax
pop ebp
push edi
push esi
push edi
pop edx
push edx
push ebp
push esp
push ebp
pop eax
push esi
push edx
push str.3ea0a2
push esi
call fcn.0042aaa0
push str.d634ca
push esi
mov dword [ebp - 0x5ec], eax
call fcn.0042aaa0
push str.ae6eb3
push esi
mov dword [ebp - 0x5f0], eax
call fcn.0042aaa0
push str.48a939
push esi
mov dword [ebp - 0x5f4], eax
call fcn.0042aaa0
add esp, 0x20
mov dword [ebp - 0x5c4], eax
call fcn.00454543
test al, al
je 0x428fa0
push ebp
pop esp
pop esi
push ecx
pop edi
push ebx
push ebx
push esi
pop ebp
pop ebp
push ebp
push ecx
push esp
pop edi
pop esi
push esp
push esp
pop ebx
mov esi, dword [ebp - 0x5cc]
push str.027cdc
push esi
call fcn.0042aaa0
push str.6abd56
push esi
mov dword [ebp - 0x5f8], eax
call fcn.0042aaa0
push str.4e63a1
push esi
mov dword [ebp - 0x614], eax
call fcn.0042aaa0
add esp, 0x18
mov ebx, eax
mov dword [ebp - 0x5b8], ebx
call fcn.00454543
test al, al
je 0x428ffa
pop ebx
pop eax
pop edi
push esi
push esp
pop ecx
pop ecx
pop edi
pop ebp
pop esi
pop eax
pop edi
push edx
push esp
pop esi
pop ebx
pop eax
push esi
push esp
mov ebx, dword [ebp - 0x5b8]
mov eax, dword [ebp - 0x5c4]
mov byte [ebp - 0x5ae], 0
mov byte [ebp - 0x5b1], 0
test eax, eax
je 0x429021
push eax
call fcn.0045a05f
add esp, 4
mov byte [ebp - 0x5ae], al
test ebx, ebx
je 0x429034
push ebx
call fcn.0045a05f
add esp, 4
mov byte [ebp - 0x5b1], al
cmp byte [ebp - 0x5ae], 0
je 0x429085
mov eax, dword [0x6743d4]
test eax, eax
jne 0x429075
push 0x104
call fcn.0045133e
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x42906a
mov ecx, eax
call fcn.0040cae0
jmp 0x42906c
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x6743d4], eax
push 1
push str.c0ce16
push 1
mov ecx, eax
call fcn.0040f340
call fcn.004547f5
test al, al
je 0x42909e
pop eax
push esp
pop eax
push esi
pop esi
push edx
push edi
push ebp
pop ecx
push ecx
push eax
push ebp
push ebx
push ecx
push eax
pop ebx
call fcn.004549d8
test al, al
je 0x4290b7
push ebx
pop edx
push esi
push edx
push esi
pop esp
push ecx
pop edx
pop ecx
pop ebx
push ebp
push esi
push ebx
pop ebp
push edx
pop edx
call fcn.00454657
test al, al
je 0x4290de
pop esi
push esp
pop ecx
push esp
push ecx
pop esi
pop esi
pop eax
pop eax
push ebx
push edi
push edi
pop ebp
push ebx
push ecx
push esp
pop edi
pop ecx
push esi
pop edx
push ebp
pop ecx
push edx
pop edi
push eax
pop esi
pop ebx
pop edx
pop eax
pop esp
push 0x12
xor eax, eax
mov dword [ebp - 0x49c], 7
push 0x5e28c4
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 0x4a0], 0
mov word [ebp - 0x4b0], ax
call fcn.00403000
push 6
push str.10d118
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 3
call fcn.00405290
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
lea ecx, [ebp - 0x61c]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.00462549
mov byte [ebp - 4], 4
call fcn.004547f5
test al, al
je 0x429160
pop eax
push esp
pop eax
push esi
pop esi
push edx
push edi
push ebp
pop ecx
push ecx
push eax
push ebp
push ebx
push ecx
push eax
pop ebx
call fcn.004549d8
test al, al
je 0x429179
push ebx
pop edx
push esi
push edx
push esi
pop esp
push ecx
pop edx
pop ecx
pop ebx
push ebp
push esi
push ebx
pop ebp
push edx
pop edx
call fcn.00454657
test al, al
je 0x4291a0
pop esi
push esp
pop ecx
push esp
push ecx
pop esi
pop esi
pop eax
pop eax
push ebx
push edi
push edi
pop ebp
push ebx
push ecx
push esp
pop edi
pop ecx
push esi
pop edx
push ebp
pop ecx
push edx
pop edi
push eax
pop esi
pop ebx
pop edx
pop eax
pop esp
lea ecx, [ebp - 0x61c]
call fcn.00453670
test eax, eax
je 0x4291df
cmp byte [ebp - 0x5ae], 0
je 0x4291cd
push 1
push str.e8abb4
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
push str.ExitMutex_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x42a9f4
call fcn.0045483a
test al, al
je 0x429204
pop esi
pop ecx
pop ebp
pop ebp
pop ebp
pop edi
pop ecx
pop esp
pop ecx
pop edi
push ebx
pop ebx
pop esi
pop edx
push ecx
push edx
pop ebx
pop esp
pop edi
pop edi
pop eax
push esi
push ebx
push ebp
pop ebx
pop ebp
pop eax
pop eax
lea ecx, [ebp - 0x628]
call fcn.0046bfba
lea eax, [ebp - 0x4c8]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x628]
call fcn.00470588
mov byte [ebp - 4], 6
call fcn.00454588
test al, al
je 0x429244
pop edx
pop edi
push edx
pop ebx
pop ebp
pop edx
push esp
pop edx
push esp
push ebp
pop ebp
pop edi
push eax
push esp
push esp
push ebx
pop edi
pop edi
call fcn.004547b0
test al, al
je 0x429268
push edi
push edi
push eax
push edi
pop ecx
push ebp
push esp
pop ebp
push ebp
push ebp
pop edi
pop ebp
push ebp
pop esp
pop ecx
push esp
push eax
pop esp
push esi
pop esp
push ebp
push esi
push eax
push edi
pop edx
push edx
push esp
call fcn.00454612
test al, al
je 0x429283
pop edi
push edi
push ebx
push edx
pop esi
pop edi
push ebx
pop ebx
push esp
push eax
pop eax
push ebx
pop esi
push ebx
push ebx
push esp
pop ecx
pop ebx
mov eax, dword [0x6743e0]
test eax, eax
jne 0x4292bb
push 0x15c
call fcn.0045133e
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4292b0
mov ecx, eax
call fcn.00443700
jmp 0x4292b2
xor eax, eax
mov byte [ebp - 4], 6
mov dword [0x6743e0], eax
mov ecx, eax
call fcn.00444790
call fcn.004544b9
test al, al
je 0x4292e2
pop esi
push ebx
pop edi
push ecx
pop ebx
push edi
pop ebp
push ecx
push ebx
push ebx
push esi
pop edx
push eax
push ecx
pop edi
push edx
push edi
pop ebx
pop esp
pop esi
push edx
pop ebp
push eax
call fcn.004543ea
test al, al
je 0x429302
pop esi
pop ecx
push ecx
pop ebp
push ebp
push ebp
push ebx
push edi
pop ebp
push esp
push ecx
pop edi
push eax
push eax
push ebx
push ebp
pop edx
pop edx
push esi
pop ebp
pop edi
pop ecx
push ecx
call fcn.0045494e
test al, al
je 0x429324
push esp
push edi
push edi
push esp
pop esi
pop ecx
push ecx
pop edi
push ecx
pop esp
push ebp
push esi
pop edx
push edx
pop ebx
push esp
pop eax
pop esi
pop eax
pop edx
push ecx
pop esp
push eax
pop edi
push ecx
mov eax, dword [0x6743e0]
test eax, eax
jne 0x42935c
push 0x15c
call fcn.0045133e
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x429351
mov ecx, eax
call fcn.00443700
jmp 0x429353
xor eax, eax
mov byte [ebp - 4], 6
mov dword [0x6743e0], eax
push 0
push 0x5e266c
push 0x5e38d4
push str.AppInfo
lea ecx, [ebp - 0x528]
push ecx
mov ecx, eax
call fcn.0045dcd5
mov byte [ebp - 4], 9
mov dword [ebp - 0x5bc], 1
mov dword [ebp - 0x5d8], 1
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x5d4], 1
mov dword [ebp - 0x5e8], 0
mov dword [ebp - 0x5dc], 1
call fcn.0045487f
test al, al
je 0x4293e2
pop ebx
push ecx
pop esi
push ebp
pop edi
pop ebx
push esi
pop esi
push esi
pop esi
pop esp
pop esp
pop ecx
push eax
pop esp
push ebx
pop eax
pop ebx
pop edi
pop esi
pop esp
push esp
pop ecx
pop edi
pop ebp
pop edx
pop eax
pop edx
pop edi
pop edx
call fcn.00454a62
test al, al
je 0x429405
pop ebp
push esp
push ebp
pop esp
push esp
push edi
push edi
pop esp
push eax
push ebx
pop eax
pop edx
pop edi
pop ebp
push esp
pop esp
push esi
push esp
pop edi
pop esi
push edx
pop eax
push esp
pop esi
push edi
push edi
xor esi, esi
mov byte [ebp - 0x5e0], 0
push esi
call fcn.0047f82c
mov dword [ebp - 0x5e4], eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x4cc], 7
mov dword [ebp - 0x4d0], esi
mov word [ebp - 0x4e0], ax
mov ecx, dword [ebp - 0x5c8]
mov byte [ebp - 4], 0xa
call fcn.0042ab40
mov dword [ebp - 0x5b8], eax
test eax, eax
jne 0x42945e
push eax
call fcn.0047f82c
add esp, 4
mov dword [ebp - 0x5b8], eax
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.004617d9
add esp, 8
mov byte [ebp - 4], 0xb
call fcn.0045469c
test al, al
je 0x42949a
push eax
push esp
push ebx
pop esp
push esp
push eax
pop ebp
push edi
pop ebp
push ecx
pop ebp
push ecx
push eax
push esi
push edi
push edi
pop ecx
pop ebx
pop ebp
pop eax
push ebp
push eax
push edi
pop esp
pop ebx
push esp
push ebx
push ecx
push ebp
push edi
pop esp
mov eax, dword [ebp - 0x614]
test eax, eax
je 0x4294b0
push eax
call fcn.0045a05f
add esp, 4
movzx esi, al
mov ebx, dword [ebp - 0x610]
test ebx, ebx
je 0x4295c2
cmp word [ebx], 0
jne 0x4294c8
xor ecx, ecx
jmp 0x4294df
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4294d0
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x468]
call fcn.00403000
test esi, esi
je 0x4295fc
push 0x208
lea eax, [ebp - 0x218]
mov byte [ebp - 0x5a9], 0
push 0
push eax
mov byte [ebp - 0x5b0], 0
mov byte [ebp - 0x5af], 0
mov byte [ebp - 0x5aa], 0
mov byte [ebp - 0x5b4], 0
call fcn.0047be90
add esp, 0xc
lea eax, [ebp - 0x5b4]
lea ecx, [ebp - 0x628]
push eax
lea eax, [ebp - 0x5aa]
push eax
lea eax, [ebp - 0x5af]
push eax
lea eax, [ebp - 0x5b0]
push eax
lea eax, [ebp - 0x5a9]
push eax
call fcn.0046e538
xor eax, eax
cmp byte [ebp - 0x5aa], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5af], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5b0], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5a9], al
setne al
push eax
lea eax, [ebp - 0x218]
push str.__d_d_d_d
push eax
call fcn.00407930
mov ecx, dword [ebp - 0x458]
lea eax, [ebp - 0x218]
add esp, 0x18
push eax
xor eax, eax
add ecx, 0xfffffffa
cmovns eax, ecx
lea ecx, [ebp - 0x468]
push eax
call fcn.0042b360
jmp 0x4295fc
call fcn.00406870
mov ecx, eax
call fcn.004442f0
mov edx, eax
cmp word [edx], 0
jne 0x4295da
xor ecx, ecx
jmp 0x4295ef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4295e0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x468]
call fcn.00403000
call fcn.0045431b
test al, al
je 0x429617
pop edi
pop ecx
push eax
pop ecx
pop ebx
push ebp
push eax
push esp
pop edx
pop eax
pop eax
pop ebp
pop ebx
pop esp
pop ecx
push esi
pop ecx
pop eax
cmp dword [ebp - 0x514], 8
lea eax, [ebp - 0x528]
push 0
cmovae eax, dword [ebp - 0x528]
push 0x5e266c
push dword [ebp - 0x518]
push eax
call fcn.00402e10
add esp, 0x10
test eax, eax
je 0x42965b
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x450]
call fcn.00402ee0
mov ebx, dword [ebp - 0x60c]
test ebx, ebx
je 0x429690
cmp word [ebx], 0
jne 0x42966f
xor ecx, ecx
jmp 0x429683
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429674
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x450]
call fcn.00403000
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x4296ac
push eax
call fcn.0045a05f
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d4], eax
call fcn.004546e1
test al, al
je 0x4296d5
pop esi
push ecx
push eax
pop esi
push eax
push esp
push ebx
push ebx
pop edi
pop edx
pop esp
pop eax
push edx
pop ecx
push esp
push esp
pop ecx
pop esi
push eax
push ecx
push ecx
pop esi
push edi
pop ebx
push esi
pop edi
push edi
pop edi
pop ecx
push ecx
push ecx
pop ebx
mov eax, dword [ebp - 0x604]
test eax, eax
je 0x4296f1
push eax
call fcn.0045a05f
movzx eax, al
add esp, 4
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x42970d
push eax
call fcn.0045a05f
movzx eax, al
add esp, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x5ec]
test eax, eax
je 0x429729
push eax
call fcn.0045a05f
movzx eax, al
add esp, 4
mov dword [ebp - 0x5c0], eax
call fcn.00454360
test al, al
je 0x429752
push ebx
push ebx
pop ebp
push esi
pop edx
pop esp
push edi
push ebx
pop edx
push edi
push edi
push ebp
pop eax
pop edi
push esp
pop edi
push ebx
push ebx
push ebx
push ebp
pop ecx
pop ebx
pop esi
push esi
push esi
push esp
pop esp
push esi
pop edi
push ecx
push esp
pop ebx
call fcn.0045442f
test al, al
je 0x42976e
pop eax
pop eax
push ebx
pop edx
pop ecx
push edi
pop esp
pop ebp
push eax
pop edi
pop edi
pop eax
push esi
push esp
push eax
push eax
push esp
pop eax
pop ebp
call fcn.004544fe
test al, al
je 0x42978b
pop edi
pop ebx
push ebp
push eax
pop edx
pop ecx
push ecx
push esi
pop edi
push esp
push ebp
push esp
pop edi
push edi
pop esp
push esi
pop esp
push edx
push edx
push ecx
mov eax, dword [ebp - 0x5f0]
test eax, eax
je 0x4297a7
push eax
call fcn.0045a05f
movzx eax, al
add esp, 4
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x5f4]
test eax, eax
je 0x4297c3
push eax
call fcn.0045a05f
movzx eax, al
add esp, 4
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x4297f8
push eax
call fcn.0045a05f
add esp, 4
mov byte [ebp - 0x5e0], al
test al, al
je 0x4297f8
push 1
push str.f14fbd
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045f8fd
call fcn.004543ea
test al, al
je 0x429812
pop esp
pop ebx
push ebx
pop ebp
pop eax
pop ebp
push edi
push esi
push edi
pop edx
push edx
push ebp
push esp
push ebp
pop eax
push esi
push edx
cmp dword [ebp + 0xc], 0
je 0x4298aa
mov eax, dword [ebp - 0x5fc]
test eax, eax
je 0x429834
push eax
lea ecx, [ebp - 0x4e0]
call fcn.004039d0
jmp 0x4298aa
call fcn.00406870
mov ecx, eax
call fcn.0045d928
push eax
lea ecx, [ebp - 0x438]
call fcn.00403740
push 0x5e33cc
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xc
call fcn.0040a430
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x558]
push eax
call fcn.00470dfd
add esp, 8
lea ecx, [ebp - 0x4e0]
push eax
call fcn.00403950
lea ecx, [ebp - 0x558]
call fcn.00412280
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xb
call fcn.00412280
call fcn.00454543
test al, al
je 0x4298c5
push ebp
pop esp
pop esi
push ecx
pop edi
push ebx
push ebx
push esi
pop ebp
pop ebp
push ebp
push ecx
push esp
pop edi
pop esi
push esp
push esp
pop ebx
push 5
push 0
push str.updsp
lea ecx, [ebp - 0x468]
call fcn.00405410
not eax
shr eax, 0x1f
mov dword [ebp - 0x5c4], eax
call fcn.00454543
test al, al
je 0x429900
pop ebx
pop eax
pop edi
push esi
push esp
pop ecx
pop ecx
pop edi
pop ebp
pop esi
pop eax
pop edi
push edx
push esp
pop esi
pop ebx
pop eax
push esi
push esp
push 9
push 0
push str.uninstall
lea ecx, [ebp - 0x468]
call fcn.00405410
mov edi, dword [ebp - 0x5c4]
cmp eax, 0xffffffff
mov ecx, 1
cmovg edi, ecx
mov dword [ebp - 0x5c8], edi
call fcn.004547f5
test al, al
je 0x429944
pop eax
push esp
pop eax
push esi
pop esi
push edx
push edi
push ebp
pop ecx
push ecx
push eax
push ebp
push ebx
push ecx
push eax
pop ebx
call fcn.004549d8
test al, al
je 0x42995d
push ebx
pop edx
push esi
push edx
push esi
pop esp
push ecx
pop edx
pop ecx
pop ebx
push ebp
push esi
push ebx
pop ebp
push edx
pop edx
call fcn.00454657
test al, al
je 0x42998a
pop esi
push esp
pop ecx
push esp
push ecx
pop esi
pop esi
pop eax
pop eax
push ebx
push edi
push edi
pop ebp
push ebx
push ecx
push esp
pop edi
pop ecx
push esi
pop edx
push ebp
pop ecx
push edx
pop edi
push eax
pop esi
pop ebx
pop edx
pop eax
pop esp
mov edi, dword [ebp - 0x5c8]
lea eax, [ebp - 0x4c8]
push eax
lea eax, [ebp - 0x540]
push eax
call fcn.0045a966
push dword [ebp - 0x5dc]
cmp dword [ebp - 0x43c], 8
lea edx, [ebp - 0x450]
mov ebx, dword [ebp - 0x5d4]
lea ecx, [ebp - 0x468]
cmovae edx, dword [ebp - 0x450]
lea eax, [ebp - 0x540]
cmp dword [ebp - 0x454], 8
push edi
cmovae ecx, dword [ebp - 0x468]
cmp dword [ebp - 0x52c], 8
push ebx
push dword [ebp - 0x5c0]
cmovae eax, dword [ebp - 0x540]
push dword [ebp - 0x5d8]
mov byte [ebp - 4], 0xd
push dword [ebp - 0x5bc]
push edx
push ecx
push eax
push 0x66
call fcn.0045bdc5
add esp, 0x30
test ebx, ebx
je 0x429b2c
test edi, edi
jne 0x429a69
cmp dword [ebp - 0x4b8], 1
jbe 0x429a69
cmp dword [ebp - 0x4b4], 0x10
lea eax, [ebp - 0x4c8]
cmovae eax, dword [ebp - 0x4c8]
cmp byte [eax + 1], 0x31
jne 0x429a69
cmp byte [ebp - 0x5ae], 0
je 0x429a57
push 1
push str.196036
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
push str.ExitHR_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x42a984
call fcn.0045483a
test al, al
je 0x429a94
pop esi
pop ecx
pop ebp
pop ebp
pop ebp
pop edi
pop ecx
pop esp
pop ecx
pop edi
push ebx
pop ebx
pop esi
pop edx
push ecx
push edx
pop ebx
pop esp
pop edi
pop edi
pop eax
push esi
push ebx
push ebp
pop ebx
pop ebp
pop eax
pop eax
mov edi, dword [ebp - 0x5c8]
cmp dword [ebp - 0x5e8], 0
jne 0x429bd5
test edi, edi
jne 0x429bd5
lea ecx, [ebp - 0x5aa]
call fcn.0041e5f0
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
lea ecx, [ebp - 0x5aa]
mov byte [ebp - 4], 0xe
cmovae eax, dword [ebp - 0x468]
push eax
call fcn.004181e0
test eax, eax
je 0x429b21
cmp byte [ebp - 0x5ae], 0
je 0x429afa
push 1
push str.4517f2
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
push str.ExitRepeatInst_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x68
call fcn.0045bdc5
add esp, 4
lea ecx, [ebp - 0x5aa]
call fcn.00428280
xor bl, bl
jmp 0x42a984
lea ecx, [ebp - 0x5aa]
jmp 0x429bcc
call fcn.004544b9
test al, al
je 0x429b4c
pop esi
push ebx
pop edi
push ecx
pop ebx
push edi
pop ebp
push ecx
push ebx
push ebx
push esi
pop edx
push eax
push ecx
pop edi
push edx
push edi
pop ebx
pop esp
pop esi
push edx
pop ebp
push eax
call fcn.004543ea
test al, al
je 0x429b6c
pop esi
pop ecx
push ecx
pop ebp
push ebp
push ebp
push ebx
push edi
pop ebp
push esp
push ecx
pop edi
push eax
push eax
push ebx
push ebp
pop edx
pop edx
push esi
pop ebp
pop edi
pop ecx
push ecx
call fcn.0045494e
test al, al
je 0x429b8e
push esp
push edi
push edi
push esp
pop esi
pop ecx
push ecx
pop edi
push ecx
pop esp
push ebp
push esi
pop edx
push edx
pop ebx
push esp
pop eax
pop esi
pop eax
pop edx
push ecx
pop esp
push eax
pop edi
push ecx
lea ecx, [ebp - 0x5a9]
call fcn.0041e5f0
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0xf
call fcn.004186b0
cmp byte [ebp - 0x5ae], 0
je 0x429bc6
push 1
push str.c273b6
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0xd
call fcn.00428280
call fcn.0045487f
test al, al
je 0x429bfc
pop ebx
push ecx
pop esi
push ebp
pop edi
pop ebx
push esi
pop esi
push esi
pop esi
pop esp
pop esp
pop ecx
push eax
pop esp
push ebx
pop eax
pop ebx
pop edi
pop esi
pop esp
push esp
pop ecx
pop edi
pop ebp
pop edx
pop eax
pop edx
pop edi
pop edx
call fcn.00454a62
test al, al
je 0x429c1f
pop ebp
push esp
push ebp
pop esp
push esp
push edi
push edi
pop esp
push eax
push ebx
pop eax
pop edx
pop edi
pop ebp
push esp
pop esp
push esi
push esp
pop edi
pop esi
push edx
pop eax
push esp
pop esi
push edi
push edi
mov edx, dword [ebp - 0x5d0]
test edx, edx
je 0x429cc4
mov eax, 0x5e5884
mov cx, word [edx]
cmp cx, word [eax]
jne 0x429c58
test cx, cx
je 0x429c54
mov cx, word [edx + 2]
cmp cx, word [eax + 2]
jne 0x429c58
add edx, 4
add eax, 4
test cx, cx
jne 0x429c32
xor eax, eax
jmp 0x429c5d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x429cc4
call fcn.00406870
mov ecx, eax
call fcn.0045d928
push eax
lea ecx, [ebp - 0x438]
call fcn.00403740
push str.WinMother.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x10
call fcn.0040a430
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
push 0
cmovae eax, dword [ebp - 0x438]
push 0
push 0
push str.a74f48
push eax
call fcn.00463b8d
add esp, 0x14
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x438]
call fcn.00412280
call fcn.0045469c
test al, al
je 0x429cec
push eax
push esp
push ebx
pop esp
push esp
push eax
pop ebp
push edi
pop ebp
push ecx
pop ebp
push ecx
push eax
push esi
push edi
push edi
pop ecx
pop ebx
pop ebp
pop eax
push ebp
push eax
push edi
pop esp
pop ebx
push esp
push ebx
push ecx
push ebp
push edi
pop esp
cmp dword [ebp - 0x440], 0
jne 0x429d45
push 1
push 0x5e266c
push 0x5e38d4
lea eax, [ebp - 0x438]
push str.AppInfo
push eax
call fcn.00406870
mov ecx, eax
call fcn.0045dcd5
push eax
lea ecx, [ebp - 0x450]
call fcn.00403950
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x429d89
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00403100
jmp 0x429d89
cmp dword [ebp - 0x5c0], 0
je 0x429d89
push 1
push 0x5e266c
push 0x5e38d4
lea eax, [ebp - 0x558]
push str.AppInfo
push eax
call fcn.00406870
mov ecx, eax
call fcn.0045dcd5
push eax
lea ecx, [ebp - 0x450]
call fcn.00403950
lea ecx, [ebp - 0x558]
call fcn.00412280
call fcn.0045431b
test al, al
je 0x429da4
pop edi
pop ecx
push eax
pop ecx
pop ebx
push ebp
push eax
push esp
pop edx
pop eax
pop eax
pop ebp
pop ebx
pop esp
pop ecx
push esi
pop ecx
pop eax
call fcn.004667b5
test eax, eax
je 0x429dd3
push 1
push 0x69
call fcn.0045bdc5
add esp, 8
push 1
push 0x5e4b8c
push 0x5e2808
call fcn.00406870
mov ecx, eax
call fcn.0045f99f
jmp 0x429ddf
push 0
push 0x69
call fcn.0045bdc5
add esp, 8
call fcn.004546e1
test al, al
je 0x429e08
pop esi
push ecx
push eax
pop esi
push eax
push esp
push ebx
push ebx
pop edi
pop edx
pop esp
pop eax
push edx
pop ecx
push esp
push esp
pop ecx
pop esi
push eax
push ecx
push ecx
pop esi
push edi
pop ebx
push esi
pop edi
push edi
pop edi
pop ecx
push ecx
push ecx
pop ebx
xor eax, eax
mov dword [ebp - 0x46c], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0x480], ax
lea ecx, [ebp - 0x480]
lea eax, [ebp - 0x468]
mov dword [ebp - 0x470], 0
push eax
call fcn.00402ee0
xor eax, eax
mov byte [ebp - 4], 0x11
push 0xffffffffffffffff
push eax
mov word [ebp - 0x498], ax
lea ecx, [ebp - 0x498]
lea eax, [ebp - 0x450]
mov dword [ebp - 0x484], 7
push eax
mov dword [ebp - 0x488], 0
call fcn.00402ee0
lea eax, [ebp - 0x480]
mov byte [ebp - 4], 0x12
push eax
call fcn.0045abba
lea eax, [ebp - 0x450]
push eax
call fcn.0045abba
add esp, 8
call fcn.004543ea
test al, al
je 0x429ea9
pop esp
pop ebx
push ebx
pop ebp
pop eax
pop ebp
push edi
push esi
push edi
pop edx
push edx
push ebp
push esp
push ebp
pop eax
push esi
push edx
push 0x5e57bc
lea ecx, [ebp - 0x438]
call fcn.00403740
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.0045a482
mov eax, dword [ebp - 0x424]
add esp, 0xc
mov byte [ebp - 4], 0x12
cmp eax, 8
jb 0x429efc
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00403100
push 0x5e57bc
lea ecx, [ebp - 0x438]
call fcn.00403740
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x498]
push eax
call fcn.0045a482
mov eax, dword [ebp - 0x424]
add esp, 0xc
mov byte [ebp - 4], 0x12
cmp eax, 8
jb 0x429f4f
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00403100
call fcn.004544b9
test al, al
je 0x429f69
push eax
push edx
pop ecx
pop esp
pop ecx
pop ebx
push ecx
push esi
push edi
push edi
pop esi
pop ebx
pop ebx
pop edi
pop ebp
push ecx
pop esp
cmp dword [ebp - 0x5bc], 0
je 0x429fe3
lea ecx, [ebp - 0x5a9]
call fcn.0041e5f0
cmp dword [ebp - 0x46c], 8
lea ecx, [ebp - 0x480]
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 0x15
cmovae ecx, dword [ebp - 0x480]
cmp dword [ebp - 0x484], 8
push ecx
cmovae eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x5a9]
push eax
call fcn.00442cd0
cmp byte [ebp - 0x5ae], 0
je 0x429fd4
push 1
push str.6bfa08
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0x12
call fcn.00428280
call fcn.00454543
test al, al
je 0x429ffe
push ebp
pop esp
pop esi
push ecx
pop edi
push ebx
push ebx
push esi
pop ebp
pop ebp
push ebp
push ecx
push esp
pop edi
pop esi
push esp
push esp
pop ebx
call fcn.00406870
mov ecx, eax
call fcn.0045f561
cmp dword [ebp - 0x5c4], 0
je 0x42a10e
call fcn.00454543
test al, al
je 0x42a033
pop ebx
pop eax
pop edi
push esi
push esp
pop ecx
pop ecx
pop edi
pop ebp
pop esi
pop eax
pop edi
push edx
push esp
pop esi
pop ebx
pop eax
push esi
push esp
push 0
push str.InstallTime
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045db39
push 0
push str.InstallTime
push 0x5e2808
mov esi, eax
call fcn.00406870
mov ecx, eax
call fcn.0045deef
push 0
push str.FirstInstallTime
push str.AppInfo
mov edi, eax
call fcn.00406870
mov ecx, eax
call fcn.0045db39
push 0
push str.FirstInstallTime
push 0x5e2808
mov ebx, eax
call fcn.00406870
mov ecx, eax
call fcn.0045deef
test esi, esi
mov dword [ebp - 0x5d0], eax
mov esi, dword [ebp - 0x5e4]
jne 0x42a0c0
push esi
push str.InstallTime
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045f8fd
test edi, edi
jne 0x42a0db
push esi
push str.InstallTime
push 0x5e2808
call fcn.00406870
mov ecx, eax
call fcn.0045f99f
test ebx, ebx
jne 0x42a0f6
push esi
push str.FirstInstallTime
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045f8fd
cmp dword [ebp - 0x5d0], 0
jne 0x42a1c9
push esi
push str.FirstInstallTime
jmp 0x42a1b8
call fcn.004547f5
test al, al
je 0x42a127
pop eax
push esp
pop eax
push esi
pop esi
push edx
push edi
push ebp
pop ecx
push ecx
push eax
push ebp
push ebx
push ecx
push eax
pop ebx
call fcn.004549d8
test al, al
je 0x42a140
push ebx
pop edx
push esi
push edx
push esi
pop esp
push ecx
pop edx
pop ecx
pop ebx
push ebp
push esi
push ebx
pop ebp
push edx
pop edx
call fcn.00454657
test al, al
je 0x42a167
pop esi
push esp
pop ecx
push esp
push ecx
pop esi
pop esi
pop eax
pop eax
push ebx
push edi
push edi
pop ebp
push ebx
push ecx
push esp
pop edi
pop ecx
push esi
pop edx
push ebp
pop ecx
push edx
pop edi
push eax
pop esi
pop ebx
pop edx
pop eax
pop esp
mov ebx, dword [ebp - 0x5e4]
push ebx
push str.FirstInstallTime
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045f8fd
push ebx
push str.FirstInstallTime
push 0x5e2808
call fcn.00406870
mov ecx, eax
call fcn.0045f99f
push ebx
push str.InstallTime
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045f8fd
push ebx
push str.InstallTime
push 0x5e2808
call fcn.00406870
mov ecx, eax
call fcn.0045f99f
call fcn.0045431b
test al, al
je 0x42a1e4
pop edi
pop ecx
push eax
pop ecx
pop ebx
push ebp
push eax
push esp
pop edx
pop eax
pop eax
pop ebp
pop ebx
pop esp
pop ecx
push esi
pop ecx
pop eax
cmp byte [ebp - 0x5e0], 0
jne 0x42a239
push 0xffffffffffffffff
push str.f14fbd
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045db39
test eax, eax
jle 0x42a239
push 0
push str.f14fbd
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045f8fd
push 0
push str.7e3df1
push str.AppInfo
call fcn.00406870
mov ecx, eax
call fcn.0045f8fd
call fcn.0045483a
test al, al
je 0x42a25e
pop esi
pop ecx
pop ebp
pop ebp
pop ebp
pop edi
pop ecx
pop esp
pop ecx
pop edi
push ebx
pop ebx
pop esi
pop edx
push ecx
push edx
pop ebx
pop esp
pop edi
pop edi
pop eax
push esi
push ebx
push ebp
pop ebx
pop ebp
pop eax
pop eax
lea ecx, [ebp - 0x5b3]
call fcn.0041e5f0
cmp dword [ebp - 0x4cc], 8
lea edx, [ebp - 0x4e0]
push dword [ebp - 0x5e0]
cmovae edx, dword [ebp - 0x4e0]
lea ecx, [ebp - 0x480]
cmp dword [ebp - 0x46c], 8
lea eax, [ebp - 0x498]
push edx
cmovae ecx, dword [ebp - 0x480]
cmp dword [ebp - 0x484], 8
push ecx
cmovae eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x5b3]
push eax
push dword [ebp - 0x5dc]
mov byte [ebp - 4], 0x16
push dword [ebp - 0x5bc]
push dword [ebp - 0x5d8]
push dword [ebp - 0x5d4]
call fcn.0041e680
cmp byte [ebp - 0x5ae], 0
je 0x42a2f3
push 1
push str.abf768
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
call fcn.004544b9
test al, al
je 0x42a313
pop esi
push ebx
pop edi
push ecx
pop ebx
push edi
pop ebp
push ecx
push ebx
push ebx
push esi
pop edx
push eax
push ecx
pop edi
push edx
push edi
pop ebx
pop esp
pop esi
push edx
pop ebp
push eax
call fcn.004543ea
test al, al
je 0x42a333
pop esi
pop ecx
push ecx
pop ebp
push ebp
push ebp
push ebx
push edi
pop ebp
push esp
push ecx
pop edi
push eax
push eax
push ebx
push ebp
pop edx
pop edx
push esi
pop ebp
pop edi
pop ecx
push ecx
call fcn.0045494e
test al, al
je 0x42a355
push esp
push edi
push edi
push esp
pop esi
pop ecx
push ecx
pop edi
push ecx
pop esp
push ebp
push esi
pop edx
push edx
pop ebx
push esp
pop eax
pop esi
pop eax
pop edx
push ecx
pop esp
push eax
pop edi
push ecx
lea ecx, [ebp - 0x5b2]
call fcn.0041e5f0
lea ecx, [ebp - 0x5b2]
mov byte [ebp - 4], 0x17
call fcn.00414910
lea ecx, [ebp - 0x5a8]
call fcn.0043c1b0
mov byte [ebp - 4], 0x18
call fcn.0045487f
test al, al
je 0x42a3a5
pop ebx
push ecx
pop esi
push ebp
pop edi
pop ebx
push esi
pop esi
push esi
pop esi
pop esp
pop esp
pop ecx
push eax
pop esp
push ebx
pop eax
pop ebx
pop edi
pop esi
pop esp
push esp
pop ecx
pop edi
pop ebp
pop edx
pop eax
pop edx
pop edi
pop edx
call fcn.00454a62
test al, al
je 0x42a3c8
pop ebp
push esp
push ebp
pop esp
push esp
push edi
push edi
pop esp
push eax
push ebx
pop eax
pop edx
pop edi
pop ebp
push esp
pop esp
push esi
push esp
pop edi
pop esi
push edx
pop eax
push esp
pop esi
push edi
push edi
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.0047be90
push dword [ebp - 0x5b8]
lea eax, [ebp - 0x420]
push 0x5e27dc
push eax
call fcn.00407930
add esp, 0x18
lea esi, [ebp - 0x4e0]
cmp dword [ebp - 0x4cc], 8
lea edx, [ebp - 0x480]
lea ecx, [ebp - 0x498]
cmovae esi, dword [ebp - 0x4e0]
cmp dword [ebp - 0x46c], 8
push dword [ebp - 0x5ae]
cmovae edx, dword [ebp - 0x480]
cmp dword [ebp - 0x484], 8
cmovae ecx, dword [ebp - 0x498]
cmp dword [ebp + 0xc], 0
setne al
cmp dword [ebp - 0x5c0], 0
movzx eax, al
push eax
setne al
movzx eax, al
push eax
push 0
lea eax, [ebp - 0x420]
push eax
push esi
push edx
push ecx
lea ecx, [ebp - 0x5a8]
call fcn.0043c390
cmp byte [ebp - 0x5ae], 0
je 0x42a485
push 1
push str.8c4612
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
call fcn.0045469c
test al, al
je 0x42a4ad
push eax
push esp
push ebx
pop esp
push esp
push eax
pop ebp
push edi
pop ebp
push ecx
pop ebp
push ecx
push eax
push esi
push edi
push edi
pop ecx
pop ebx
pop ebp
pop eax
push ebp
push eax
push edi
pop esp
pop ebx
push esp
push ebx
push ecx
push ebp
push edi
pop esp
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.0043e050
cmp dword [ebp - 0x4e4], 8
lea ecx, [ebp - 0x4f8]
mov esi, dword [ebp - 0x4e8]
lea eax, [ebp - 0x510]
cmovae ecx, dword [ebp - 0x4f8]
cmp dword [ebp - 0x4fc], 8
push esi
cmovae eax, dword [ebp - 0x510]
push ecx
push dword [ebp - 0x500]
mov byte [ebp - 4], 0x19
push eax
call fcn.00402e10
add esp, 0x10
test eax, eax
je 0x42a62d
push 0x5e57bc
lea ecx, [ebp - 0x438]
call fcn.00403740
test esi, esi
je 0x42a56a
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.0045a482
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x438]
call fcn.00412280
push 0x5e57bc
lea ecx, [ebp - 0x438]
call fcn.00403740
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x4f8]
jmp 0x42a5b4
lea eax, [ebp - 0x510]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.0045a482
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x438]
call fcn.00412280
push 0x5e57bc
lea ecx, [ebp - 0x438]
call fcn.00403740
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.0045a482
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x438]
call fcn.00412280
lea ecx, [ebp - 0x5a9]
call fcn.0041e5f0
cmp dword [ebp - 0x454], 8
lea ecx, [ebp - 0x468]
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 0x1e
cmovae ecx, dword [ebp - 0x468]
cmp dword [ebp - 0x43c], 8
push ecx
cmovae eax, dword [ebp - 0x450]
lea ecx, [ebp - 0x5a9]
push eax
call fcn.00442cd0
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0x19
call fcn.00428280
call fcn.004546e1
test al, al
je 0x42a656
pop esi
push ecx
push eax
pop esi
push eax
push esp
push ebx
push ebx
pop edi
pop edx
pop esp
pop eax
push edx
pop ecx
push esp
push esp
pop ecx
pop esi
push eax
push ecx
push ecx
pop esi
push edi
pop ebx
push esi
pop edi
push edi
pop edi
pop ecx
push ecx
push ecx
pop ebx
mov bl, byte [ebp - 0x5ae]
test bl, bl
je 0x42a675
push 1
push str.b6a756
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
call fcn.004544b9
test al, al
je 0x42a695
push eax
push edx
pop ecx
pop esp
pop ecx
pop ebx
push ecx
push esi
push edi
push edi
pop esi
pop ebx
pop ebx
pop edi
pop ebp
push ecx
pop esp
mov bl, byte [ebp - 0x5ae]
call fcn.0041e600
mov ecx, eax
call fcn.00422ae0
cmp byte [ebp - 0x5b1], 0
je 0x42a940
push str.need_power
push 0
call fcn.0045bafa
add esp, 8
call fcn.00466d6c
mov esi, eax
call fcn.00462480
mov edi, eax
call fcn.00462247
test esi, esi
jne 0x42a931
test edi, edi
jne 0x42a931
test eax, eax
je 0x42a931
push str.no_power
push edi
call fcn.0045bafa
add esp, 8
test bl, bl
je 0x42a70e
push edi
push str.power_install_start
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0047be90
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x38
lea eax, [ebp - 0x660]
mov dword [ebp - 0x664], 0x3c
push 0
push eax
call fcn.0047be90
add esp, 0xc
mov dword [ebp - 0x660], 0x240
lea eax, [ebp - 0x218]
mov dword [ebp - 0x648], 1
mov dword [ebp - 0x654], eax
call fcn.00462480
test eax, eax
mov ecx, str.runas
lea eax, [ebp - 0x664]
cmovne ecx, dword [ebp - 0x658]
push eax
mov dword [ebp - 0x658], ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x42a7f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x42a7ce
test bl, bl
je 0x42a940
push 0
push str.power_install_err_cancel
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
jmp 0x42a940
test bl, bl
je 0x42a940
push 0
push str.power_install_err_other
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
jmp 0x42a940
mov edi, dword [ebp - 0x5cc]
push str.519f2f
push str.639580
push edi
call fcn.0042afd0
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
push str.e1bcf6
push edi
call fcn.0042afd0
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
push str.6a9b1c
push edi
call fcn.0042afd0
add esp, 0x24
test bl, bl
je 0x42a862
push 0
push str.power_install_succ
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x438]
mov esi, eax
call fcn.00420b10
push esi
push str.GetProcessId__d_
push 0
mov byte [ebp - 4], 0x1f
call fcn.0045bafa
push 0
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.00474c57
add esp, 0x1c
test al, al
jne 0x42a904
push 1
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.00474c57
add esp, 0x10
test al, al
jne 0x42a904
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
push str.SaveSharemapData_err__s_
push 0
call fcn.0045bafa
add esp, 0xc
test bl, bl
je 0x42a924
push 0
push str.power_install_err_mem
push 1
call fcn.00404c10
mov ecx, eax
call fcn.0040f340
lea ecx, [ebp - 0x438]
call fcn.00412280
jmp 0x42a940
push str.WaitForSingleObject_3_sec
push 0
call fcn.0045bafa
add esp, 8
push 0xbb8
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x438]
call fcn.00412280
jmp 0x42a940
push str.have_power
push 0
call fcn.0045bafa
add esp, 8
lea ecx, [ebp - 0x510]
mov bl, 1
call fcn.00412280
lea ecx, [ebp - 0x5a8]
call fcn.0043c2e0
lea ecx, [ebp - 0x5b2]
call fcn.00428280
lea ecx, [ebp - 0x5b3]
call fcn.00428280
lea ecx, [ebp - 0x498]
call fcn.00412280
lea ecx, [ebp - 0x480]
call fcn.00412280
lea ecx, [ebp - 0x540]
call fcn.00412280
lea ecx, [ebp - 0x4f8]
call fcn.00412280
lea ecx, [ebp - 0x4e0]
call fcn.00412280
lea ecx, [ebp - 0x528]
call fcn.00412280
mov eax, dword [ebp - 0x4b4]
cmp eax, 0x10
jb 0x42a9ce
inc eax
lea ecx, [ebp - 0x4c8]
push eax
push dword [ebp - 0x4c8]
call fcn.004053c0
lea ecx, [ebp - 0x628]
mov dword [ebp - 0x4b4], 0xf
mov dword [ebp - 0x4b8], 0
mov byte [ebp - 0x4c8], 0
call fcn.00428280
lea ecx, [ebp - 0x61c]
call fcn.0046255e
mov eax, dword [ebp - 0x49c]
cmp eax, 8
jb 0x42aa1d
inc eax
lea ecx, [ebp - 0x4b0]
push eax
push dword [ebp - 0x4b0]
call fcn.00403100
xor eax, eax
mov dword [ebp - 0x49c], 7
mov word [ebp - 0x4b0], ax
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x4a0], 0
cmp eax, 8
jb 0x42aa58
inc eax
lea ecx, [ebp - 0x450]
push eax
push dword [ebp - 0x450]
call fcn.00403100
xor eax, eax
mov dword [ebp - 0x43c], 7
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x440], 0
mov word [ebp - 0x450], ax
call fcn.00412280
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045132d
mov esp, ebp
pop ebp
ret 8