Function at 0x46b040
Capabilities:
Create process on windows
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6042bf
mov eax, dword fs:[0]
push eax
sub esp, 0x69c
mov eax, dword [0x69def4]
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 - 0x630], ecx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x450]
xor eax, eax
mov dword [ebp - 0x60c], edi
push eax
push 0x6097e8
mov dword [ebp - 0x43c], 7
mov dword [ebp - 0x440], 0
mov word [ebp - 0x450], ax
call fcn.00407210
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x6097e8
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x454], 7
mov dword [ebp - 0x458], 0
mov word [ebp - 0x468], ax
call fcn.00407210
xor eax, eax
mov dword [ebp - 0x4fc], 7
mov dword [ebp - 0x500], 0
mov word [ebp - 0x510], ax
mov byte [ebp - 4], 2
call fcn.0048bcc0
test al, al
je 0x46b129
pop esi
pop esi
pop eax
push edi
pop ebx
push edx
pop ebx
push edi
push edx
push ebp
pop esp
push esi
pop edx
push eax
pop ecx
pop eax
pop ebx
push edx
push ebp
pop edi
pop esi
push eax
push edi
pop esi
push esi
pop ebp
pop eax
push eax
push ebp
pop ebp
push ebp
call fcn.0048c3c0
test al, al
je 0x46b144
push edi
push esp
push esi
push esp
pop ecx
pop ecx
push esi
push ebp
push ebp
pop edi
pop edx
pop esp
push esp
push edi
pop esi
pop esi
pop esp
pop ebp
mov esi, dword [ebp - 0x60c]
push str.83ce1f
push esi
call fcn.0046d220
push str.92f4ef
push esi
mov dword [ebp - 0x604], eax
call fcn.0046d220
push str.ee5f50
push esi
mov dword [ebp - 0x658], eax
call fcn.0046d220
push str.53e5c6
push esi
mov dword [ebp - 0x620], eax
call fcn.0046d220
push str.70d2c0
push esi
mov dword [ebp - 0x654], eax
call fcn.0046d220
push str.03a14b
push esi
mov dword [ebp - 0x650], eax
call fcn.0046d220
push str.dcfead
push esi
mov dword [ebp - 0x64c], eax
call fcn.0046d220
push str.711370
push esi
mov dword [ebp - 0x608], eax
call fcn.0046d220
add esp, 0x40
mov dword [ebp - 0x648], eax
push str.99792e
push esi
call fcn.0046d220
add esp, 8
mov dword [ebp - 0x600], eax
call fcn.0048bb70
test al, al
je 0x46b20c
pop edx
pop edx
push esi
pop esp
pop edi
pop eax
pop ebx
push eax
pop edx
push eax
push eax
push eax
pop ebp
push esi
push edi
push esp
push ecx
push ebx
pop edx
push ebx
push esp
push edx
push ebx
pop edi
push esp
push ebx
call fcn.0048bf60
test al, al
je 0x46b234
pop edi
pop esi
push ecx
pop ecx
pop edi
push ebx
pop ebx
push esp
pop esi
pop ebx
pop edx
push esp
pop ebx
pop edx
pop ebp
pop esp
pop edx
push esi
push esi
push ecx
pop ebx
push eax
pop edi
push edx
push edx
mov esi, dword [ebp - 0x60c]
push str.533798
push esi
call fcn.0046d220
push str.53c4e9
push esi
mov dword [ebp - 0x634], eax
call fcn.0046d220
push str.374302
push esi
mov dword [ebp - 0x638], eax
call fcn.0046d220
push str.60ec8f
push esi
mov dword [ebp - 0x63c], eax
call fcn.0046d220
add esp, 0x20
mov edi, eax
mov dword [ebp - 0x5e8], edi
call fcn.0048bb00
test al, al
je 0x46b2a1
push ecx
push ecx
push esi
pop ebp
pop ebx
push esp
push ebx
push ecx
pop eax
pop ebp
pop ebp
pop ecx
pop edx
pop edi
push edi
push esi
push esp
push ebp
push eax
pop eax
pop edx
mov edi, dword [ebp - 0x5e8]
push str.4fab07
push esi
call fcn.0046d220
push str.618415
push esi
mov dword [ebp - 0x640], eax
call fcn.0046d220
push str.6f25e3
push esi
mov dword [ebp - 0x5f8], eax
call fcn.0046d220
mov ebx, eax
push str.38fbe8
push esi
mov dword [ebp - 0x5e8], ebx
call fcn.0046d220
add esp, 0x20
mov dword [ebp - 0x644], eax
call fcn.0048c2e0
test al, al
je 0x46b30b
push ecx
pop edx
pop ecx
pop esi
push ebx
pop ebp
pop eax
push eax
pop esi
pop esi
push ecx
pop ebx
push ebx
push esp
push esp
pop ebp
push eax
push ebx
mov ebx, dword [ebp - 0x5e8]
mov byte [ebp - 0x5de], 0
mov byte [ebp - 0x5e1], 0
test edi, edi
je 0x46b32c
push edi
call fcn.00431c20
add esp, 4
mov byte [ebp - 0x5de], al
test ebx, ebx
je 0x46b33f
push ebx
call fcn.00431c20
add esp, 4
mov byte [ebp - 0x5e1], al
cmp byte [ebp - 0x5de], 0
je 0x46b390
mov eax, dword [0x6a0c20]
test eax, eax
jne 0x46b380
push 0x104
call fcn.005caa24
add esp, 4
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x46b375
mov ecx, eax
call fcn.0044cd50
jmp 0x46b377
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x6a0c20], eax
push 1
push str.80f03b
push 1
mov ecx, eax
call fcn.0044faa0
call fcn.0048c430
test al, al
je 0x46b3aa
push edx
pop ebp
pop edi
push edx
push ebx
push edi
pop ebx
push edi
push edx
push esp
pop esp
push edx
push edx
pop ebx
push ecx
pop edx
push eax
call fcn.0048be80
test al, al
je 0x46b3d0
pop esp
push esi
pop eax
pop ebx
pop edx
pop esi
pop edx
push ebp
pop esp
push edx
pop ebp
push esi
push edi
pop ebx
push esp
push ebp
push ecx
push eax
push ecx
pop esp
pop esp
push esp
push esp
push esp
push ebp
push ebx
push ecx
push esp
push edx
push 7
xor eax, eax
mov dword [ebp - 0x49c], 7
push 0x609b1c
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 0x4a0], 0
mov word [ebp - 0x4b0], ax
call fcn.00407210
push 6
push str.bc66e4
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 4
call fcn.0040f7f0
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
lea ecx, [ebp - 0x660]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.00409e10
mov byte [ebp - 4], 5
call fcn.0048c430
test al, al
je 0x46b453
push edx
pop ebp
pop edi
push edx
push ebx
push edi
pop ebx
push edi
push edx
push esp
pop esp
push edx
push edx
pop ebx
push ecx
pop edx
push eax
call fcn.0048be80
test al, al
je 0x46b479
pop esp
push esi
pop eax
pop ebx
pop edx
pop esi
pop edx
push ebp
pop esp
push edx
pop ebp
push esi
push edi
pop ebx
push esp
push ebp
push ecx
push eax
push ecx
pop esp
pop esp
push esp
push esp
push esp
push ebp
push ebx
push ecx
push esp
push edx
lea ecx, [ebp - 0x660]
call fcn.00409f10
test eax, eax
je 0x46b4b8
cmp byte [ebp - 0x5de], 0
je 0x46b4a6
push 1
push str.009d02
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
push str.ExitMutex_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x46d198
call fcn.0048bfd0
test al, al
je 0x46b4d9
push ecx
push ebp
pop esp
pop ebx
push ebx
push esi
pop eax
pop edi
pop edi
pop eax
pop esp
pop ecx
pop ebp
pop esi
push edi
push ebp
push eax
pop ecx
pop ebp
pop eax
push edi
pop ecx
push ecx
pop ecx
call fcn.0048bb70
test al, al
je 0x46b4fb
push esp
push ebx
push ecx
push esp
push edi
push ebx
push ecx
pop eax
pop edx
push ebp
pop edi
push ecx
push ecx
push esp
pop ebx
pop esi
push eax
pop edx
push esi
push esp
pop ebp
pop eax
pop ebp
pop esi
push edx
call fcn.0048b8d0
test al, al
je 0x46b516
pop edx
push esi
pop edi
push esp
pop esi
pop esi
pop esi
pop ebx
push ecx
pop ebx
push esi
push esi
push ebp
push ebp
push edi
pop ebx
pop edx
pop eax
lea ecx, [ebp - 0x66c]
call fcn.004169c0
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x66c]
call fcn.0041c9c0
mov byte [ebp - 4], 7
call fcn.0048c120
test al, al
je 0x46b55f
push esi
push esp
push ecx
pop ebp
push ecx
pop ecx
pop edi
push edx
pop edx
push ecx
pop esi
push ecx
push esp
push ecx
push esp
pop ebx
push esp
push ebp
pop ebx
push esi
pop esi
pop eax
push eax
push ebp
push ebp
push edx
push edx
mov eax, dword [0x6a0bcc]
test eax, eax
jne 0x46b597
push 0x15c
call fcn.005caa24
add esp, 4
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x46b58c
mov ecx, eax
call fcn.00487140
jmp 0x46b58e
xor eax, eax
mov byte [ebp - 4], 7
mov dword [0x6a0bcc], eax
mov ecx, eax
call fcn.004883b0
call fcn.0048bef0
test al, al
je 0x46b5b8
pop ebx
pop eax
pop ecx
push esp
pop edi
push esi
push edx
push edx
push ecx
pop edi
push ebx
push esi
push ebp
pop esi
pop esi
pop edi
push eax
call fcn.0048bd30
test al, al
je 0x46b5db
push ecx
push esi
push eax
push ebp
pop ebp
push ebp
pop esi
pop edi
pop ebp
push ecx
push edi
pop esp
pop ecx
push ebp
pop edx
pop ebp
pop esp
push edx
pop ecx
push edx
pop esi
pop eax
pop ecx
pop edx
pop edx
pop eax
call fcn.0048c200
test al, al
je 0x46b5f9
push edx
pop esi
pop ebx
pop ebp
pop esi
push esi
push ebp
push esp
push eax
push ecx
push ecx
pop ebx
push ebx
pop eax
pop ebx
push esp
push ebp
push ebp
pop esp
push ecx
pop ebx
mov eax, dword [0x6a0bcc]
test eax, eax
jne 0x46b631
push 0x15c
call fcn.005caa24
add esp, 4
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x46b626
mov ecx, eax
call fcn.00487140
jmp 0x46b628
xor eax, eax
mov byte [ebp - 4], 7
mov dword [0x6a0bcc], eax
push 0
push 0x6097e8
push 0x609c84
push str.GDsftinf
lea ecx, [ebp - 0x540]
push ecx
mov ecx, eax
call fcn.0040c5d0
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x5f4], 1
mov dword [ebp - 0x614], 1
mov dword [ebp - 0x5f0], 0
mov dword [ebp - 0x610], 1
mov dword [ebp - 0x62c], 0
mov dword [ebp - 0x618], 1
call fcn.0048b9b0
test al, al
je 0x46b6b7
push edx
push ebp
pop esp
pop eax
pop edx
push edi
pop eax
push esi
pop ebx
push ebx
pop ecx
push ebx
pop ecx
push eax
push ebp
pop ecx
pop eax
pop esi
push ecx
push esp
push ebx
pop edi
pop esp
pop esp
push ebx
pop esi
push ebx
pop ebp
pop ecx
push edx
call fcn.0048c120
test al, al
je 0x46b6d5
push esp
pop esi
push ecx
push ebp
pop esi
push ebx
pop edi
pop ecx
pop ebx
pop eax
push edx
pop edi
pop esp
push edi
pop esi
push ecx
pop ebp
pop ebp
pop esi
push ecx
push ebp
call fcn.0048b940
test al, al
je 0x46b6f5
push esi
push eax
push esp
pop ebx
push ebx
push edi
push ebp
pop ebp
pop edi
pop esp
push esi
push edi
pop edx
pop esi
push edx
pop edx
push edx
pop edx
pop ebp
push eax
push edx
push ebp
push ebp
xor eax, eax
mov byte [ebp - 0x5fc], 0
push eax
xor edi, edi
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 0x628], 1
call fcn.005dec47
mov dword [ebp - 0x61c], eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x4b4], 7
mov dword [ebp - 0x4b8], edi
mov word [ebp - 0x4c8], ax
mov ecx, dword [ebp - 0x630]
mov byte [ebp - 4], 0xb
call fcn.0046d2c0
mov dword [ebp - 0x624], eax
test eax, eax
jne 0x46b75d
push eax
call fcn.005dec47
add esp, 4
mov dword [ebp - 0x624], eax
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.00435540
add esp, 8
mov byte [ebp - 4], 0xc
call fcn.0048c350
test al, al
je 0x46b796
push edi
push edx
push ecx
pop esp
push eax
pop esp
push esi
push edx
push esp
pop esi
push ebp
pop ebx
push esp
pop esp
push eax
pop eax
pop ebp
push ebx
push esp
push esi
pop edx
push edi
push ebp
push edx
push esp
push ecx
pop ebx
push edi
call fcn.0048bfd0
test al, al
je 0x46b7c1
pop ebp
push esi
push esi
push edx
push ebx
push eax
pop esi
pop esi
push ebp
push eax
push edx
push esi
push esi
push ebx
pop ebx
pop ebx
push edx
pop esi
pop ebx
push esi
pop ecx
pop ebp
push edi
pop edi
push ecx
pop edx
pop ecx
pop edi
push edi
push ecx
pop ecx
pop ebx
xor edi, edi
call fcn.0048c2e0
test al, al
je 0x46b7e3
pop ebx
push ecx
pop esi
push ecx
push edi
pop edx
pop esp
push edx
pop eax
pop ecx
push ebx
push ebx
push ebx
push eax
push ecx
push ebx
pop esi
push edi
pop ebp
push ecx
pop ecx
pop ebx
pop esp
push ecx
push esp
mov eax, dword [ebp - 0x5f8]
test eax, eax
je 0x46b7f9
push eax
call fcn.00431c20
add esp, 4
movzx edi, al
mov ebx, dword [ebp - 0x604]
test ebx, ebx
je 0x46b908
cmp word [ebx], 0
jne 0x46b811
xor ecx, ecx
jmp 0x46b825
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b816
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x450]
call fcn.00407210
test edi, edi
je 0x46b941
push 0x208
lea eax, [ebp - 0x218]
mov byte [ebp - 0x5d9], 0
push 0
push eax
mov byte [ebp - 0x5e0], 0
mov byte [ebp - 0x5df], 0
mov byte [ebp - 0x5da], 0
mov byte [ebp - 0x5e9], 0
call fcn.005d4960
add esp, 0xc
lea eax, [ebp - 0x5e9]
lea ecx, [ebp - 0x66c]
push eax
lea eax, [ebp - 0x5da]
push eax
lea eax, [ebp - 0x5df]
push eax
lea eax, [ebp - 0x5e0]
push eax
lea eax, [ebp - 0x5d9]
push eax
call fcn.0041a0f0
xor eax, eax
cmp byte [ebp - 0x5da], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5df], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5e0], al
setne al
push eax
xor eax, eax
cmp byte [ebp - 0x5d9], al
setne al
push eax
lea eax, [ebp - 0x218]
push str.__d_d_d_d
push eax
call fcn.0040f920
mov ecx, dword [ebp - 0x440]
lea eax, [ebp - 0x218]
add esp, 0x18
push eax
xor eax, eax
add ecx, 0xfffffffa
cmovns eax, ecx
lea ecx, [ebp - 0x450]
push eax
call fcn.0046d9d0
jmp 0x46b941
call fcn.00443920
mov ecx, eax
call fcn.00487e30
mov edx, eax
cmp word [edx], 0
jne 0x46b920
xor ecx, ecx
jmp 0x46b934
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b925
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x450]
call fcn.00407210
call fcn.0048c270
test al, al
je 0x46b95f
pop edx
pop eax
pop eax
push ebp
push edx
pop ebx
push esi
pop ecx
push esp
push eax
push esp
pop ebp
push ebx
pop ebp
pop ecx
pop ebp
push eax
pop edx
push ebx
pop ebp
push ebp
cmp dword [ebp - 0x52c], 8
lea eax, [ebp - 0x540]
push 0
cmovae eax, dword [ebp - 0x540]
push 0x6097e8
push dword [ebp - 0x530]
push eax
call fcn.00407020
add esp, 0x10
test eax, eax
je 0x46b9a8
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x540]
push eax
lea ecx, [ebp - 0x468]
call fcn.004070f0
jmp 0x46bac8
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005d4960
add esp, 0xc
call fcn.00443920
mov ecx, eax
call fcn.0040c9e0
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0x6097e8
push 0x609c84
push str.GDsftinf
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x570]
call fcn.00405c70
lea eax, [ebp - 0x570]
mov byte [ebp - 4], 0xd
push str.__r_t_n
push eax
call fcn.004333a0
add esp, 8
cmp dword [ebp - 0x560], 0
je 0x46baa6
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall_
lea ecx, [ebp - 0x438]
call fcn.00405c70
push 0x609b1c
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xe
call fcn.0046d7c0
cmp dword [ebp - 0x424], 8
lea ecx, [ebp - 0x604]
push ecx
push 0xf003f
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push 0
push eax
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x46ba9b
push dword [ebp - 0x604]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x570]
push eax
lea ecx, [ebp - 0x468]
call fcn.004070f0
lea ecx, [ebp - 0x438]
call fcn.00405cd0
mov eax, dword [ebp - 0x55c]
mov byte [ebp - 4], 0xc
cmp eax, 8
jb 0x46bac8
inc eax
lea ecx, [ebp - 0x570]
push eax
push dword [ebp - 0x570]
call fcn.00407310
mov ebx, dword [ebp - 0x658]
test ebx, ebx
je 0x46bafd
cmp word [ebx], 0
jne 0x46badc
xor ecx, ecx
jmp 0x46baf0
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46bae1
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x468]
call fcn.00407210
mov ebx, dword [ebp - 0x620]
test ebx, ebx
je 0x46bb58
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46bb10
sub ecx, edx
sar ecx, 1
je 0x46bb58
push ebx
lea ecx, [ebp - 0x510]
call fcn.0040ada0
cmp dword [ebp - 0x4fc], 8
lea eax, [ebp - 0x510]
cmovae eax, dword [ebp - 0x510]
push eax
push str.4d798c
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f560
mov eax, dword [ebp - 0x654]
test eax, eax
je 0x46bb74
push eax
call fcn.00431c20
movzx eax, al
add esp, 4
mov dword [ebp - 0x610], eax
call fcn.0048ba90
test al, al
je 0x46bb9a
push esi
push ebp
push edi
push ebx
pop edx
push esi
pop ebp
pop edx
pop edx
pop ebp
push ecx
pop esp
push esp
pop ecx
pop eax
push edx
push edx
pop ebp
pop ebp
pop ebx
push ebx
pop edx
push eax
pop ecx
push eax
push esp
push ebp
push ecx
pop esp
call fcn.0048c430
test al, al
je 0x46bbc1
push edi
pop esi
pop ebp
pop esp
pop eax
pop ecx
push esi
pop esp
push ebp
push esp
push esp
pop edi
push esi
push ebp
pop ebx
push ecx
push eax
pop edx
pop edx
pop esi
push esp
push eax
push edx
push esi
pop ebp
push esp
push ebx
push ebx
push edi
push esi
call fcn.0048b8d0
test al, al
je 0x46bbdc
pop edx
pop esp
pop edi
push edx
pop esp
push esi
push ebp
pop esp
pop eax
push eax
pop eax
pop ecx
pop ebp
pop ebp
pop eax
push edx
pop ebx
pop esp
mov eax, dword [ebp - 0x650]
test eax, eax
je 0x46bbfa
push eax
call fcn.00431c20
movzx ebx, al
add esp, 4
mov dword [ebp - 0x5f4], ebx
jmp 0x46bbff
mov ebx, 1
mov eax, dword [ebp - 0x64c]
test eax, eax
je 0x46bc1a
push eax
call fcn.005deb74
add esp, 4
mov dword [ebp - 0x5e8], eax
jmp 0x46bc1c
xor eax, eax
test ebx, ebx
je 0x46bc31
test eax, eax
je 0x46bc31
push eax
call fcn.00467490
mov ecx, eax
call fcn.0047b1a0
mov eax, dword [ebp - 0x648]
test eax, eax
je 0x46bc4d
push eax
call fcn.00431c20
movzx eax, al
add esp, 4
mov dword [ebp - 0x614], eax
mov eax, dword [ebp - 0x634]
test eax, eax
je 0x46bc69
push eax
call fcn.00431c20
movzx eax, al
add esp, 4
mov dword [ebp - 0x5f0], eax
call fcn.0048bcc0
test al, al
je 0x46bc87
push ecx
pop ebp
pop esp
pop ebp
pop esi
pop ecx
pop eax
push edx
push edx
push ebp
pop ebp
push ebx
push edx
pop edi
pop edx
push eax
pop edx
pop edi
push esi
pop eax
push edx
call fcn.0048c3c0
test al, al
je 0x46bcaa
push esp
pop ebp
pop edx
push edx
push edx
pop ecx
push edi
pop esp
pop esi
pop esi
push esi
push ecx
push ecx
push esp
push ebx
pop ecx
push esp
pop esi
push esi
push ebp
pop esp
pop eax
push edx
push edi
push esp
pop esi
call fcn.0048bb00
test al, al
je 0x46bcc9
pop ebp
push edx
pop edx
pop eax
pop eax
push esp
pop esp
pop edx
push esp
push esp
push ecx
pop ebp
pop edx
push ecx
pop eax
push edx
pop ebx
push esi
pop ecx
pop ecx
push ecx
push edi
call fcn.0048c2e0
test al, al
je 0x46bce7
pop ecx
pop edx
pop edi
push ecx
pop eax
push ecx
push esp
pop esi
push ebp
pop edi
push edx
pop ebp
push eax
pop edi
push ebp
pop edi
pop eax
push esp
pop edi
pop esi
push esp
mov eax, dword [ebp - 0x638]
test eax, eax
je 0x46bd03
push eax
call fcn.00431c20
movzx eax, al
add esp, 4
mov dword [ebp - 0x618], eax
mov eax, dword [ebp - 0x63c]
test eax, eax
je 0x46bd1f
push eax
call fcn.00431c20
movzx eax, al
add esp, 4
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x640]
test eax, eax
je 0x46bd54
push eax
call fcn.00431c20
add esp, 4
mov byte [ebp - 0x5fc], al
test al, al
je 0x46bd54
push 1
push str.fe4523
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f3b0
mov eax, dword [ebp - 0x644]
test eax, eax
je 0x46bd6d
push eax
call fcn.00431c20
add esp, 4
mov byte [ebp - 0x628], al
call fcn.0048bb70
test al, al
je 0x46bd90
pop edx
pop edx
push esi
pop esp
pop edi
pop eax
pop ebx
push eax
pop edx
push eax
push eax
push eax
pop ebp
push esi
push edi
push esp
push ecx
push ebx
pop edx
push ebx
push esp
push edx
push ebx
pop edi
push esp
push ebx
call fcn.0048bf60
test al, al
je 0x46bdb2
pop edi
pop esi
push ecx
pop ecx
pop edi
push ebx
pop ebx
push esp
pop esi
pop ebx
pop edx
push esp
pop ebx
pop edx
pop ebp
pop esp
pop edx
push esi
push esi
push ecx
pop ebx
push eax
pop edi
push edx
push edx
cmp dword [ebp + 0xc], 0
je 0x46be4a
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x46bdd4
push eax
lea ecx, [ebp - 0x4c8]
call fcn.0040ada0
jmp 0x46be4a
call fcn.00443920
mov ecx, eax
call fcn.0040c090
push eax
lea ecx, [ebp - 0x438]
call fcn.00405c70
push 0x60f360
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xf
call fcn.0046d7c0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x4e0]
push eax
call fcn.0042e590
add esp, 8
lea ecx, [ebp - 0x4c8]
push eax
call fcn.00405e00
lea ecx, [ebp - 0x4e0]
call fcn.00405cd0
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xc
call fcn.00405cd0
call fcn.0048bb00
test al, al
je 0x46be68
push ecx
push ecx
push esi
pop ebp
pop ebx
push esp
push ebx
push ecx
pop eax
pop ebp
pop ebp
pop ecx
pop edx
pop edi
push edi
push esi
push esp
push ebp
push eax
pop eax
pop edx
push 5
push 0
push str.updsp
lea ecx, [ebp - 0x450]
call fcn.00407420
mov edi, eax
not edi
shr edi, 0x1f
mov dword [ebp - 0x600], edi
call fcn.0048c2e0
test al, al
je 0x46bea4
push ecx
pop edx
pop ecx
pop esi
push ebx
pop ebp
pop eax
push eax
pop esi
pop esi
push ecx
pop ebx
push ebx
push esp
push esp
pop ebp
push eax
push ebx
push 9
push 0
push str.uninstall
lea ecx, [ebp - 0x450]
call fcn.00407420
cmp eax, 0xffffffff
mov ecx, 1
cmovg edi, ecx
mov dword [ebp - 0x5f8], edi
call fcn.0048c430
test al, al
je 0x46bee9
push edx
pop ebp
pop edi
push edx
push ebx
push edi
pop ebx
push edi
push edx
push esp
pop esp
push edx
push edx
pop ebx
push ecx
pop edx
push eax
mov edi, dword [ebp - 0x5f8]
call fcn.0048be80
test al, al
je 0x46bf0f
pop esp
push esi
pop eax
pop ebx
pop edx
pop esi
pop edx
push ebp
pop esp
push edx
pop ebp
push esi
push edi
pop ebx
push esp
push ebp
push ecx
push eax
push ecx
pop esp
pop esp
push esp
push esp
push esp
push ebp
push ebx
push ecx
push esp
push edx
lea eax, [ebp - 0x558]
push eax
lea eax, [ebp - 0x588]
push eax
call fcn.0042fc60
push dword [ebp - 0x618]
cmp dword [ebp - 0x454], 8
lea edx, [ebp - 0x468]
mov ebx, dword [ebp - 0x610]
lea ecx, [ebp - 0x450]
cmovae edx, dword [ebp - 0x468]
lea eax, [ebp - 0x588]
cmp dword [ebp - 0x43c], 8
push edi
cmovae ecx, dword [ebp - 0x450]
cmp dword [ebp - 0x574], 8
push ebx
push dword [ebp - 0x5f0]
cmovae eax, dword [ebp - 0x588]
push dword [ebp - 0x614]
mov byte [ebp - 4], 0x10
push dword [ebp - 0x5f4]
push edx
push ecx
push eax
push 0x66
call fcn.00422aa0
add esp, 0x30
test ebx, ebx
je 0x46c0e9
test edi, edi
jne 0x46bfee
cmp dword [ebp - 0x548], 1
jbe 0x46bfee
cmp dword [ebp - 0x544], 0x10
lea eax, [ebp - 0x558]
cmovae eax, dword [ebp - 0x558]
cmp byte [eax + 1], 0x31
jne 0x46bfee
cmp byte [ebp - 0x5de], 0
je 0x46bfdc
push 1
push str.a4ec05
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
push str.ExitHR_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x46d156
call fcn.0048bfd0
test al, al
je 0x46c00f
push ecx
push ebp
pop esp
pop ebx
push ebx
push esi
pop eax
pop edi
pop edi
pop eax
pop esp
pop ecx
pop ebp
pop esi
push edi
push ebp
push eax
pop ecx
pop ebp
pop eax
push edi
pop ecx
push ecx
pop ecx
call fcn.0048bb70
test al, al
je 0x46c031
push esp
push ebx
push ecx
push esp
push edi
push ebx
push ecx
pop eax
pop edx
push ebp
pop edi
push ecx
push ecx
push esp
pop ebx
pop esi
push eax
pop edx
push esi
push esp
pop ebp
pop eax
pop ebp
pop esi
push edx
call fcn.0048b8d0
test al, al
je 0x46c04c
pop edx
push esi
pop edi
push esp
pop esi
pop esi
pop esi
pop ebx
push ecx
pop ebx
push esi
push esi
push ebp
push ebp
push edi
pop ebx
pop edx
pop eax
cmp dword [ebp - 0x62c], 0
jne 0x46c18b
cmp dword [ebp - 0x5f8], 0
jne 0x46c18b
lea ecx, [ebp - 0x5da]
call fcn.00454950
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
lea ecx, [ebp - 0x5da]
mov byte [ebp - 4], 0x11
cmovae eax, dword [ebp - 0x450]
push eax
call fcn.00459150
test eax, eax
je 0x46c0de
cmp byte [ebp - 0x5de], 0
je 0x46c0b7
push 1
push str.844080
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
push str.ExitRepeatInst_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x68
call fcn.00422aa0
add esp, 4
lea ecx, [ebp - 0x5da]
call fcn.004a1050
xor bl, bl
jmp 0x46d156
lea ecx, [ebp - 0x5da]
jmp 0x46c182
call fcn.0048bef0
test al, al
je 0x46c103
pop ebx
pop eax
pop ecx
push esp
pop edi
push esi
push edx
push edx
push ecx
pop edi
push ebx
push esi
push ebp
pop esi
pop esi
pop edi
push eax
call fcn.0048bd30
test al, al
je 0x46c126
push ecx
push esi
push eax
push ebp
pop ebp
push ebp
pop esi
pop edi
pop ebp
push ecx
push edi
pop esp
pop ecx
push ebp
pop edx
pop ebp
pop esp
push edx
pop ecx
push edx
pop esi
pop eax
pop ecx
pop edx
pop edx
pop eax
call fcn.0048c200
test al, al
je 0x46c144
push edx
pop esi
pop ebx
pop ebp
pop esi
push esi
push ebp
push esp
push eax
push ecx
push ecx
pop ebx
push ebx
pop eax
pop ebx
push esp
push ebp
push ebp
pop esp
push ecx
pop ebx
lea ecx, [ebp - 0x5d9]
call fcn.00454950
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x12
call fcn.00459720
cmp byte [ebp - 0x5de], 0
je 0x46c17c
push 1
push str.665f45
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x10
call fcn.004a1050
call fcn.0048b9b0
test al, al
je 0x46c1b2
push edx
push ebp
pop esp
pop eax
pop edx
push edi
pop eax
push esi
pop ebx
push ebx
pop ecx
push ebx
pop ecx
push eax
push ebp
pop ecx
pop eax
pop esi
push ecx
push esp
push ebx
pop edi
pop esp
pop esp
push ebx
pop esi
push ebx
pop ebp
pop ecx
push edx
call fcn.0048c120
test al, al
je 0x46c1d0
push esp
pop esi
push ecx
push ebp
pop esi
push ebx
pop edi
pop ecx
pop ebx
pop eax
push edx
pop edi
pop esp
push edi
pop esi
push ecx
pop ebp
pop ebp
pop esi
push ecx
push ebp
call fcn.0048b940
test al, al
je 0x46c1f0
push esi
push eax
push esp
pop ebx
push ebx
push edi
push ebp
pop ebp
pop edi
pop esp
push esi
push edi
pop edx
pop esi
push edx
pop edx
push edx
pop edx
pop ebp
push eax
push edx
push ebp
push ebp
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x46c26a
push eax
call fcn.00431c20
add esp, 4
test al, al
je 0x46c26a
call fcn.00443920
mov ecx, eax
call fcn.0040c090
push eax
lea ecx, [ebp - 0x438]
call fcn.00405c70
push str.mnitGDer.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x13
call fcn.0046d7c0
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
push 0
cmovae eax, dword [ebp - 0x438]
push 0
push 0
push str.10e514
push eax
call fcn.004270e0
add esp, 0x14
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x438]
call fcn.00405cd0
call fcn.0048c350
test al, al
je 0x46c28f
push edi
push edx
push ecx
pop esp
push eax
pop esp
push esi
push edx
push esp
pop esi
push ebp
pop ebx
push esp
pop esp
push eax
pop eax
pop ebp
push ebx
push esp
push esi
pop edx
push edi
push ebp
push edx
push esp
push ecx
pop ebx
push edi
call fcn.0048bfd0
test al, al
je 0x46c2b8
pop ebp
push esi
push esi
push edx
push ebx
push eax
pop esi
pop esi
push ebp
push eax
push edx
push esi
push esi
push ebx
pop ebx
pop ebx
push edx
pop esi
pop ebx
push esi
pop ecx
pop ebp
push edi
pop edi
push ecx
pop edx
pop ecx
pop edi
push edi
push ecx
pop ecx
pop ebx
call fcn.0048c2e0
test al, al
je 0x46c2da
pop ebx
push ecx
pop esi
push ecx
push edi
pop edx
pop esp
push edx
pop eax
pop ecx
push ebx
push ebx
push ebx
push eax
push ecx
push ebx
pop esi
push edi
pop ebp
push ecx
pop ecx
pop ebx
pop esp
push ecx
push esp
cmp dword [ebp - 0x458], 0
jne 0x46c333
push 1
push 0x6097e8
push 0x609c84
lea eax, [ebp - 0x438]
push str.GDsftinf
push eax
call fcn.00443920
mov ecx, eax
call fcn.0040c5d0
push eax
lea ecx, [ebp - 0x468]
call fcn.00405e00
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x46c377
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00407310
jmp 0x46c377
cmp dword [ebp - 0x5f0], 0
je 0x46c377
push 1
push 0x6097e8
push 0x609c84
lea eax, [ebp - 0x4e0]
push str.GDsftinf
push eax
call fcn.00443920
mov ecx, eax
call fcn.0040c5d0
push eax
lea ecx, [ebp - 0x468]
call fcn.00405e00
lea ecx, [ebp - 0x4e0]
call fcn.00405cd0
call fcn.0048c270
test al, al
je 0x46c395
pop edx
pop eax
pop eax
push ebp
push edx
pop ebx
push esi
pop ecx
push esp
push eax
push esp
pop ebp
push ebx
pop ebp
pop ecx
pop ebp
push eax
pop edx
push ebx
pop ebp
push ebp
call fcn.0042b720
test eax, eax
je 0x46c3c4
push 1
push 0x69
call fcn.00422aa0
add esp, 8
push 1
push 0x61072c
push str.GDftSet
call fcn.00443920
mov ecx, eax
call fcn.0040f480
jmp 0x46c3d0
push 0
push 0x69
call fcn.00422aa0
add esp, 8
call fcn.0048ba90
test al, al
je 0x46c3f6
push esi
push ebp
push edi
push ebx
pop edx
push esi
pop ebp
pop edx
pop edx
pop ebp
push ecx
pop esp
push esp
pop ecx
pop eax
push edx
push edx
pop ebp
pop ebp
pop ebx
push ebx
pop edx
push eax
pop ecx
push eax
push esp
push ebp
push ecx
pop esp
call fcn.0048c430
test al, al
je 0x46c41d
push edi
pop esi
pop ebp
pop esp
pop eax
pop ecx
push esi
pop esp
push ebp
push esp
push esp
pop edi
push esi
push ebp
pop ebx
push ecx
push eax
pop edx
pop edx
pop esi
push esp
push eax
push edx
push esi
pop ebp
push esp
push ebx
push ebx
push edi
push esi
call fcn.0048b8d0
test al, al
je 0x46c438
pop edx
pop esp
pop edi
push edx
pop esp
push esi
push ebp
pop esp
pop eax
push eax
pop eax
pop ecx
pop ebp
pop ebp
pop eax
push edx
pop ebx
pop esp
xor eax, eax
mov dword [ebp - 0x46c], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0x480], ax
lea ecx, [ebp - 0x480]
lea eax, [ebp - 0x450]
mov dword [ebp - 0x470], 0
push eax
call fcn.004070f0
xor eax, eax
mov byte [ebp - 4], 0x14
push 0xffffffffffffffff
push eax
mov word [ebp - 0x498], ax
lea ecx, [ebp - 0x498]
lea eax, [ebp - 0x468]
mov dword [ebp - 0x484], 7
push eax
mov dword [ebp - 0x488], 0
call fcn.004070f0
lea eax, [ebp - 0x480]
mov byte [ebp - 4], 0x15
push eax
call fcn.00433170
lea eax, [ebp - 0x468]
push eax
call fcn.00433170
add esp, 8
call fcn.0048bb70
test al, al
je 0x46c4e2
pop edx
pop edx
push esi
pop esp
pop edi
pop eax
pop ebx
push eax
pop edx
push eax
push eax
push eax
pop ebp
push esi
push edi
push esp
push ecx
push ebx
pop edx
push ebx
push esp
push edx
push ebx
pop edi
push esp
push ebx
call fcn.0048bf60
test al, al
je 0x46c504
pop edi
pop esi
push ecx
pop ecx
pop edi
push ebx
pop ebx
push esp
pop esi
pop ebx
pop edx
push esp
pop ebx
pop edx
pop ebp
pop esp
pop edx
push esi
push esi
push ecx
pop ebx
push eax
pop edi
push edx
push edx
push 0x610d44
lea ecx, [ebp - 0x438]
call fcn.00405c70
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.004323d0
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x438]
call fcn.00405cd0
push 0x610d44
lea ecx, [ebp - 0x438]
call fcn.00405c70
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x498]
push eax
call fcn.004323d0
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x438]
call fcn.00405cd0
call fcn.0048bcc0
test al, al
je 0x46c5ac
pop esi
pop esi
pop eax
push edi
pop ebx
push edx
pop ebx
push edi
push edx
push ebp
pop esp
push esi
pop edx
push eax
pop ecx
pop eax
pop ebx
push edx
push ebp
pop edi
pop esi
push eax
push edi
pop esi
push esi
pop ebp
pop eax
push eax
push ebp
pop ebp
push ebp
call fcn.0048c3c0
test al, al
je 0x46c5c7
push edi
push esp
push esi
push esp
pop ecx
pop ecx
push esi
push ebp
push ebp
pop edi
pop edx
pop esp
push esp
push edi
pop esi
pop esi
pop esp
pop ebp
lea ecx, [ebp - 0x5d9]
call fcn.00454950
cmp dword [ebp - 0x46c], 8
lea ecx, [ebp - 0x480]
lea eax, [ebp - 0x498]
mov byte [ebp - 4], 0x18
cmovae ecx, dword [ebp - 0x480]
cmp dword [ebp - 0x484], 8
push ecx
cmovae eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x5d9]
push eax
call fcn.00486660
cmp byte [ebp - 0x5de], 0
je 0x46c629
push 1
push str.b55eed
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x15
call fcn.004a1050
call fcn.0048bb00
test al, al
je 0x46c656
push ecx
push ecx
push esi
pop ebp
pop ebx
push esp
push ebx
push ecx
pop eax
pop ebp
pop ebp
pop ecx
pop edx
pop edi
push edi
push esi
push esp
push ebp
push eax
pop eax
pop edx
call fcn.00443920
mov ecx, eax
call fcn.0040edd0
call fcn.004464b0
mov ecx, eax
call fcn.0044e700
cmp dword [ebp - 0x600], 0
je 0x46c771
call fcn.0048c2e0
test al, al
je 0x46c696
push ecx
pop edx
pop ecx
pop esi
push ebx
pop ebp
pop eax
push eax
pop esi
pop esi
push ecx
pop ebx
push ebx
push esp
push esp
pop ebp
push eax
push ebx
push 0
push 0x609cc8
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040c2c0
push 0
push 0x609cc8
push str.GDftSet
mov esi, eax
call fcn.00443920
mov ecx, eax
call fcn.0040ca00
push 0
push str.FirstInstallTime
push str.GDsftinf
mov edi, eax
call fcn.00443920
mov ecx, eax
call fcn.0040c2c0
push 0
push str.FirstInstallTime
push str.GDftSet
mov ebx, eax
call fcn.00443920
mov ecx, eax
call fcn.0040ca00
test esi, esi
mov dword [ebp - 0x608], eax
mov esi, dword [ebp - 0x61c]
jne 0x46c723
push esi
push 0x609cc8
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f3b0
test edi, edi
jne 0x46c73e
push esi
push 0x609cc8
push str.GDftSet
call fcn.00443920
mov ecx, eax
call fcn.0040f480
test ebx, ebx
jne 0x46c759
push esi
push str.FirstInstallTime
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f3b0
cmp dword [ebp - 0x608], 0
jne 0x46c813
push esi
push str.FirstInstallTime
jmp 0x46c802
call fcn.0048c430
test al, al
je 0x46c78b
push edx
pop ebp
pop edi
push edx
push ebx
push edi
pop ebx
push edi
push edx
push esp
pop esp
push edx
push edx
pop ebx
push ecx
pop edx
push eax
call fcn.0048be80
test al, al
je 0x46c7b1
pop esp
push esi
pop eax
pop ebx
pop edx
pop esi
pop edx
push ebp
pop esp
push edx
pop ebp
push esi
push edi
pop ebx
push esp
push ebp
push ecx
push eax
push ecx
pop esp
pop esp
push esp
push esp
push esp
push ebp
push ebx
push ecx
push esp
push edx
mov ebx, dword [ebp - 0x61c]
push ebx
push str.FirstInstallTime
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f3b0
push ebx
push str.FirstInstallTime
push str.GDftSet
call fcn.00443920
mov ecx, eax
call fcn.0040f480
push ebx
push 0x609cc8
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f3b0
push ebx
push 0x609cc8
push str.GDftSet
call fcn.00443920
mov ecx, eax
call fcn.0040f480
call fcn.0048c270
test al, al
je 0x46c831
pop edx
pop eax
pop eax
push ebp
push edx
pop ebx
push esi
pop ecx
push esp
push eax
push esp
pop ebp
push ebx
pop ebp
pop ecx
pop ebp
push eax
pop edx
push ebx
pop ebp
push ebp
cmp byte [ebp - 0x5fc], 0
jne 0x46c886
push 0xffffffffffffffff
push str.fe4523
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040c2c0
test eax, eax
jle 0x46c886
push 0
push str.fe4523
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f3b0
push 0
push str.a74857
push str.GDsftinf
call fcn.00443920
mov ecx, eax
call fcn.0040f3b0
call fcn.0048bfd0
test al, al
je 0x46c8a7
push ecx
push ebp
pop esp
pop ebx
push ebx
push esi
pop eax
pop edi
pop edi
pop eax
pop esp
pop ecx
pop ebp
pop esi
push edi
push ebp
push eax
pop ecx
pop ebp
pop eax
push edi
pop ecx
push ecx
pop ecx
call fcn.0048bb70
test al, al
je 0x46c8c9
push esp
push ebx
push ecx
push esp
push edi
push ebx
push ecx
pop eax
pop edx
push ebp
pop edi
push ecx
push ecx
push esp
pop ebx
pop esi
push eax
pop edx
push esi
push esp
pop ebp
pop eax
pop ebp
pop esi
push edx
call fcn.0048b8d0
test al, al
je 0x46c8e4
pop edx
push esi
pop edi
push esp
pop esi
pop esi
pop esi
pop ebx
push ecx
pop ebx
push esi
push esi
push ebp
push ebp
push edi
pop ebx
pop edx
pop eax
lea ecx, [ebp - 0x5e3]
call fcn.00454950
push dword [ebp - 0x628]
cmp dword [ebp - 0x4b4], 8
lea edx, [ebp - 0x4c8]
push dword [ebp - 0x5fc]
cmovae edx, dword [ebp - 0x4c8]
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 - 0x5e3]
push eax
push dword [ebp - 0x618]
mov byte [ebp - 4], 0x19
push dword [ebp - 0x5f4]
push dword [ebp - 0x614]
push dword [ebp - 0x610]
call fcn.0045fd60
cmp byte [ebp - 0x5de], 0
je 0x46c97f
push 1
push str.2f01a2
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
call fcn.0048bef0
test al, al
je 0x46c999
pop ebx
pop eax
pop ecx
push esp
pop edi
push esi
push edx
push edx
push ecx
pop edi
push ebx
push esi
push ebp
pop esi
pop esi
pop edi
push eax
call fcn.0048bd30
test al, al
je 0x46c9bc
push ecx
push esi
push eax
push ebp
pop ebp
push ebp
pop esi
pop edi
pop ebp
push ecx
push edi
pop esp
pop ecx
push ebp
pop edx
pop ebp
pop esp
push edx
pop ecx
push edx
pop esi
pop eax
pop ecx
pop edx
pop edx
pop eax
call fcn.0048c200
test al, al
je 0x46c9da
push edx
pop esi
pop ebx
pop ebp
pop esi
push esi
push ebp
push esp
push eax
push ecx
push ecx
pop ebx
push ebx
pop eax
pop ebx
push esp
push ebp
push ebp
pop esp
push ecx
pop ebx
lea ecx, [ebp - 0x5e2]
call fcn.00454950
lea ecx, [ebp - 0x5e2]
mov byte [ebp - 4], 0x1a
call fcn.004550a0
lea ecx, [ebp - 0x5d8]
call fcn.0047f820
mov byte [ebp - 4], 0x1b
call fcn.0048b9b0
test al, al
je 0x46ca2a
push edx
push ebp
pop esp
pop eax
pop edx
push edi
pop eax
push esi
pop ebx
push ebx
pop ecx
push ebx
pop ecx
push eax
push ebp
pop ecx
pop eax
pop esi
push ecx
push esp
push ebx
pop edi
pop esp
pop esp
push ebx
pop esi
push ebx
pop ebp
pop ecx
push edx
call fcn.0048c120
test al, al
je 0x46ca48
push esp
pop esi
push ecx
push ebp
pop esi
push ebx
pop edi
pop ecx
pop ebx
pop eax
push edx
pop edi
pop esp
push edi
pop esi
push ecx
pop ebp
pop ebp
pop esi
push ecx
push ebp
call fcn.0048b940
test al, al
je 0x46ca68
push esi
push eax
push esp
pop ebx
push ebx
push edi
push ebp
pop ebp
pop edi
pop esp
push esi
push edi
pop edx
pop esi
push edx
pop edx
push edx
pop edx
pop ebp
push eax
push edx
push ebp
push ebp
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.005d4960
push dword [ebp - 0x624]
lea eax, [ebp - 0x420]
push 0x609c8c
push eax
call fcn.0040f920
add esp, 0x18
lea esi, [ebp - 0x4c8]
cmp dword [ebp - 0x4b4], 8
lea edx, [ebp - 0x480]
lea ecx, [ebp - 0x498]
cmovae esi, dword [ebp - 0x4c8]
cmp dword [ebp - 0x46c], 8
push dword [ebp - 0x5de]
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 - 0x5f0], 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 - 0x5d8]
call fcn.0047fa20
cmp byte [ebp - 0x5de], 0
je 0x46cb25
push 1
push str.0ab0b8
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
call fcn.0048c350
test al, al
je 0x46cb4a
push edi
push edx
push ecx
pop esp
push eax
pop esp
push esi
push edx
push esp
pop esi
push ebp
pop ebx
push esp
pop esp
push eax
pop eax
pop ebp
push ebx
push esp
push esi
pop edx
push edi
push ebp
push edx
push esp
push ecx
pop ebx
push edi
call fcn.0048bfd0
test al, al
je 0x46cb73
pop ebp
push esi
push esi
push edx
push ebx
push eax
pop esi
pop esi
push ebp
push eax
push edx
push esi
push esi
push ebx
pop ebx
pop ebx
push edx
pop esi
pop ebx
push esi
pop ecx
pop ebp
push edi
pop edi
push ecx
pop edx
pop ecx
pop edi
push edi
push ecx
pop ecx
pop ebx
call fcn.0048c2e0
test al, al
je 0x46cb95
pop ebx
push ecx
pop esi
push ecx
push edi
pop edx
pop esp
push edx
pop eax
pop ecx
push ebx
push ebx
push ebx
push eax
push ecx
push ebx
pop esi
push edi
pop ebp
push ecx
pop ecx
pop ebx
pop esp
push ecx
push esp
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x5d8]
call fcn.004819c0
cmp dword [ebp - 0x4e4], 8
lea ecx, [ebp - 0x4f8]
mov esi, dword [ebp - 0x4e8]
lea eax, [ebp - 0x528]
cmovae ecx, dword [ebp - 0x4f8]
cmp dword [ebp - 0x514], 8
push esi
cmovae eax, dword [ebp - 0x528]
push ecx
push dword [ebp - 0x518]
mov byte [ebp - 4], 0x1c
push eax
call fcn.00407020
add esp, 0x10
test eax, eax
je 0x46cd3a
push 0x610d44
test esi, esi
je 0x46cc6c
lea ecx, [ebp - 0x438]
call fcn.00405c70
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.004323d0
add esp, 0xc
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x438]
call fcn.00405cd0
push 0x610d44
lea ecx, [ebp - 0x4e0]
call fcn.00405c70
lea eax, [ebp - 0x4f8]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.004323d0
lea ecx, [ebp - 0x4e0]
jmp 0x46ccdb
lea ecx, [ebp - 0x4e0]
call fcn.00405c70
lea eax, [ebp - 0x528]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.004323d0
add esp, 0xc
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x4e0]
call fcn.00405cd0
push 0x610d44
lea ecx, [ebp - 0x438]
call fcn.00405c70
lea eax, [ebp - 0x528]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x468]
push eax
call fcn.004323d0
lea ecx, [ebp - 0x438]
add esp, 0xc
mov byte [ebp - 4], 0x1c
call fcn.00405cd0
lea ecx, [ebp - 0x5d9]
call fcn.00454950
cmp dword [ebp - 0x43c], 8
lea ecx, [ebp - 0x450]
lea eax, [ebp - 0x468]
mov byte [ebp - 4], 0x21
cmovae ecx, dword [ebp - 0x450]
cmp dword [ebp - 0x454], 8
push ecx
cmovae eax, dword [ebp - 0x468]
lea ecx, [ebp - 0x5d9]
push eax
call fcn.00486660
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x1c
call fcn.004a1050
call fcn.0048ba90
test al, al
je 0x46cd60
push esi
push ebp
push edi
push ebx
pop edx
push esi
pop ebp
pop edx
pop edx
pop ebp
push ecx
pop esp
push esp
pop ecx
pop eax
push edx
push edx
pop ebp
pop ebp
pop ebx
push ebx
pop edx
push eax
pop ecx
push eax
push esp
push ebp
push ecx
pop esp
call fcn.0048c430
test al, al
je 0x46cd87
push edi
pop esi
pop ebp
pop esp
pop eax
pop ecx
push esi
pop esp
push ebp
push esp
push esp
pop edi
push esi
push ebp
pop ebx
push ecx
push eax
pop edx
pop edx
pop esi
push esp
push eax
push edx
push esi
pop ebp
push esp
push ebx
push ebx
push edi
push esi
call fcn.0048b8d0
test al, al
je 0x46cda2
pop edx
pop esp
pop edi
push edx
pop esp
push esi
push ebp
pop esp
pop eax
push eax
pop eax
pop ecx
pop ebp
pop ebp
pop eax
push edx
pop ebx
pop esp
mov bl, byte [ebp - 0x5de]
test bl, bl
je 0x46cdc1
push 1
push str.9e2da5
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
call fcn.0048bcc0
test al, al
je 0x46cdef
pop esi
pop esi
pop eax
push edi
pop ebx
push edx
pop ebx
push edi
push edx
push ebp
pop esp
push esi
pop edx
push eax
pop ecx
pop eax
pop ebx
push edx
push ebp
pop edi
pop esi
push eax
push edi
pop esi
push esi
pop ebp
pop eax
push eax
push ebp
pop ebp
push ebp
mov bl, byte [ebp - 0x5de]
call fcn.0048c3c0
test al, al
je 0x46ce0a
push edi
push esp
push esi
push esp
pop ecx
pop ecx
push esi
push ebp
push ebp
pop edi
pop edx
pop esp
push esp
push edi
pop esi
pop esi
pop esp
pop ebp
call fcn.0045fce0
mov ecx, eax
call fcn.004648b0
cmp byte [ebp - 0x5e1], 0
je 0x46d0bd
push str.need_power
push 0
call fcn.004226f0
add esp, 8
call fcn.0042c080
mov esi, eax
call fcn.00435010
mov edi, eax
call fcn.00434c20
test esi, esi
jne 0x46d0ae
test edi, edi
jne 0x46d0ae
test eax, eax
je 0x46d0ae
push str.no_power
push edi
call fcn.004226f0
add esp, 8
test bl, bl
je 0x46ce83
push edi
push str.power_install_start
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005d4960
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 - 0x6a4]
mov dword [ebp - 0x6a8], 0x3c
push 0
push eax
call fcn.005d4960
add esp, 0xc
mov dword [ebp - 0x6a4], 0x240
lea eax, [ebp - 0x218]
mov dword [ebp - 0x68c], 1
mov dword [ebp - 0x698], eax
call fcn.00435010
test eax, eax
mov ecx, str.runas
lea eax, [ebp - 0x6a8]
cmovne ecx, dword [ebp - 0x69c]
push eax
mov dword [ebp - 0x69c], ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x46cf65
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x46cf43
test bl, bl
je 0x46d0bd
push 0
push str.power_install_err_cancel
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
jmp 0x46d0bd
test bl, bl
je 0x46d0bd
push 0
push str.power_install_err_other
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
jmp 0x46d0bd
mov edi, dword [ebp - 0x60c]
push str.a17f2f
push str.a1b72e
push edi
call fcn.00415a00
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
push str.83ce1f
push edi
call fcn.00415a00
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
push str.92f4ef
push edi
call fcn.00415a00
add esp, 0x24
test bl, bl
je 0x46cfd7
push 0
push str.power_install_succ
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
push dword [ebp - 0x670]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x438]
mov esi, eax
call fcn.004625a0
push esi
push str.GetProcessId__d_
push 0
mov byte [ebp - 4], 0x22
call fcn.004226f0
push 0
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.0042f2d0
add esp, 0x1c
test al, al
jne 0x46d07d
push 1
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.0042f2d0
add esp, 0x10
test al, al
jne 0x46d07d
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.004226f0
add esp, 0xc
test bl, bl
je 0x46d09d
push 0
push str.power_install_err_mem
push 1
call fcn.004464b0
mov ecx, eax
call fcn.0044faa0
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x1c
call fcn.00405cd0
jmp 0x46d0bd
push str.WaitForSingleObject_3_sec
push 0
call fcn.004226f0
add esp, 8
push 0xbb8
push dword [ebp - 0x670]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x1c
call fcn.00405cd0
jmp 0x46d0bd
push str.have_power
push 0
call fcn.004226f0
add esp, 8
cmp dword [ebp - 0x5f4], 0
je 0x46d0dc
mov eax, dword [ebp - 0x5e8]
test eax, eax
je 0x46d0dc
mov ecx, dword [ebp - 0x630]
push eax
call fcn.0046a210
call fcn.0045fce0
mov ecx, eax
call fcn.00467480
test al, al
je 0x46d112
call fcn.0045c3b0
cmp byte [ebp - 0x5fc], 0
mov edi, eax
jne 0x46d112
test edi, edi
je 0x46d112
mov esi, dword [edi]
call fcn.0045fce0
add eax, 0xb8
mov ecx, edi
push eax
call dword [esi + 0x40]
lea ecx, [ebp - 0x528]
mov bl, 1
call fcn.00405cd0
lea ecx, [ebp - 0x5d8]
call fcn.0047f970
lea ecx, [ebp - 0x5e2]
call fcn.004a1050
lea ecx, [ebp - 0x5e3]
call fcn.004a1050
lea ecx, [ebp - 0x498]
call fcn.00405cd0
lea ecx, [ebp - 0x480]
call fcn.00405cd0
lea ecx, [ebp - 0x588]
call fcn.00405cd0
lea ecx, [ebp - 0x4f8]
call fcn.00405cd0
lea ecx, [ebp - 0x4c8]
call fcn.00405cd0
lea ecx, [ebp - 0x540]
call fcn.00405cd0
lea ecx, [ebp - 0x558]
call fcn.00407eb0
lea ecx, [ebp - 0x66c]
call fcn.004a1050
lea ecx, [ebp - 0x660]
call fcn.00409e30
mov eax, dword [ebp - 0x49c]
cmp eax, 8
jb 0x46d1c1
inc eax
lea ecx, [ebp - 0x4b0]
push eax
push dword [ebp - 0x4b0]
call fcn.00407310
xor eax, eax
mov dword [ebp - 0x49c], 7
lea ecx, [ebp - 0x510]
mov dword [ebp - 0x4a0], 0
mov word [ebp - 0x4b0], ax
call fcn.00405cd0
lea ecx, [ebp - 0x468]
call fcn.00405cd0
lea ecx, [ebp - 0x450]
call fcn.00405cd0
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.005caa5c
mov esp, ebp
pop ebp
ret 8