Function at 0x4572f0
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56cf5b
mov eax, dword fs:[0]
push eax
sub esp, 0x3c4
mov eax, dword [0x5f7448]
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
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push 6
mov ebx, eax
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0
push 0x58133c
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x3cc], ebx
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
call fcn.004059b0
mov dword [ebp - 4], 0
push 0x584984
lea eax, [ebp - 0x334]
push eax
push dword [ebp + 8]
mov ecx, 0x601758
push 0x5f4b68
call fcn.0044f960
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x320], 0x10
jb 0x4573b0
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov ax, word [0x5860c4]
mov word [ebp - 0x3b8], ax
mov al, byte [0x5860c6]
mov byte [ebp - 0x3b6], al
xor al, al
push str._nolog
push ebx
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov dword [0x601aac], 1
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], eax
mov byte [ebp - 0x3ad], 1
mov dword [ebp - 0x3c4], eax
call fcn.0048eec0
add esp, 8
test eax, eax
je 0x45742c
mov byte [ebp - 0x3ad], 0
jmp 0x457508
push 0xb
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0
push str.LTVSrvr.log
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
call fcn.004059b0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.0044f1a0
add esp, 8
mov byte [ebp - 4], 2
push eax
mov ecx, 0x601abc
call fcn.0049df90
mov byte [ebp - 4], 1
cmp dword [ebp - 0x338], 0x10
jb 0x4574b4
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x320], 0x10
jb 0x4574ed
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
push 0x15
mov dword [ebp - 0x39c], 0
mov dword [ebp - 0x398], 0
push str.Redirector_started__V
lea ecx, [ebp - 0x3ac]
mov dword [ebp - 0x398], 0xf
mov dword [ebp - 0x39c], 0
mov byte [ebp - 0x3ac], 0
call fcn.004059b0
mov dword [ebp - 4], 3
push 1
push 0x583910
lea ecx, [ebp - 0x3ac]
call fcn.00405750
push 0x2e
push 1
lea ecx, [ebp - 0x3ac]
call fcn.0040c7b0
push 5
push str.2.3.4
lea ecx, [ebp - 0x3ac]
call fcn.00405750
push 0x29
push 1
lea ecx, [ebp - 0x3ac]
call fcn.0040c7b0
push 0
lea eax, [ebp - 0x3ac]
push eax
mov ecx, 0x601abc
call fcn.0049e170
push 0x14
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0
push str.Network_Proxy_System
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
call fcn.004059b0
mov byte [ebp - 4], 4
push 0xd
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0
push str.Licensed_to:
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
call fcn.004059b0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.00406fc0
add esp, 0xc
mov byte [ebp - 4], 6
push 0
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 5
cmp dword [ebp - 0x338], 0x10
jb 0x457678
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 4
cmp dword [ebp - 0x320], 0x10
jb 0x4576ae
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x350], 0x10
jb 0x4576e4
push dword [ebp - 0x364]
call fcn.004ad196
add esp, 4
cmp byte [ebx], 0
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
jne 0x457737
xor ecx, ecx
jmp 0x457749
mov ecx, ebx
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457740
sub ecx, edx
push ecx
push ebx
lea ecx, [ebp - 0x34c]
call fcn.004059b0
mov byte [ebp - 4], 7
push 0x11
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0
push str.Path_and_params:
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
call fcn.004059b0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x364]
push eax
call fcn.00406fc0
add esp, 0xc
mov byte [ebp - 4], 9
push 0
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 8
cmp dword [ebp - 0x350], 0x10
jb 0x4577e8
push dword [ebp - 0x364]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
mov byte [ebp - 4], 7
cmp dword [ebp - 0x320], 0x10
jb 0x45781e
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x338], 0x10
jb 0x457854
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
lea eax, [ebp - 0x114]
push eax
push 0x104
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp byte [ebp - 0x114], 0
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
jne 0x4578bd
xor ecx, ecx
jmp 0x4578cf
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4578c6
sub ecx, edx
push ecx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x334]
call fcn.004059b0
mov byte [ebp - 4], 0xa
push 0x16
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0
push str.Current_directory_is:
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
call fcn.004059b0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x334]
push eax
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x364]
push eax
call fcn.00406fc0
add esp, 0xc
mov byte [ebp - 4], 0xc
push 0
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x350], 0x10
jb 0x457974
push dword [ebp - 0x364]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x338], 0x10
jb 0x4579aa
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x320], 0x10
jb 0x4579e0
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea eax, [ebp - 0x364]
push eax
call fcn.00425090
add esp, 8
mov esi, eax
mov byte [ebp - 4], 0xd
push 0x11
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0
push str.Time_since_boot:
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
call fcn.004059b0
mov byte [ebp - 4], 0xe
push esi
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x334]
push eax
call fcn.00406fc0
add esp, 0xc
mov byte [ebp - 4], 0xf
push 0
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x320], 0x10
jb 0x457a9f
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x338], 0x10
jb 0x457ad5
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x350], 0x10
jb 0x457b0b
push dword [ebp - 0x364]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [ebp - 0x394]
push eax
call fcn.00425090
add esp, 8
mov esi, eax
mov byte [ebp - 4], 0x10
push 5
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0
push str.PID:
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
call fcn.004059b0
mov byte [ebp - 4], 0x11
push esi
lea eax, [ebp - 0x34c]
push eax
lea eax, [ebp - 0x334]
push eax
call fcn.00406fc0
add esp, 0xc
mov byte [ebp - 4], 0x12
push 0
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x320], 0x10
jb 0x457bca
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x338], 0x10
jb 0x457c00
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x380], 0x10
jb 0x457c36
push dword [ebp - 0x394]
call fcn.004ad196
add esp, 4
push 4
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0
push str.test
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x380], 0xf
mov dword [ebp - 0x384], 0
mov byte [ebp - 0x394], 0
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
call fcn.004059b0
mov byte [ebp - 4], 0x13
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x364]
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0
push eax
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
call fcn.00405880
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x320], 0x10
lea eax, [ebp - 0x334]
cmovae eax, dword [ebp - 0x334]
push eax
call fcn.0055db62
cmp dword [ebp - 0x320], 0x10
mov esi, dword [ebp - 0x324]
mov edi, dword [ebp - 0x354]
lea edx, [ebp - 0x334]
cmovae edx, dword [ebp - 0x334]
cmp dword [ebp - 0x350], 0x10
lea ecx, [ebp - 0x364]
cmovae ecx, dword [ebp - 0x364]
mov eax, esi
cmp edi, esi
cmovb eax, edi
push eax
push edx
push ecx
call fcn.00409aa0
add esp, 0x10
test eax, eax
jne 0x457d55
cmp edi, esi
jae 0x457d4c
or eax, 0xffffffff
jmp 0x457d53
xor eax, eax
cmp edi, esi
setne al
test eax, eax
sete al
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0
mov byte [ebp - 0x34c], 0
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0xf
test al, al
je 0x457e64
push 0x16
push str.Bad_MT_string_library_
call fcn.004059b0
mov byte [ebp - 4], 0x15
push 1
lea eax, [ebp - 0x34c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x338], 0x10
jb 0x457dd3
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x320], 0x10
jb 0x457e09
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x350], 0x10
jb 0x457e3f
push dword [ebp - 0x364]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
mov esi, 1
jmp 0x4588e2
push 0x1d
push str.String_library_passed_MT_test
call fcn.004059b0
mov byte [ebp - 4], 0x16
push 0
lea eax, [ebp - 0x34c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x338], 0x10
jb 0x457ea2
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x320], 0x10
jb 0x457ed8
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x350], 0x10
jb 0x457f0e
push dword [ebp - 0x364]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
call fcn.00449520
test al, al
je 0x4580ca
call fcn.00411680
mov ecx, eax
call fcn.004141e0
push str._64bit
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov edi, eax
mov byte [ebp - 4], 0x17
call fcn.004493a0
push eax
lea ecx, [ebp - 0x364]
call fcn.00405090
mov esi, eax
mov byte [ebp - 4], 0x18
push str.OS:
lea ecx, [ebp - 0x334]
call fcn.00405090
mov byte [ebp - 4], 0x19
push esi
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.00406fc0
mov byte [ebp - 4], 0x1a
push edi
push eax
lea eax, [ebp - 0x394]
push eax
call fcn.00406fc0
add esp, 0x18
mov byte [ebp - 4], 0x1b
push 0
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x1a
cmp dword [ebp - 0x380], 0x10
jb 0x457fd2
push dword [ebp - 0x394]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x380], 0xf
mov dword [ebp - 0x384], 0
mov byte [ebp - 0x394], 0
mov byte [ebp - 4], 0x19
cmp dword [ebp - 0x338], 0x10
jb 0x458008
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x320], 0x10
jb 0x45803e
push dword [ebp - 0x334]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x320], 0xf
mov dword [ebp - 0x324], 0
mov byte [ebp - 0x334], 0
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x350], 0x10
jb 0x458074
push dword [ebp - 0x364]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x350], 0xf
mov dword [ebp - 0x354], 0
mov byte [ebp - 0x364], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x368], 0x10
jb 0x4580aa
push dword [ebp - 0x37c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x368], 0xf
mov dword [ebp - 0x36c], 0
mov byte [ebp - 0x37c], 0
jmp 0x4581b9
call fcn.004493a0
push eax
lea ecx, [ebp - 0x34c]
call fcn.00405090
mov esi, eax
mov byte [ebp - 4], 0x1c
push str.OS:
lea ecx, [ebp - 0x394]
call fcn.00405090
mov byte [ebp - 4], 0x1d
push esi
push eax
lea eax, [ebp - 0x37c]
push eax
call fcn.00406fc0
add esp, 0xc
mov byte [ebp - 4], 0x1e
push 0
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x368], 0x10
jb 0x458132
push dword [ebp - 0x37c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x368], 0xf
mov dword [ebp - 0x36c], 0
mov byte [ebp - 0x37c], 0
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0x380], 0x10
jb 0x458168
push dword [ebp - 0x394]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x380], 0xf
mov dword [ebp - 0x384], 0
mov byte [ebp - 0x394], 0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x338], 0x10
jb 0x45819e
push dword [ebp - 0x34c]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x338], 0xf
mov dword [ebp - 0x33c], 0
mov byte [ebp - 0x34c], 0
cmp byte [ebp - 0x3ad], 0
mov bl, 1
je 0x458252
call fcn.00449240
push eax
call fcn.004491e0
add esp, 4
test al, al
je 0x458252
lea eax, [ebp - 0x3ad]
push eax
call fcn.00449170
add esp, 4
cmp byte [ebp - 0x3ad], 0
mov bl, al
lea ecx, [ebp - 0x37c]
je 0x45820c
push str.Failed_getting_UAC_status_
call fcn.00405090
mov byte [ebp - 4], 0x1f
push 1
jmp 0x458232
test bl, bl
jne 0x458222
push str.UAC_not_elevated_
call fcn.00405090
mov byte [ebp - 4], 0x20
push 1
jmp 0x458232
push str.UAC_is_elevated__this_is_good
call fcn.00405090
mov byte [ebp - 4], 0x21
push 0
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.004050f0
lea eax, [ebp - 0x3b8]
push eax
push dword [ebp - 0x3cc]
call fcn.0044e620
mov esi, eax
add esp, 8
test esi, esi
je 0x458385
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.UnregServer
push esi
call edi
test eax, eax
je 0x4585a4
push str.RegServer
push esi
call edi
test eax, eax
je 0x458589
push str.Service
push esi
call edi
test eax, eax
je 0x4584fd
push 4
push str.Auto
push esi
call fcn.004b04d5
mov ecx, dword [ebp - 0x3b4]
movzx ecx, cl
test eax, eax
push 6
mov eax, 1
cmove ecx, eax
push str.NoStop
push esi
mov dword [ebp - 0x3b4], ecx
call fcn.004b04d5
mov ecx, dword [ebp - 0x3c0]
movzx ecx, cl
test eax, eax
push 6
mov eax, 1
cmove ecx, eax
push str.Update
push esi
mov dword [ebp - 0x3c0], ecx
call fcn.004b04d5
mov ecx, dword [ebp - 0x3bc]
movzx ecx, cl
test eax, eax
push 0xa
mov eax, 1
cmove ecx, eax
push str.NoSafeMode
push esi
mov dword [ebp - 0x3bc], ecx
call fcn.004b04d5
mov ecx, dword [ebp - 0x3c4]
movzx ecx, cl
test eax, eax
push 6
mov eax, 1
cmove ecx, eax
push str.IsInstalled
push esi
mov dword [ebp - 0x3c4], ecx
call fcn.004b04d5
add esp, 0x3c
test eax, eax
je 0x45845e
push 6
push str.Replace
push esi
call fcn.004b04d5
add esp, 0xc
test eax, eax
je 0x4583d4
lea eax, [ebp - 0x3b8]
push eax
push esi
call fcn.0044e620
mov esi, eax
add esp, 8
test esi, esi
jne 0x458277
push 0
call fcn.0044e4e0
add esp, 4
test al, al
je 0x45862e
push str.Service_already_running__exiting
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov byte [ebp - 4], 0x2b
push 0
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.004050f0
xor esi, esi
jmp 0x4588e2
test bl, bl
jne 0x458425
push str.Must_have_UAC_to_replace
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov byte [ebp - 4], 0x29
push 1
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.004050f0
push str.You_must_have_UAC_privileges_for_this_command__n
call fcn.004b0394
add esp, 4
mov esi, 1
jmp 0x4588e2
mov ecx, 0x601758
call fcn.004529c0
test eax, eax
jns 0x45844a
push str.Failed_to_install_service_n
call fcn.004b0394
add esp, 4
mov esi, 1
jmp 0x4588e2
push str.Service_installed_successfuly_n
call fcn.004b0394
add esp, 4
xor esi, esi
jmp 0x4588e2
mov ecx, 0x601758
call fcn.00450350
lea ecx, [ebp - 0x37c]
test eax, eax
je 0x4584b6
push str.Service_process_installed
call fcn.00405090
mov byte [ebp - 4], 0x26
push 0
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.004050f0
push str.Service_process_installed_n
call fcn.004b0394
add esp, 4
xor esi, esi
jmp 0x4588e2
push str.Service_process_not_installed
call fcn.00405090
mov byte [ebp - 4], 0x27
push 0
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.004050f0
push str.Service_process_not_installed_n
call fcn.004b0394
add esp, 4
mov esi, 1
jmp 0x4588e2
test bl, bl
jne 0x45854e
push str.Must_have_UAC_to_install
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov byte [ebp - 4], 0x25
push 1
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.004050f0
push str.You_must_have_UAC_privileges_for_this_command__n
call fcn.004b0394
add esp, 4
mov esi, 1
jmp 0x4588e2
mov eax, dword [ebp - 0x3c4]
movzx eax, al
push eax
mov eax, dword [ebp - 0x3bc]
movzx eax, al
push eax
mov eax, dword [ebp - 0x3c0]
movzx eax, al
push eax
mov eax, dword [ebp - 0x3b4]
movzx eax, al
push eax
push 1
push 1
mov ecx, 0x601758
call fcn.00451750
jmp 0x45842f
push str._RegServer_flag_not_support_
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov byte [ebp - 4], 0x23
push 1
jmp 0x4583ad
test bl, bl
jne 0x4585f5
push str.Must_have_UAC_to_unistall
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov byte [ebp - 4], 0x22
push 1
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.004050f0
push str.You_must_have_UAC_privileges_for_this_command__n
call fcn.004b0394
add esp, 4
mov esi, 1
jmp 0x4588e2
mov ecx, 0x601758
call fcn.00456890
test eax, eax
jns 0x45861a
push str.Failed_to_uninstall_service_n
call fcn.004b0394
add esp, 4
mov esi, 1
jmp 0x4588e2
push str.Service_uninstalled_successfuly_n
call fcn.004b0394
add esp, 4
xor esi, esi
jmp 0x4588e2
mov dword [ebp - 0x328], 0
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x320], 0
mov byte [ebp - 4], 0x2c
push 0x20019
push str.AppID
push bind
lea ecx, [ebp - 0x328]
call fcn.00450830
mov esi, eax
test esi, esi
je 0x4586ab
push str.Error_openning_key_HKEY_CLASSES_ROOT_
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov byte [ebp - 4], 0x2d
push 1
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x37c]
call fcn.004050f0
jmp 0x4588d3
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0
mov byte [ebp - 4], 0x2e
push 0x20019
push str.9DC8FA51_B596_4f77_802C_5B295919C205
push dword [ebp - 0x328]
lea ecx, [ebp - 0x358]
call fcn.00450830
mov esi, eax
test esi, esi
je 0x458729
push str.Error_openning_key_keyAppID_
lea ecx, [ebp - 0x37c]
call fcn.00405090
mov byte [ebp - 4], 0x2f
push 1
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x37c]
call fcn.004050f0
jmp 0x4588c4
lea eax, [ebp - 0x3d0]
push eax
push str.LocalService
lea eax, [ebp - 0x31c]
push eax
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x3d0], 0x104
call fcn.00450f30
mov dword [0x601aac], 0
lea ecx, [ebp - 0x37c]
test eax, eax
jne 0x4587a1
push str.Configured_to_run_as_a_service
call fcn.00405090
mov byte [ebp - 4], 0x30
push 0
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x37c]
call fcn.004050f0
mov dword [0x601aac], 1
jmp 0x4587d1
push str.Configured_to_run_as_a_server
call fcn.00405090
mov byte [ebp - 4], 0x31
push 0
lea eax, [ebp - 0x37c]
push eax
mov ecx, 0x601abc
call fcn.0049e170
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x37c]
call fcn.004050f0
lea eax, [ebp - 0x3c8]
push eax
push str.InstallingUser
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x3c8], 0x104
call fcn.00450f30
test eax, eax
jne 0x458863
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x394]
call fcn.00405090
mov byte [ebp - 4], 0x32
lea eax, [ebp - 0x394]
push eax
lea eax, [ebp - 0x37c]
push eax
call fcn.0040a610
add esp, 8
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x394]
call fcn.004050f0
cmp dword [ebp - 0x36c], 0
je 0x458854
lea eax, [ebp - 0x37c]
push eax
call fcn.004453e0
mov ecx, eax
call fcn.00447d30
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x37c]
call fcn.00403930
cmp dword [0x601aac], 0
je 0x4588b4
push str.KomodiaParameters1
lea eax, [ebp - 0x3b4]
push eax
lea ecx, [ebp - 0x358]
mov dword [ebp - 0x3b4], 0
call fcn.00450ef0
mov ecx, dword [ebp - 0x3b4]
test eax, eax
jne 0x4588a0
test ecx, ecx
setne byte [0x601ab8]
mov eax, dword [0x601a94]
mov edx, 4
test ecx, ecx
cmovne eax, edx
mov dword [0x601a94], eax
mov ecx, 0x601758
call fcn.00455d30
mov esi, dword [0x601a98]
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x358]
call fcn.0044aef0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x328]
call fcn.0044aef0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x398], 0x10
jb 0x458900
push dword [ebp - 0x3ac]
call fcn.004ad196
add esp, 4
mov dword [ebp - 0x398], 0xf
mov dword [ebp - 0x39c], 0
mov byte [ebp - 0x3ac], 0
mov eax, esi
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.004adbd4
mov esp, ebp
pop ebp
ret 0x10