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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x603e4e
mov eax, dword fs:[0]
push eax
sub esp, 0x668
mov eax, dword [0x69cef4]
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 - 0x5ec], ecx
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x468]
xor eax, eax
mov dword [ebp - 0x5d8], edi
push eax
push 0x6087e8
mov dword [ebp - 0x454], 7
mov dword [ebp - 0x458], 0
mov word [ebp - 0x468], ax
call fcn.00407280
xor eax, eax
mov dword [ebp - 4], 0
push eax
push 0x6087e8
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x43c], 7
mov dword [ebp - 0x440], 0
mov word [ebp - 0x450], ax
call fcn.00407280
mov byte [ebp - 4], 1
call fcn.0048b820
test al, al
je 0x46ad6c
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.0048bf20
test al, al
je 0x46ad87
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 - 0x5d8]
push str.83ce1f
push esi
call fcn.0046cd30
push str.92f4ef
push esi
mov dword [ebp - 0x620], eax
call fcn.0046cd30
push str.53e5c6
push esi
mov dword [ebp - 0x61c], eax
call fcn.0046cd30
push str.70d2c0
push esi
mov dword [ebp - 0x618], eax
call fcn.0046cd30
push str.03a14b
push esi
mov dword [ebp - 0x614], eax
call fcn.0046cd30
push str.dcfead
push esi
mov dword [ebp - 0x624], eax
call fcn.0046cd30
push str.711370
push esi
mov dword [ebp - 0x5d4], eax
call fcn.0046cd30
push str.99792e
push esi
mov dword [ebp - 0x5fc], eax
call fcn.0046cd30
add esp, 0x40
mov dword [ebp - 0x5d0], eax
call fcn.0048b6d0
test al, al
je 0x46ae3b
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.0048bac0
test al, al
je 0x46ae63
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 - 0x5d8]
push str.533798
push esi
call fcn.0046cd30
push str.53c4e9
push esi
mov dword [ebp - 0x600], eax
call fcn.0046cd30
push str.374302
push esi
mov dword [ebp - 0x604], eax
call fcn.0046cd30
push str.60ec8f
push esi
mov dword [ebp - 0x608], eax
call fcn.0046cd30
add esp, 0x20
mov edi, eax
mov dword [ebp - 0x5b8], edi
call fcn.0048b660
test al, al
je 0x46aed0
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 - 0x5b8]
push str.4fab07
push esi
call fcn.0046cd30
push str.618415
push esi
mov dword [ebp - 0x60c], eax
call fcn.0046cd30
push str.6f25e3
push esi
mov dword [ebp - 0x5cc], eax
call fcn.0046cd30
mov ebx, eax
push str.38fbe8
push esi
mov dword [ebp - 0x5b8], ebx
call fcn.0046cd30
add esp, 0x20
mov dword [ebp - 0x610], eax
call fcn.0048be40
test al, al
je 0x46af3a
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 - 0x5b8]
mov byte [ebp - 0x5ae], 0
mov byte [ebp - 0x5b1], 0
test edi, edi
je 0x46af5b
push edi
call fcn.00431b50
add esp, 4
mov byte [ebp - 0x5ae], al
test ebx, ebx
je 0x46af6e
push ebx
call fcn.00431b50
add esp, 4
mov byte [ebp - 0x5b1], al
cmp byte [ebp - 0x5ae], 0
je 0x46afbf
mov eax, dword [0x69fc20]
test eax, eax
jne 0x46afaf
push 0x104
call fcn.005ca564
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x46afa4
mov ecx, eax
call fcn.0044c8e0
jmp 0x46afa6
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x69fc20], eax
push 1
push str.80f03b
push 1
mov ecx, eax
call fcn.0044f630
call fcn.0048bf90
test al, al
je 0x46afd9
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.0048b9e0
test al, al
je 0x46afff
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 0x608b1c
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 0x4a0], 0
mov word [ebp - 0x4b0], ax
call fcn.00407280
push 6
push str.bc66e4
lea ecx, [ebp - 0x4b0]
mov byte [ebp - 4], 3
call fcn.0040fbd0
cmp dword [ebp - 0x49c], 8
lea eax, [ebp - 0x4b0]
lea ecx, [ebp - 0x62c]
cmovae eax, dword [ebp - 0x4b0]
push eax
call fcn.0040a220
mov byte [ebp - 4], 4
call fcn.0048bf90
test al, al
je 0x46b082
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.0048b9e0
test al, al
je 0x46b0a8
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 - 0x62c]
call fcn.005d3400
test eax, eax
je 0x46b0e7
cmp byte [ebp - 0x5ae], 0
je 0x46b0d5
push 1
push str.009d02
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
push str.ExitMutex_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x46cc7b
call fcn.0048bb30
test al, al
je 0x46b108
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.0048b6d0
test al, al
je 0x46b12a
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.0048b430
test al, al
je 0x46b145
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 - 0x638]
call fcn.00416d10
lea eax, [ebp - 0x4c8]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x638]
call fcn.0041cd10
mov byte [ebp - 4], 6
call fcn.0048bc80
test al, al
je 0x46b18e
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 [0x69fbcc]
test eax, eax
jne 0x46b1c6
push 0x15c
call fcn.005ca564
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x46b1bb
mov ecx, eax
call fcn.00486cc0
jmp 0x46b1bd
xor eax, eax
mov byte [ebp - 4], 6
mov dword [0x69fbcc], eax
mov ecx, eax
call fcn.00487f30
call fcn.0048ba50
test al, al
je 0x46b1e7
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.0048b890
test al, al
je 0x46b20a
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.0048bd60
test al, al
je 0x46b228
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 [0x69fbcc]
test eax, eax
jne 0x46b260
push 0x15c
call fcn.005ca564
add esp, 4
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x46b255
mov ecx, eax
call fcn.00486cc0
jmp 0x46b257
xor eax, eax
mov byte [ebp - 4], 6
mov dword [0x69fbcc], eax
push 0
push 0x6087e8
push 0x608c84
push str.GDsftinf
lea ecx, [ebp - 0x528]
push ecx
mov ecx, eax
call fcn.0040c9d0
mov byte [ebp - 4], 9
mov dword [ebp - 0x5c4], 1
mov dword [ebp - 0x5e0], 1
mov dword [ebp - 0x5c0], 0
mov dword [ebp - 0x5dc], 1
mov dword [ebp - 0x5f8], 0
mov dword [ebp - 0x5e4], 1
call fcn.0048b510
test al, al
je 0x46b2e6
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.0048bc80
test al, al
je 0x46b304
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.0048b4a0
test al, al
je 0x46b324
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 - 0x5c8], 0
push eax
xor edi, edi
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 0x5f4], 1
call fcn.005de827
mov dword [ebp - 0x5e8], eax
add esp, 4
xor eax, eax
mov dword [ebp - 0x4cc], 7
mov dword [ebp - 0x4d0], edi
mov word [ebp - 0x4e0], ax
mov ecx, dword [ebp - 0x5ec]
mov byte [ebp - 4], 0xa
call fcn.00481000
mov dword [ebp - 0x5f0], eax
test eax, eax
jne 0x46b38c
push eax
call fcn.005de827
add esp, 4
mov dword [ebp - 0x5f0], eax
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.004354d0
add esp, 8
mov byte [ebp - 4], 0xb
call fcn.0048beb0
test al, al
je 0x46b3c5
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.0048bb30
test al, al
je 0x46b3f0
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.0048be40
test al, al
je 0x46b412
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 - 0x5cc]
test eax, eax
je 0x46b428
push eax
call fcn.00431b50
add esp, 4
movzx edi, al
mov ebx, dword [ebp - 0x620]
test ebx, ebx
je 0x46b537
cmp word [ebx], 0
jne 0x46b440
xor ecx, ecx
jmp 0x46b454
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b445
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x468]
call fcn.00407280
test edi, edi
je 0x46b570
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 - 0x5b9], 0
call fcn.005d4520
add esp, 0xc
lea eax, [ebp - 0x5b9]
lea ecx, [ebp - 0x638]
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.0041a440
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.0040fd00
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.0046cf90
jmp 0x46b570
call fcn.004438a0
mov ecx, eax
call fcn.004879b0
mov edx, eax
cmp word [edx], 0
jne 0x46b54f
xor ecx, ecx
jmp 0x46b563
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b554
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x468]
call fcn.00407280
call fcn.0048bdd0
test al, al
je 0x46b58e
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 - 0x514], 8
lea eax, [ebp - 0x528]
push 0
cmovae eax, dword [ebp - 0x528]
push 0x6087e8
push dword [ebp - 0x518]
push eax
call fcn.00407090
add esp, 0x10
test eax, eax
je 0x46b5d2
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x450]
call fcn.00407160
mov ebx, dword [ebp - 0x61c]
test ebx, ebx
je 0x46b60c
cmp word [ebx], 0
jne 0x46b5e6
xor ecx, ecx
jmp 0x46b5ff
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46b5f0
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x450]
call fcn.00407280
mov eax, dword [ebp - 0x618]
test eax, eax
je 0x46b628
push eax
call fcn.00431b50
movzx eax, al
add esp, 4
mov dword [ebp - 0x5dc], eax
call fcn.0048b5f0
test al, al
je 0x46b64e
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.0048bf90
test al, al
je 0x46b675
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.0048b430
test al, al
je 0x46b690
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 - 0x614]
test eax, eax
je 0x46b6ae
push eax
call fcn.00431b50
movzx ebx, al
add esp, 4
mov dword [ebp - 0x5c4], ebx
jmp 0x46b6b3
mov ebx, 1
mov eax, dword [ebp - 0x624]
test eax, eax
je 0x46b6ce
push eax
call fcn.005de754
add esp, 4
mov dword [ebp - 0x5b8], eax
jmp 0x46b6d0
xor eax, eax
test ebx, ebx
je 0x46b6e5
test eax, eax
je 0x46b6e5
push eax
call fcn.004670f0
mov ecx, eax
call fcn.0047a760
mov eax, dword [ebp - 0x5fc]
test eax, eax
je 0x46b701
push eax
call fcn.00431b50
movzx eax, al
add esp, 4
mov dword [ebp - 0x5e0], eax
mov eax, dword [ebp - 0x600]
test eax, eax
je 0x46b71d
push eax
call fcn.00431b50
movzx eax, al
add esp, 4
mov dword [ebp - 0x5c0], eax
call fcn.0048b820
test al, al
je 0x46b73b
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.0048bf20
test al, al
je 0x46b75e
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.0048b660
test al, al
je 0x46b77d
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.0048be40
test al, al
je 0x46b79b
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 - 0x604]
test eax, eax
je 0x46b7b7
push eax
call fcn.00431b50
movzx eax, al
add esp, 4
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x46b7d3
push eax
call fcn.00431b50
movzx eax, al
add esp, 4
mov dword [ebp - 0x5f8], eax
mov eax, dword [ebp - 0x60c]
test eax, eax
je 0x46b808
push eax
call fcn.00431b50
add esp, 4
mov byte [ebp - 0x5c8], al
test al, al
je 0x46b808
push 1
push str.fe4523
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040f790
mov eax, dword [ebp - 0x610]
test eax, eax
je 0x46b821
push eax
call fcn.00431b50
add esp, 4
mov byte [ebp - 0x5f4], al
call fcn.0048b6d0
test al, al
je 0x46b844
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.0048bac0
test al, al
je 0x46b866
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 0x46b8fe
mov eax, dword [ebp - 0x5d0]
test eax, eax
je 0x46b888
push eax
lea ecx, [ebp - 0x4e0]
call fcn.0040b1a0
jmp 0x46b8fe
call fcn.004438a0
mov ecx, eax
call fcn.0040c490
push eax
lea ecx, [ebp - 0x438]
call fcn.00405d50
push str.GDutilit.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xc
call fcn.00416e30
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x438]
cmovae eax, dword [ebp - 0x438]
push eax
lea eax, [ebp - 0x558]
push eax
call fcn.0042e850
add esp, 8
lea ecx, [ebp - 0x4e0]
push eax
call fcn.00405e70
lea ecx, [ebp - 0x558]
call fcn.00405db0
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0xb
call fcn.00405db0
call fcn.0048b660
test al, al
je 0x46b91c
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 - 0x468]
call fcn.00407880
mov edi, eax
not edi
shr edi, 0x1f
mov dword [ebp - 0x5d0], edi
call fcn.0048be40
test al, al
je 0x46b958
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 - 0x468]
call fcn.00407880
cmp eax, 0xffffffff
mov ecx, 1
cmovg edi, ecx
mov dword [ebp - 0x5cc], edi
call fcn.0048bf90
test al, al
je 0x46b99d
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 - 0x5cc]
call fcn.0048b9e0
test al, al
je 0x46b9c3
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 - 0x4c8]
push eax
lea eax, [ebp - 0x540]
push eax
call fcn.00432e30
push dword [ebp - 0x5e4]
cmp dword [ebp - 0x43c], 8
lea edx, [ebp - 0x450]
mov ebx, dword [ebp - 0x5dc]
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 - 0x5e0]
mov byte [ebp - 4], 0xd
push dword [ebp - 0x5c4]
push edx
push ecx
push eax
push 0x66
call fcn.00422dc0
add esp, 0x30
test ebx, ebx
je 0x46bb9d
test edi, edi
jne 0x46baa2
cmp dword [ebp - 0x4b8], 1
jbe 0x46baa2
cmp dword [ebp - 0x4b4], 0x10
lea eax, [ebp - 0x4c8]
cmovae eax, dword [ebp - 0x4c8]
cmp byte [eax + 1], 0x31
jne 0x46baa2
cmp byte [ebp - 0x5ae], 0
je 0x46ba90
push 1
push str.a4ec05
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
push str.ExitHR_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor bl, bl
jmp 0x46cc0b
call fcn.0048bb30
test al, al
je 0x46bac3
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.0048b6d0
test al, al
je 0x46bae5
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.0048b430
test al, al
je 0x46bb00
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 - 0x5f8], 0
jne 0x46bc3f
cmp dword [ebp - 0x5cc], 0
jne 0x46bc3f
lea ecx, [ebp - 0x5aa]
call fcn.0048ac90
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.00458db0
test eax, eax
je 0x46bb92
cmp byte [ebp - 0x5ae], 0
je 0x46bb6b
push 1
push str.844080
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
push str.ExitRepeatInst_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x68
call fcn.00422dc0
add esp, 4
lea ecx, [ebp - 0x5aa]
call fcn.0043faa0
xor bl, bl
jmp 0x46cc0b
lea ecx, [ebp - 0x5aa]
jmp 0x46bc36
call fcn.0048ba50
test al, al
je 0x46bbb7
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.0048b890
test al, al
je 0x46bbda
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.0048bd60
test al, al
je 0x46bbf8
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 - 0x5a9]
call fcn.0048ac90
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0xf
call fcn.00459380
cmp byte [ebp - 0x5ae], 0
je 0x46bc30
push 1
push str.665f45
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0xd
call fcn.0043faa0
call fcn.0048b510
test al, al
je 0x46bc66
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.0048bc80
test al, al
je 0x46bc84
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.0048b4a0
test al, al
je 0x46bca4
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 - 0x5d4]
test eax, eax
je 0x46bd1e
push eax
call fcn.00431b50
add esp, 4
test al, al
je 0x46bd1e
call fcn.004438a0
mov ecx, eax
call fcn.0040c490
push eax
lea ecx, [ebp - 0x438]
call fcn.00405d50
push str.mnitGDer.exe
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x10
call fcn.00416e30
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.00427f40
add esp, 0x14
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x438]
call fcn.00405db0
call fcn.0048beb0
test al, al
je 0x46bd43
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.0048bb30
test al, al
je 0x46bd6c
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.0048be40
test al, al
je 0x46bd8e
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 - 0x440], 0
jne 0x46bde7
push 1
push 0x6087e8
push 0x608c84
lea eax, [ebp - 0x438]
push str.GDsftinf
push eax
call fcn.004438a0
mov ecx, eax
call fcn.0040c9d0
push eax
lea ecx, [ebp - 0x450]
call fcn.00405e70
mov eax, dword [ebp - 0x424]
cmp eax, 8
jb 0x46be2b
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00407380
jmp 0x46be2b
cmp dword [ebp - 0x5c0], 0
je 0x46be2b
push 1
push 0x6087e8
push 0x608c84
lea eax, [ebp - 0x558]
push str.GDsftinf
push eax
call fcn.004438a0
mov ecx, eax
call fcn.0040c9d0
push eax
lea ecx, [ebp - 0x450]
call fcn.00405e70
lea ecx, [ebp - 0x558]
call fcn.00405db0
call fcn.0048bdd0
test al, al
je 0x46be49
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.0042b9e0
test eax, eax
je 0x46be78
push 1
push 0x69
call fcn.00422dc0
add esp, 8
push 1
push 0x60f72c
push str.GDftSet
call fcn.004438a0
mov ecx, eax
call fcn.0040f860
jmp 0x46be84
push 0
push 0x69
call fcn.00422dc0
add esp, 8
call fcn.0048b5f0
test al, al
je 0x46beaa
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.0048bf90
test al, al
je 0x46bed1
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.0048b430
test al, al
je 0x46beec
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 - 0x468]
mov dword [ebp - 0x470], 0
push eax
call fcn.00407160
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.00407160
lea eax, [ebp - 0x480]
mov byte [ebp - 4], 0x12
push eax
call fcn.004331d0
lea eax, [ebp - 0x450]
push eax
call fcn.004331d0
add esp, 8
call fcn.0048b6d0
test al, al
je 0x46bf96
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.0048bac0
test al, al
je 0x46bfb8
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 0x60fd44
lea ecx, [ebp - 0x438]
call fcn.00405d50
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.00432300
mov eax, dword [ebp - 0x424]
add esp, 0xc
mov byte [ebp - 4], 0x12
cmp eax, 8
jb 0x46c00b
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00407380
push 0x60fd44
lea ecx, [ebp - 0x438]
call fcn.00405d50
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.00432300
mov eax, dword [ebp - 0x424]
add esp, 0xc
mov byte [ebp - 4], 0x12
cmp eax, 8
jb 0x46c05e
inc eax
lea ecx, [ebp - 0x438]
push eax
push dword [ebp - 0x438]
call fcn.00407380
call fcn.0048b820
test al, al
je 0x46c086
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.0048bf20
test al, al
je 0x46c0a1
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 - 0x5a9]
call fcn.0048ac90
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.004861e0
cmp byte [ebp - 0x5ae], 0
je 0x46c103
push 1
push str.b55eed
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0x12
call fcn.0043faa0
call fcn.0048b660
test al, al
je 0x46c130
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.004438a0
mov ecx, eax
call fcn.0040f1b0
call fcn.00446000
mov ecx, eax
call fcn.0044e290
cmp dword [ebp - 0x5d0], 0
je 0x46c24b
call fcn.0048be40
test al, al
je 0x46c170
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 0x608cc8
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040c6c0
push 0
push 0x608cc8
push str.GDftSet
mov esi, eax
call fcn.004438a0
mov ecx, eax
call fcn.0040cde0
push 0
push str.FirstInstallTime
push str.GDsftinf
mov edi, eax
call fcn.004438a0
mov ecx, eax
call fcn.0040c6c0
push 0
push str.FirstInstallTime
push str.GDftSet
mov ebx, eax
call fcn.004438a0
mov ecx, eax
call fcn.0040cde0
test esi, esi
mov dword [ebp - 0x5d4], eax
mov esi, dword [ebp - 0x5e8]
jne 0x46c1fd
push esi
push 0x608cc8
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040f790
test edi, edi
jne 0x46c218
push esi
push 0x608cc8
push str.GDftSet
call fcn.004438a0
mov ecx, eax
call fcn.0040f860
test ebx, ebx
jne 0x46c233
push esi
push str.FirstInstallTime
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040f790
cmp dword [ebp - 0x5d4], 0
jne 0x46c2ed
push esi
push str.FirstInstallTime
jmp 0x46c2dc
call fcn.0048bf90
test al, al
je 0x46c265
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.0048b9e0
test al, al
je 0x46c28b
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 - 0x5e8]
push ebx
push str.FirstInstallTime
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040f790
push ebx
push str.FirstInstallTime
push str.GDftSet
call fcn.004438a0
mov ecx, eax
call fcn.0040f860
push ebx
push 0x608cc8
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040f790
push ebx
push 0x608cc8
push str.GDftSet
call fcn.004438a0
mov ecx, eax
call fcn.0040f860
call fcn.0048bdd0
test al, al
je 0x46c30b
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 - 0x5c8], 0
jne 0x46c360
push 0xffffffffffffffff
push str.fe4523
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040c6c0
test eax, eax
jle 0x46c360
push 0
push str.fe4523
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040f790
push 0
push str.a74857
push str.GDsftinf
call fcn.004438a0
mov ecx, eax
call fcn.0040f790
call fcn.0048bb30
test al, al
je 0x46c381
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.0048b6d0
test al, al
je 0x46c3a3
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.0048b430
test al, al
je 0x46c3be
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 - 0x5b3]
call fcn.0048ac90
push dword [ebp - 0x5f4]
cmp dword [ebp - 0x4cc], 8
lea edx, [ebp - 0x4e0]
push dword [ebp - 0x5c8]
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 - 0x5e4]
mov byte [ebp - 4], 0x16
push dword [ebp - 0x5c4]
push dword [ebp - 0x5e0]
push dword [ebp - 0x5dc]
call fcn.0045f9c0
cmp byte [ebp - 0x5ae], 0
je 0x46c459
push 1
push str.2f01a2
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
call fcn.0048ba50
test al, al
je 0x46c473
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.0048b890
test al, al
je 0x46c496
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.0048bd60
test al, al
je 0x46c4b4
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 - 0x5b2]
call fcn.0048ac90
lea ecx, [ebp - 0x5b2]
mov byte [ebp - 4], 0x17
call fcn.00454c90
lea ecx, [ebp - 0x5a8]
call fcn.0047ede0
mov byte [ebp - 4], 0x18
call fcn.0048b510
test al, al
je 0x46c504
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.0048bc80
test al, al
je 0x46c522
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.0048b4a0
test al, al
je 0x46c542
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.005d4520
push dword [ebp - 0x5f0]
lea eax, [ebp - 0x420]
push 0x608c8c
push eax
call fcn.0040fd00
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.0047efe0
cmp byte [ebp - 0x5ae], 0
je 0x46c5ff
push 1
push str.0ab0b8
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
call fcn.0048beb0
test al, al
je 0x46c624
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.0048bb30
test al, al
je 0x46c64d
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.0048be40
test al, al
je 0x46c66f
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 - 0x510]
push eax
lea ecx, [ebp - 0x5a8]
call fcn.00480f80
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.00407090
add esp, 0x10
test eax, eax
je 0x46c7ef
push 0x60fd44
lea ecx, [ebp - 0x438]
call fcn.00405d50
test esi, esi
je 0x46c72c
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.00432300
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x438]
call fcn.00405db0
push 0x60fd44
lea ecx, [ebp - 0x438]
call fcn.00405d50
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x4f8]
jmp 0x46c776
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.00432300
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x438]
call fcn.00405db0
push 0x60fd44
lea ecx, [ebp - 0x438]
call fcn.00405d50
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.00432300
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x438]
call fcn.00405db0
lea ecx, [ebp - 0x5a9]
call fcn.0048ac90
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.004861e0
lea ecx, [ebp - 0x5a9]
mov byte [ebp - 4], 0x19
call fcn.0043faa0
call fcn.0048b5f0
test al, al
je 0x46c815
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.0048bf90
test al, al
je 0x46c83c
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.0048b430
test al, al
je 0x46c857
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 - 0x5ae]
test bl, bl
je 0x46c876
push 1
push str.9e2da5
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
call fcn.0048b820
test al, al
je 0x46c8a4
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 - 0x5ae]
call fcn.0048bf20
test al, al
je 0x46c8bf
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.0045f940
mov ecx, eax
call fcn.00464510
cmp byte [ebp - 0x5b1], 0
je 0x46cb72
push str.need_power
push 0
call fcn.00422a10
add esp, 8
call fcn.0042c340
mov esi, eax
call fcn.00434fa0
mov edi, eax
call fcn.00434bb0
test esi, esi
jne 0x46cb63
test edi, edi
jne 0x46cb63
test eax, eax
je 0x46cb63
push str.no_power
push edi
call fcn.00422a10
add esp, 8
test bl, bl
je 0x46c938
push edi
push str.power_install_start
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005d4520
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 - 0x670]
mov dword [ebp - 0x674], 0x3c
push 0
push eax
call fcn.005d4520
add esp, 0xc
mov dword [ebp - 0x670], 0x240
lea eax, [ebp - 0x218]
mov dword [ebp - 0x658], 1
mov dword [ebp - 0x664], eax
call fcn.00434fa0
test eax, eax
mov ecx, str.runas
lea eax, [ebp - 0x674]
cmovne ecx, dword [ebp - 0x668]
push eax
mov dword [ebp - 0x668], ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
jne 0x46ca1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x4c7
jne 0x46c9f8
test bl, bl
je 0x46cb72
push 0
push str.power_install_err_cancel
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
jmp 0x46cb72
test bl, bl
je 0x46cb72
push 0
push str.power_install_err_other
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
jmp 0x46cb72
mov edi, dword [ebp - 0x5d8]
push str.a17f2f
push str.a1b72e
push edi
call fcn.00415d50
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
push str.83ce1f
push edi
call fcn.00415d50
cmp dword [ebp - 0x43c], 8
lea eax, [ebp - 0x450]
cmovae eax, dword [ebp - 0x450]
push eax
push str.92f4ef
push edi
call fcn.00415d50
add esp, 0x24
test bl, bl
je 0x46ca8c
push 0
push str.power_install_succ
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
push dword [ebp - 0x63c]
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x438]
mov esi, eax
call fcn.00462200
push esi
push str.GetProcessId__d_
push 0
mov byte [ebp - 4], 0x1f
call fcn.00422a10
push 0
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.0042f590
add esp, 0x1c
test al, al
jne 0x46cb32
push 1
lea eax, [ebp - 0x438]
push eax
push edi
push esi
call fcn.0042f590
add esp, 0x10
test al, al
jne 0x46cb32
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.00422a10
add esp, 0xc
test bl, bl
je 0x46cb52
push 0
push str.power_install_err_mem
push 1
call fcn.00446000
mov ecx, eax
call fcn.0044f630
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x19
call fcn.00405db0
jmp 0x46cb72
push str.WaitForSingleObject_3_sec
push 0
call fcn.00422a10
add esp, 8
push 0xbb8
push dword [ebp - 0x63c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x438]
mov byte [ebp - 4], 0x19
call fcn.00405db0
jmp 0x46cb72
push str.have_power
push 0
call fcn.00422a10
add esp, 8
cmp dword [ebp - 0x5c4], 0
je 0x46cb91
mov eax, dword [ebp - 0x5b8]
test eax, eax
je 0x46cb91
mov ecx, dword [ebp - 0x5ec]
push eax
call fcn.00469e70
call fcn.0045f940
mov ecx, eax
call fcn.004670e0
test al, al
je 0x46cbc7
call fcn.0045c010
cmp byte [ebp - 0x5c8], 0
mov edi, eax
jne 0x46cbc7
test edi, edi
je 0x46cbc7
mov esi, dword [edi]
call fcn.0045f940
add eax, 0xb8
mov ecx, edi
push eax
call dword [esi + 0x40]
lea ecx, [ebp - 0x510]
mov bl, 1
call fcn.00405db0
lea ecx, [ebp - 0x5a8]
call fcn.0047ef30
lea ecx, [ebp - 0x5b2]
call fcn.0043faa0
lea ecx, [ebp - 0x5b3]
call fcn.0043faa0
lea ecx, [ebp - 0x498]
call fcn.00405db0
lea ecx, [ebp - 0x480]
call fcn.00405db0
lea ecx, [ebp - 0x540]
call fcn.00405db0
lea ecx, [ebp - 0x4f8]
call fcn.00405db0
lea ecx, [ebp - 0x4e0]
call fcn.00405db0
lea ecx, [ebp - 0x528]
call fcn.00405db0
mov eax, dword [ebp - 0x4b4]
cmp eax, 0x10
jb 0x46cc55
inc eax
lea ecx, [ebp - 0x4c8]
push eax
push dword [ebp - 0x4c8]
call fcn.0043d0f0
lea ecx, [ebp - 0x638]
mov dword [ebp - 0x4b4], 0xf
mov dword [ebp - 0x4b8], 0
mov byte [ebp - 0x4c8], 0
call fcn.0043faa0
lea ecx, [ebp - 0x62c]
call fcn.0040a240
mov eax, dword [ebp - 0x49c]
cmp eax, 8
jb 0x46cca4
inc eax
lea ecx, [ebp - 0x4b0]
push eax
push dword [ebp - 0x4b0]
call fcn.00407380
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 0x46ccdf
inc eax
lea ecx, [ebp - 0x450]
push eax
push dword [ebp - 0x450]
call fcn.00407380
xor eax, eax
mov dword [ebp - 0x43c], 7
lea ecx, [ebp - 0x468]
mov dword [ebp - 0x440], 0
mov word [ebp - 0x450], ax
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.005ca59c
mov esp, ebp
pop ebp
ret 8