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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60440f
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.004072f0
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.004072f0
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.0048be40
test al, al
je 0x46b159
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.0048c540
test al, al
je 0x46b174
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.0046d250
push str.92f4ef
push esi
mov dword [ebp - 0x604], eax
call fcn.0046d250
push str.ee5f50
push esi
mov dword [ebp - 0x658], eax
call fcn.0046d250
push str.53e5c6
push esi
mov dword [ebp - 0x620], eax
call fcn.0046d250
push str.70d2c0
push esi
mov dword [ebp - 0x654], eax
call fcn.0046d250
push str.03a14b
push esi
mov dword [ebp - 0x650], eax
call fcn.0046d250
push str.dcfead
push esi
mov dword [ebp - 0x64c], eax
call fcn.0046d250
push str.711370
push esi
mov dword [ebp - 0x608], eax
call fcn.0046d250
add esp, 0x40
mov dword [ebp - 0x648], eax
push str.99792e
push esi
call fcn.0046d250
add esp, 8
mov dword [ebp - 0x600], eax
call fcn.0048bcf0
test al, al
je 0x46b23c
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.0048c0e0
test al, al
je 0x46b264
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.0046d250
push str.53c4e9
push esi
mov dword [ebp - 0x634], eax
call fcn.0046d250
push str.374302
push esi
mov dword [ebp - 0x638], eax
call fcn.0046d250
push str.60ec8f
push esi
mov dword [ebp - 0x63c], eax
call fcn.0046d250
add esp, 0x20
mov edi, eax
mov dword [ebp - 0x5e8], edi
call fcn.0048bc80
test al, al
je 0x46b2d1
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.0046d250
push str.618415
push esi
mov dword [ebp - 0x640], eax
call fcn.0046d250
push str.6f25e3
push esi
mov dword [ebp - 0x5f8], eax
call fcn.0046d250
mov ebx, eax
push str.38fbe8
push esi
mov dword [ebp - 0x5e8], ebx
call fcn.0046d250
add esp, 0x20
mov dword [ebp - 0x644], eax
call fcn.0048c460
test al, al
je 0x46b33b
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 0x46b35c
push edi
call fcn.00431d40
add esp, 4
mov byte [ebp - 0x5de], al
test ebx, ebx
je 0x46b36f
push ebx
call fcn.00431d40
add esp, 4
mov byte [ebp - 0x5e1], al
cmp byte [ebp - 0x5de], 0
je 0x46b3c0
mov eax, dword [0x6a0c20]
test eax, eax
jne 0x46b3b0
push 0x104
call fcn.005cab84
add esp, 4
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x46b3a5
mov ecx, eax
call fcn.0044cdf0
jmp 0x46b3a7
xor eax, eax
mov byte [ebp - 4], 2
mov dword [0x6a0c20], eax
push 1
push str.80f03b
push 1
mov ecx, eax
call fcn.0044fb40
call fcn.0048c5b0
test al, al
je 0x46b3da
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.0048c000
test al, al
je 0x46b400
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.004072f0
push 6
push str.bc66e4
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 4
call fcn.0040fc50
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
lea ecx, [ebp - 0x660]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.0040a280
mov byte [ebp - 4], 5
call fcn.0048c5b0
test al, al
je 0x46b483
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.0048c000
test al, al
je 0x46b4a9
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.005d3a20
test eax, eax
je 0x46b4e8
cmp byte [ebp - 0x5de], 0
je 0x46b4d6
push 1
push str.009d02
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
push str.ExitMutex_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x46d1c8
call fcn.0048c150
test al, al
je 0x46b509
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.0048bcf0
test al, al
je 0x46b52b
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.0048ba50
test al, al
je 0x46b546
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.00416df0
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x66c]
call fcn.0041cdf0
mov byte [ebp - 4], 7
call fcn.0048c2a0
test al, al
je 0x46b58f
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 0x46b5c7
push 0x15c
call fcn.005cab84
add esp, 4
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x46b5bc
mov ecx, eax
call fcn.00487620
jmp 0x46b5be
xor eax, eax
mov byte [ebp - 4], 7
mov dword [0x6a0bcc], eax
mov ecx, eax
call fcn.00488860
call fcn.0048c070
test al, al
je 0x46b5e8
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.0048beb0
test al, al
je 0x46b60b
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.0048c380
test al, al
je 0x46b629
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 0x46b661
push 0x15c
call fcn.005cab84
add esp, 4
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x46b656
mov ecx, eax
call fcn.00487620
jmp 0x46b658
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.0040ca30
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.0048bb30
test al, al
je 0x46b6e7
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.0048c2a0
test al, al
je 0x46b705
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.0048bac0
test al, al
je 0x46b725
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.005dee27
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.0046d2f0
mov dword [ebp - 0x624], eax
test eax, eax
jne 0x46b78d
push eax
call fcn.005dee27
add esp, 4
mov dword [ebp - 0x624], eax
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.004359f0
add esp, 8
mov byte [ebp - 4], 0xc
call fcn.0048c4d0
test al, al
je 0x46b7c6
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.0048c150
test al, al
je 0x46b7f1
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.0048c460
test al, al
je 0x46b813
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 0x46b829
push eax
call fcn.00431d40
add esp, 4
movzx edi, al
mov ebx, dword [ebp - 0x604]
test ebx, ebx
je 0x46b938
cmp word [ebx], 0
jne 0x46b841
xor ecx, ecx
jmp 0x46b855
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b846
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x450]
call fcn.004072f0
test edi, edi
je 0x46b971
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.005d4b40
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.0041a520
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.0040fd80
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.0046d9b0
jmp 0x46b971
call fcn.00443e10
mov ecx, eax
call fcn.004882e0
mov edx, eax
cmp word [edx], 0
jne 0x46b950
xor ecx, ecx
jmp 0x46b964
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b955
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x450]
call fcn.004072f0
call fcn.0048c3f0
test al, al
je 0x46b98f
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.00407100
add esp, 0x10
test eax, eax
je 0x46b9d8
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x540]
push eax
lea ecx, [ebp - 0x468]
call fcn.004071d0
jmp 0x46baf8
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005d4b40
add esp, 0xc
call fcn.00443e10
mov ecx, eax
call fcn.0040ce40
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.00405d50
lea eax, [ebp - 0x570]
mov byte [ebp - 4], 0xd
push str.__r_t_n
push eax
call fcn.00433660
add esp, 8
cmp dword [ebp - 0x560], 0
je 0x46bad6
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall_
lea ecx, [ebp - 0x438]
call fcn.00405d50
push 0x609b1c
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xe
call fcn.00416f10
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 0x46bacb
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.004071d0
lea ecx, [ebp - 0x438]
call fcn.00405db0
mov eax, dword [ebp - 0x55c]
mov byte [ebp - 4], 0xc
cmp eax, 8
jb 0x46baf8
inc eax
lea ecx, [ebp - 0x570]
push eax
push dword [ebp - 0x570]
call fcn.004073f0
mov ebx, dword [ebp - 0x658]
test ebx, ebx
je 0x46bb2d
cmp word [ebx], 0
jne 0x46bb0c
xor ecx, ecx
jmp 0x46bb20
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46bb11
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x468]
call fcn.004072f0
mov ebx, dword [ebp - 0x620]
test ebx, ebx
je 0x46bb88
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46bb40
sub ecx, edx
sar ecx, 1
je 0x46bb88
push ebx
lea ecx, [ebp - 0x510]
call fcn.0040b200
cmp dword [ebp - 0x4fc], 8
lea eax, [ebp - 0x510]
cmovae eax, dword [ebp - 0x510]
push eax
push str.4d798c
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040f9c0
mov eax, dword [ebp - 0x654]
test eax, eax
je 0x46bba4
push eax
call fcn.00431d40
movzx eax, al
add esp, 4
mov dword [ebp - 0x610], eax
call fcn.0048bc10
test al, al
je 0x46bbca
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.0048c5b0
test al, al
je 0x46bbf1
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.0048ba50
test al, al
je 0x46bc0c
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 0x46bc2a
push eax
call fcn.00431d40
movzx ebx, al
add esp, 4
mov dword [ebp - 0x5f4], ebx
jmp 0x46bc2f
mov ebx, 1
mov eax, dword [ebp - 0x64c]
test eax, eax
je 0x46bc4a
push eax
call fcn.005ded54
add esp, 4
mov dword [ebp - 0x5e8], eax
jmp 0x46bc4c
xor eax, eax
test ebx, ebx
je 0x46bc61
test eax, eax
je 0x46bc61
push eax
call fcn.004674c0
mov ecx, eax
call fcn.0047b140
mov eax, dword [ebp - 0x648]
test eax, eax
je 0x46bc7d
push eax
call fcn.00431d40
movzx eax, al
add esp, 4
mov dword [ebp - 0x614], eax
mov eax, dword [ebp - 0x634]
test eax, eax
je 0x46bc99
push eax
call fcn.00431d40
movzx eax, al
add esp, 4
mov dword [ebp - 0x5f0], eax
call fcn.0048be40
test al, al
je 0x46bcb7
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.0048c540
test al, al
je 0x46bcda
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.0048bc80
test al, al
je 0x46bcf9
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.0048c460
test al, al
je 0x46bd17
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 0x46bd33
push eax
call fcn.00431d40
movzx eax, al
add esp, 4
mov dword [ebp - 0x618], eax
mov eax, dword [ebp - 0x63c]
test eax, eax
je 0x46bd4f
push eax
call fcn.00431d40
movzx eax, al
add esp, 4
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x640]
test eax, eax
je 0x46bd84
push eax
call fcn.00431d40
add esp, 4
mov byte [ebp - 0x5fc], al
test al, al
je 0x46bd84
push 1
push str.fe4523
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040f810
mov eax, dword [ebp - 0x644]
test eax, eax
je 0x46bd9d
push eax
call fcn.00431d40
add esp, 4
mov byte [ebp - 0x628], al
call fcn.0048bcf0
test al, al
je 0x46bdc0
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.0048c0e0
test al, al
je 0x46bde2
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 0x46be7a
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x46be04
push eax
lea ecx, [ebp - 0x4c8]
call fcn.0040b200
jmp 0x46be7a
call fcn.00443e10
mov ecx, eax
call fcn.0040c4f0
push eax
lea ecx, [ebp - 0x438]
call fcn.00405d50
push 0x60f360
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xf
call fcn.00416f10
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x4e0]
push eax
call fcn.0042ea40
add esp, 8
lea ecx, [ebp - 0x4c8]
push eax
call fcn.00405ee0
lea ecx, [ebp - 0x4e0]
call fcn.00405db0
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xc
call fcn.00405db0
call fcn.0048bc80
test al, al
je 0x46be98
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.004078f0
mov edi, eax
not edi
shr edi, 0x1f
mov dword [ebp - 0x600], edi
call fcn.0048c460
test al, al
je 0x46bed4
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.004078f0
cmp eax, 0xffffffff
mov ecx, 1
cmovg edi, ecx
mov dword [ebp - 0x5f8], edi
call fcn.0048c5b0
test al, al
je 0x46bf19
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.0048c000
test al, al
je 0x46bf3f
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.00433020
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.00422f10
add esp, 0x30
test ebx, ebx
je 0x46c119
test edi, edi
jne 0x46c01e
cmp dword [ebp - 0x548], 1
jbe 0x46c01e
cmp dword [ebp - 0x544], 0x10
lea eax, [ebp - 0x558]
cmovae eax, dword [ebp - 0x558]
cmp byte [eax + 1], 0x31
jne 0x46c01e
cmp byte [ebp - 0x5de], 0
je 0x46c00c
push 1
push str.a4ec05
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
push str.ExitHR_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x46d186
call fcn.0048c150
test al, al
je 0x46c03f
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.0048bcf0
test al, al
je 0x46c061
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.0048ba50
test al, al
je 0x46c07c
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 0x46c1bb
cmp dword [ebp - 0x5f8], 0
jne 0x46c1bb
lea ecx, [ebp - 0x5da]
call fcn.00422480
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.00459180
test eax, eax
je 0x46c10e
cmp byte [ebp - 0x5de], 0
je 0x46c0e7
push 1
push str.844080
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
push str.ExitRepeatInst_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x68
call fcn.00422f10
add esp, 4
lea ecx, [ebp - 0x5da]
call fcn.00443f10
xor bl, bl
jmp 0x46d186
lea ecx, [ebp - 0x5da]
jmp 0x46c1b2
call fcn.0048c070
test al, al
je 0x46c133
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.0048beb0
test al, al
je 0x46c156
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.0048c380
test al, al
je 0x46c174
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.00422480
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x12
call fcn.00459750
cmp byte [ebp - 0x5de], 0
je 0x46c1ac
push 1
push str.665f45
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x10
call fcn.00443f10
call fcn.0048bb30
test al, al
je 0x46c1e2
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.0048c2a0
test al, al
je 0x46c200
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.0048bac0
test al, al
je 0x46c220
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 0x46c29a
push eax
call fcn.00431d40
add esp, 4
test al, al
je 0x46c29a
call fcn.00443e10
mov ecx, eax
call fcn.0040c4f0
push eax
lea ecx, [ebp - 0x438]
call fcn.00405d50
push str.mnitGDer.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x13
call fcn.00416f10
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.00427560
add esp, 0x14
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x438]
call fcn.00405db0
call fcn.0048c4d0
test al, al
je 0x46c2bf
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.0048c150
test al, al
je 0x46c2e8
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.0048c460
test al, al
je 0x46c30a
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 0x46c363
push 1
push 0x6097e8
push 0x609c84
lea eax, [ebp - 0x438]
push str.GDsftinf
push eax
call fcn.00443e10
mov ecx, eax
call fcn.0040ca30
push eax
lea ecx, [ebp - 0x468]
call fcn.00405ee0
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x46c3a7
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.004073f0
jmp 0x46c3a7
cmp dword [ebp - 0x5f0], 0
je 0x46c3a7
push 1
push 0x6097e8
push 0x609c84
lea eax, [ebp - 0x4e0]
push str.GDsftinf
push eax
call fcn.00443e10
mov ecx, eax
call fcn.0040ca30
push eax
lea ecx, [ebp - 0x468]
call fcn.00405ee0
lea ecx, [ebp - 0x4e0]
call fcn.00405db0
call fcn.0048c3f0
test al, al
je 0x46c3c5
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.0042bbd0
test eax, eax
je 0x46c3f4
push 1
push 0x69
call fcn.00422f10
add esp, 8
push 1
push 0x61072c
push str.GDftSet
call fcn.00443e10
mov ecx, eax
call fcn.0040f8e0
jmp 0x46c400
push 0
push 0x69
call fcn.00422f10
add esp, 8
call fcn.0048bc10
test al, al
je 0x46c426
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.0048c5b0
test al, al
je 0x46c44d
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.0048ba50
test al, al
je 0x46c468
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.004071d0
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.004071d0
lea eax, [ebp - 0x480]
mov byte [ebp - 4], 0x15
push eax
call fcn.00433430
lea eax, [ebp - 0x468]
push eax
call fcn.00433430
add esp, 8
call fcn.0048bcf0
test al, al
je 0x46c512
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.0048c0e0
test al, al
je 0x46c534
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.00405d50
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.004324f0
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x438]
call fcn.00405db0
push 0x610d44
lea ecx, [ebp - 0x438]
call fcn.00405d50
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.004324f0
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x438]
call fcn.00405db0
call fcn.0048be40
test al, al
je 0x46c5dc
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.0048c540
test al, al
je 0x46c5f7
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.00422480
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.00486b40
cmp byte [ebp - 0x5de], 0
je 0x46c659
push 1
push str.b55eed
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x15
call fcn.00443f10
call fcn.0048bc80
test al, al
je 0x46c686
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.00443e10
mov ecx, eax
call fcn.0040f230
call fcn.00446540
mov ecx, eax
call fcn.0044e7a0
cmp dword [ebp - 0x600], 0
je 0x46c7a1
call fcn.0048c460
test al, al
je 0x46c6c6
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.00443e10
mov ecx, eax
call fcn.0040c720
push 0
push 0x609cc8
push str.GDftSet
mov esi, eax
call fcn.00443e10
mov ecx, eax
call fcn.0040ce60
push 0
push str.FirstInstallTime
push str.GDsftinf
mov edi, eax
call fcn.00443e10
mov ecx, eax
call fcn.0040c720
push 0
push str.FirstInstallTime
push str.GDftSet
mov ebx, eax
call fcn.00443e10
mov ecx, eax
call fcn.0040ce60
test esi, esi
mov dword [ebp - 0x608], eax
mov esi, dword [ebp - 0x61c]
jne 0x46c753
push esi
push 0x609cc8
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040f810
test edi, edi
jne 0x46c76e
push esi
push 0x609cc8
push str.GDftSet
call fcn.00443e10
mov ecx, eax
call fcn.0040f8e0
test ebx, ebx
jne 0x46c789
push esi
push str.FirstInstallTime
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040f810
cmp dword [ebp - 0x608], 0
jne 0x46c843
push esi
push str.FirstInstallTime
jmp 0x46c832
call fcn.0048c5b0
test al, al
je 0x46c7bb
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.0048c000
test al, al
je 0x46c7e1
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.00443e10
mov ecx, eax
call fcn.0040f810
push ebx
push str.FirstInstallTime
push str.GDftSet
call fcn.00443e10
mov ecx, eax
call fcn.0040f8e0
push ebx
push 0x609cc8
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040f810
push ebx
push 0x609cc8
push str.GDftSet
call fcn.00443e10
mov ecx, eax
call fcn.0040f8e0
call fcn.0048c3f0
test al, al
je 0x46c861
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 0x46c8b6
push 0xffffffffffffffff
push str.fe4523
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040c720
test eax, eax
jle 0x46c8b6
push 0
push str.fe4523
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040f810
push 0
push str.a74857
push str.GDsftinf
call fcn.00443e10
mov ecx, eax
call fcn.0040f810
call fcn.0048c150
test al, al
je 0x46c8d7
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.0048bcf0
test al, al
je 0x46c8f9
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.0048ba50
test al, al
je 0x46c914
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.00422480
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.0045fd90
cmp byte [ebp - 0x5de], 0
je 0x46c9af
push 1
push str.2f01a2
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
call fcn.0048c070
test al, al
je 0x46c9c9
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.0048beb0
test al, al
je 0x46c9ec
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.0048c380
test al, al
je 0x46ca0a
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.00422480
lea ecx, [ebp - 0x5e2]
mov byte [ebp - 4], 0x1a
call fcn.004550d0
lea ecx, [ebp - 0x5d8]
call fcn.0047f7c0
mov byte [ebp - 4], 0x1b
call fcn.0048bb30
test al, al
je 0x46ca5a
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.0048c2a0
test al, al
je 0x46ca78
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.0048bac0
test al, al
je 0x46ca98
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.005d4b40
push dword [ebp - 0x624]
lea eax, [ebp - 0x420]
push 0x609c8c
push eax
call fcn.0040fd80
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.0047f9c0
cmp byte [ebp - 0x5de], 0
je 0x46cb55
push 1
push str.0ab0b8
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
call fcn.0048c4d0
test al, al
je 0x46cb7a
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.0048c150
test al, al
je 0x46cba3
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.0048c460
test al, al
je 0x46cbc5
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.00481960
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.00407100
add esp, 0x10
test eax, eax
je 0x46cd6a
push 0x610d44
test esi, esi
je 0x46cc9c
lea ecx, [ebp - 0x438]
call fcn.00405d50
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.004324f0
add esp, 0xc
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x438]
call fcn.00405db0
push 0x610d44
lea ecx, [ebp - 0x4e0]
call fcn.00405d50
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.004324f0
lea ecx, [ebp - 0x4e0]
jmp 0x46cd0b
lea ecx, [ebp - 0x4e0]
call fcn.00405d50
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.004324f0
add esp, 0xc
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x4e0]
call fcn.00405db0
push 0x610d44
lea ecx, [ebp - 0x438]
call fcn.00405d50
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.004324f0
lea ecx, [ebp - 0x438]
add esp, 0xc
mov byte [ebp - 4], 0x1c
call fcn.00405db0
lea ecx, [ebp - 0x5d9]
call fcn.00422480
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.00486b40
lea ecx, [ebp - 0x5d9]
mov byte [ebp - 4], 0x1c
call fcn.00443f10
call fcn.0048bc10
test al, al
je 0x46cd90
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.0048c5b0
test al, al
je 0x46cdb7
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.0048ba50
test al, al
je 0x46cdd2
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 0x46cdf1
push 1
push str.9e2da5
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
call fcn.0048be40
test al, al
je 0x46ce1f
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.0048c540
test al, al
je 0x46ce3a
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.0045fd10
mov ecx, eax
call fcn.004648e0
cmp byte [ebp - 0x5e1], 0
je 0x46d0ed
push str.need_power
push 0
call fcn.00422b60
add esp, 8
call fcn.0042c530
mov esi, eax
call fcn.004354c0
mov edi, eax
call fcn.004350d0
test esi, esi
jne 0x46d0de
test edi, edi
jne 0x46d0de
test eax, eax
je 0x46d0de
push str.no_power
push edi
call fcn.00422b60
add esp, 8
test bl, bl
je 0x46ceb3
push edi
push str.power_install_start
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005d4b40
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.005d4b40
add esp, 0xc
mov dword [ebp - 0x6a4], 0x240
lea eax, [ebp - 0x218]
mov dword [ebp - 0x68c], 1
mov dword [ebp - 0x698], eax
call fcn.004354c0
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 0x46cf95
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x46cf73
test bl, bl
je 0x46d0ed
push 0
push str.power_install_err_cancel
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
jmp 0x46d0ed
test bl, bl
je 0x46d0ed
push 0
push str.power_install_err_other
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
jmp 0x46d0ed
mov edi, dword [ebp - 0x60c]
push str.a17f2f
push str.a1b72e
push edi
call fcn.00415dd0
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
push str.83ce1f
push edi
call fcn.00415dd0
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
push str.92f4ef
push edi
call fcn.00415dd0
add esp, 0x24
test bl, bl
je 0x46d007
push 0
push str.power_install_succ
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
push dword [ebp - 0x670]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x438]
mov esi, eax
call fcn.004625d0
push esi
push str.GetProcessId__d_
push 0
mov byte [ebp - 4], 0x22
call fcn.00422b60
push 0
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.0042f780
add esp, 0x1c
test al, al
jne 0x46d0ad
push 1
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.0042f780
add esp, 0x10
test al, al
jne 0x46d0ad
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.00422b60
add esp, 0xc
test bl, bl
je 0x46d0cd
push 0
push str.power_install_err_mem
push 1
call fcn.00446540
mov ecx, eax
call fcn.0044fb40
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x1c
call fcn.00405db0
jmp 0x46d0ed
push str.WaitForSingleObject_3_sec
push 0
call fcn.00422b60
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.00405db0
jmp 0x46d0ed
push str.have_power
push 0
call fcn.00422b60
add esp, 8
cmp dword [ebp - 0x5f4], 0
je 0x46d10c
mov eax, dword [ebp - 0x5e8]
test eax, eax
je 0x46d10c
mov ecx, dword [ebp - 0x630]
push eax
call fcn.0046a240
call fcn.0045fd10
mov ecx, eax
call fcn.004674b0
test al, al
je 0x46d142
call fcn.0045c3e0
cmp byte [ebp - 0x5fc], 0
mov edi, eax
jne 0x46d142
test edi, edi
je 0x46d142
mov esi, dword [edi]
call fcn.0045fd10
add eax, 0xb8
mov ecx, edi
push eax
call dword [esi + 0x40]
lea ecx, [ebp - 0x528]
mov bl, 1
call fcn.00405db0
lea ecx, [ebp - 0x5d8]
call fcn.0047f910
lea ecx, [ebp - 0x5e2]
call fcn.00443f10
lea ecx, [ebp - 0x5e3]
call fcn.00443f10
lea ecx, [ebp - 0x498]
call fcn.00405db0
lea ecx, [ebp - 0x480]
call fcn.00405db0
lea ecx, [ebp - 0x588]
call fcn.00405db0
lea ecx, [ebp - 0x4f8]
call fcn.00405db0
lea ecx, [ebp - 0x4c8]
call fcn.00405db0
lea ecx, [ebp - 0x540]
call fcn.00405db0
lea ecx, [ebp - 0x558]
call fcn.00408380
lea ecx, [ebp - 0x66c]
call fcn.00443f10
lea ecx, [ebp - 0x660]
call fcn.0040a2a0
mov eax, dword [ebp - 0x49c]
cmp eax, 8
jb 0x46d1f1
inc eax
lea ecx, [ebp - 0x4b0]
push eax
push dword [ebp - 0x4b0]
call fcn.004073f0
xor eax, eax
mov dword [ebp - 0x49c], 7
lea ecx, [ebp - 0x510]
mov dword [ebp - 0x4a0], 0
mov word [ebp - 0x4b0], ax
call fcn.00405db0
lea ecx, [ebp - 0x468]
call fcn.00405db0
lea ecx, [ebp - 0x450]
call fcn.00405db0
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.005cabbc
mov esp, ebp
pop ebp
ret 8