Function at 0x4bd680
Capabilities:
Accept command line arguments
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [0x5fae30]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push 7
xor ebx, ebx
mov esi, 0xf
push 0x5b9850
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
mov ecx, dword [ebp + 8]
push 0x5b8540
lea eax, [ebp - 0x32c]
push eax
push ecx
push 0x5f8b38
mov ecx, 0x5fd6e8
call fcn.00405268
mov edi, 0x10
cmp dword [ebp - 0x318], edi
jb 0x4bd708
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
mov ecx, dword [ebp - 0x3e0]
mov eax, 0x2f
push str._nolog
push ecx
mov dword [0x5fda3c], 1
mov word [ebp - 0x3e4], ax
mov byte [ebp - 0x3d9], bl
mov byte [ebp - 0x3d8], bl
mov byte [ebp - 0x3db], bl
mov byte [ebp - 0x3d6], 1
mov byte [ebp - 0x3da], bl
mov byte [ebp - 0x3d7], bl
call fcn.00407685
add esp, 8
test eax, eax
je 0x4bd766
mov byte [ebp - 0x3d6], bl
jmp 0x4bd82f
mov edx, dword [ebp - 0x3e0]
push str._local
push edx
call fcn.00407685
add esp, 8
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
push 0xc
lea ecx, [ebp - 0x32c]
test eax, eax
jne 0x4bd7fd
push 0x5b986c
call fcn.00402a36
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x364]
push ecx
call fcn.00406262
add esp, 8
push eax
mov ecx, 0x5fda4c
call fcn.005383a0
cmp dword [ebp - 0x350], edi
jb 0x4bd7da
mov edx, dword [ebp - 0x364]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
cmp dword [ebp - 0x318], edi
jb 0x4bd82f
mov eax, dword [ebp - 0x32c]
push eax
jmp 0x4bd827
push str.ASProxyr.log
call fcn.00402a36
lea ecx, [ebp - 0x32c]
push ecx
mov ecx, 0x5fda4c
call fcn.005383a0
cmp dword [ebp - 0x318], edi
jb 0x4bd82f
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
push 0x15
push str.Redirector_started__V
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x3a4], esi
mov dword [ebp - 0x3a8], ebx
mov byte [ebp - 0x3b8], bl
call fcn.00402a36
push 1
push 0x5b98a4
lea ecx, [ebp - 0x3b8]
call fcn.00403dd2
push 0x2e
push 1
lea ecx, [ebp - 0x3b8]
call fcn.00405ea2
push 5
push str.3.0.7
lea ecx, [ebp - 0x3b8]
call fcn.00403dd2
push 0x29
push 1
lea ecx, [ebp - 0x3b8]
call fcn.00405ea2
push ebx
lea eax, [ebp - 0x3b8]
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
push 7
push 0x5b98b0
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
call fcn.00402a36
push 0xd
push str.Licensed_to:
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push ebx
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x32c]
push edx
lea eax, [ebp - 0x364]
push eax
call fcn.00407cd9
add esp, 0xc
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x350], edi
jb 0x4bd92f
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
cmp dword [ebp - 0x318], edi
jb 0x4bd958
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x334], edi
jb 0x4bd981
mov eax, dword [ebp - 0x348]
push eax
call fcn.0053ed60
add esp, 4
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4bd9a0
mov ecx, dword [ebp - 0x3e0]
sub eax, edx
push eax
push ecx
lea ecx, [ebp - 0x348]
call fcn.00402a36
push 0x11
push str.Path_and_params:
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push ebx
lea edx, [ebp - 0x348]
push edx
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x364]
push ecx
call fcn.00407cd9
add esp, 0xc
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x350], edi
jb 0x4bda20
mov edx, dword [ebp - 0x364]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
cmp dword [ebp - 0x318], edi
jb 0x4bda49
mov eax, dword [ebp - 0x32c]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x334], edi
jb 0x4bda72
mov ecx, dword [ebp - 0x348]
push ecx
call fcn.0053ed60
add esp, 4
lea edx, [ebp - 0x108]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x108]
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4bdaa0
sub eax, edx
push eax
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x348]
call fcn.00402a36
push 0x16
push str.Current_directory_is:
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push ebx
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x32c]
push edx
lea eax, [ebp - 0x364]
push eax
call fcn.00407cd9
add esp, 0xc
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x350], edi
jb 0x4bdb20
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
cmp dword [ebp - 0x318], edi
jb 0x4bdb49
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x334], edi
jb 0x4bdb72
mov eax, dword [ebp - 0x348]
push eax
call fcn.0053ed60
add esp, 4
push 0x11
push str.Time_since_boot:
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
lea ecx, [ebp - 0x39c]
push ecx
call fcn.004080a8
push eax
lea edx, [ebp - 0x32c]
push edx
lea eax, [ebp - 0x364]
push eax
call fcn.00407cd9
add esp, 0x14
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x350], edi
jb 0x4bdbe3
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
cmp dword [ebp - 0x318], edi
jb 0x4bdc0c
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x388], edi
jb 0x4bdc35
mov eax, dword [ebp - 0x39c]
push eax
call fcn.0053ed60
add esp, 4
push 5
push str.PID:
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea ecx, [ebp - 0x39c]
push ecx
call fcn.004080a8
push eax
lea edx, [ebp - 0x32c]
push edx
lea eax, [ebp - 0x364]
push eax
call fcn.00407cd9
add esp, 0x14
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x350], edi
jb 0x4bdca6
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
cmp dword [ebp - 0x318], edi
jb 0x4bdccf
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x388], edi
jb 0x4bdcf8
mov eax, dword [ebp - 0x39c]
push eax
call fcn.0053ed60
add esp, 4
push 4
push str.test
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x32c]
push ecx
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
call fcn.004077b1
mov eax, dword [ebp - 0x348]
cmp dword [ebp - 0x334], edi
jae 0x4bdd57
lea eax, [ebp - 0x348]
push eax
call fcn.0056a130
mov edx, dword [ebp - 0x348]
add esp, 4
cmp dword [ebp - 0x334], edi
jae 0x4bdd74
lea edx, [ebp - 0x348]
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x338]
cmp eax, ecx
jb 0x4bdd86
mov eax, ecx
mov ecx, dword [ebp - 0x32c]
cmp dword [ebp - 0x318], edi
jae 0x4bdd9a
lea ecx, [ebp - 0x32c]
push eax
push edx
push ecx
call fcn.0040392c
add esp, 0xc
cmp eax, ebx
jne 0x4bdea1
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x338]
cmp eax, ecx
jb 0x4bdea1
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
cmp eax, ebx
jne 0x4bdea1
push 0x16
push str.Bad_MT_string_library_
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
call fcn.00402a36
push 1
lea eax, [ebp - 0x364]
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x350], edi
jb 0x4bde20
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x334], edi
jb 0x4bde37
mov edx, dword [ebp - 0x348]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
cmp dword [ebp - 0x318], edi
jb 0x4bde60
mov eax, dword [ebp - 0x32c]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x3a4], edi
jb 0x4bde89
mov ecx, dword [ebp - 0x3b8]
push ecx
call fcn.0053ed60
add esp, 4
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053fd20
mov esp, ebp
pop ebp
ret 0x10
push 0x1d
push str.String_library_passed_MT_test
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
call fcn.00402a36
push ebx
lea edx, [ebp - 0x364]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x350], edi
jb 0x4bdeee
mov eax, dword [ebp - 0x364]
push eax
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x334], edi
jb 0x4bdf05
mov ecx, dword [ebp - 0x348]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
cmp dword [ebp - 0x318], edi
jb 0x4bdf2e
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
call fcn.00401677
test al, al
je 0x4be0ca
call fcn.00401cb7
mov ecx, eax
call fcn.00404723
push 6
push str._64bit
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
call fcn.00402a36
call fcn.00401992
mov ecx, eax
lea edx, [ecx + 1]
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
mov dword [ebp - 0x3e8], edx
lea ecx, [ecx]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x4bdf90
sub ecx, dword [ebp - 0x3e8]
push ecx
push eax
lea ecx, [ebp - 0x348]
call fcn.00402a36
push 4
push 0x5b9958
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push ebx
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x32c]
push edx
lea eax, [ebp - 0x39c]
push eax
call fcn.00407cd9
add esp, 0xc
push eax
lea ecx, [ebp - 0x3d4]
push ecx
call fcn.00407cd9
add esp, 0xc
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x3c0], edi
jb 0x4be025
mov edx, dword [ebp - 0x3d4]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x3c0], esi
mov dword [ebp - 0x3c4], ebx
mov byte [ebp - 0x3d4], bl
cmp dword [ebp - 0x388], edi
jb 0x4be04e
mov eax, dword [ebp - 0x39c]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x388], esi
mov dword [ebp - 0x38c], ebx
mov byte [ebp - 0x39c], bl
cmp dword [ebp - 0x318], edi
jb 0x4be077
mov ecx, dword [ebp - 0x32c]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x334], edi
jb 0x4be0a0
mov edx, dword [ebp - 0x348]
push edx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x338], ebx
mov byte [ebp - 0x348], bl
cmp dword [ebp - 0x350], edi
jb 0x4be1c0
mov eax, dword [ebp - 0x364]
push eax
jmp 0x4be1b8
call fcn.00401992
mov ecx, eax
lea edx, [ecx + 1]
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
mov dword [ebp - 0x3e8], edx
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x4be0f0
sub ecx, dword [ebp - 0x3e8]
push ecx
push eax
lea ecx, [ebp - 0x364]
call fcn.00402a36
push 4
push str.OS:
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
call fcn.00402a36
push ebx
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0x32c]
push ecx
lea edx, [ebp - 0x39c]
push edx
call fcn.00407cd9
add esp, 0xc
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x388], edi
jb 0x4be16e
mov eax, dword [ebp - 0x39c]
push eax
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x388], esi
mov dword [ebp - 0x38c], ebx
mov byte [ebp - 0x39c], bl
cmp dword [ebp - 0x318], edi
jb 0x4be197
mov ecx, dword [ebp - 0x32c]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
cmp dword [ebp - 0x350], edi
jb 0x4be1c0
mov edx, dword [ebp - 0x364]
push edx
call fcn.0053ed60
add esp, 4
mov byte [ebp - 0x3d5], 1
cmp byte [ebp - 0x3d6], bl
je 0x4be261
call fcn.0040623a
push eax
call fcn.00407a81
add esp, 4
test al, al
je 0x4be261
lea eax, [ebp - 0x3d6]
push eax
call fcn.00407c1b
add esp, 4
mov byte [ebp - 0x3d5], al
lea ecx, [ebp - 0x39c]
cmp byte [ebp - 0x3d6], bl
je 0x4be21d
push str.Failed_getting_UAC_status_
call fcn.00403dfa
push 1
lea ecx, [ebp - 0x39c]
push ecx
jmp 0x4be24c
cmp byte [ebp - 0x3d5], bl
jne 0x4be23a
push str.UAC_not_elevated_
call fcn.00403dfa
push 1
lea edx, [ebp - 0x39c]
push edx
jmp 0x4be24c
push str.UAC_is_elevated__this_is_good
call fcn.00403dfa
push ebx
lea eax, [ebp - 0x39c]
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x39c]
call fcn.0040583f
mov edx, dword [ebp - 0x3e0]
lea ecx, [ebp - 0x3e4]
push ecx
push edx
call fcn.00406e24
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x4be669
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.UnregServer
push edi
call esi
test eax, eax
je 0x4be6c7
push str.RegServer
push edi
call esi
test eax, eax
je 0x4be777
push str.Service
push edi
call esi
test eax, eax
je 0x4be7c5
push 3
push 0x5b9b20
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
jne 0x4be568
call fcn.00401cb7
lea eax, [ebp - 0x39c]
push eax
call fcn.004033c8
mov esi, eax
xor ecx, ecx
lea edx, [ebp - 0x348]
add esp, 4
mov dword [ebp - 0x334], 7
mov dword [ebp - 0x338], ebx
mov word [ebp - 0x348], cx
cmp edx, esi
je 0x4be363
xor eax, eax
mov dword [ebp - 0x334], 7
mov dword [ebp - 0x338], ebx
mov word [ebp - 0x348], ax
cmp dword [esi + 0x14], 8
jae 0x4be341
mov ecx, dword [esi + 0x10]
lea edx, [ecx + ecx + 2]
push edx
lea eax, [ebp - 0x348]
push esi
push eax
call fcn.0053f450
add esp, 0xc
jmp 0x4be34b
mov ecx, dword [esi]
mov dword [ebp - 0x348], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x338], edx
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x334], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
cmp dword [ebp - 0x388], 8
jb 0x4be37b
mov ecx, dword [ebp - 0x39c]
push ecx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x334], 8
mov eax, dword [ebp - 0x348]
jae 0x4be390
lea eax, [ebp - 0x348]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x4be4d3
push 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edx, [ebp - 0x380]
push edx
call fcn.004080a8
add esp, 8
push eax
push 0x5b9b24
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x32c]
push ecx
call fcn.00406569
push eax
lea edx, [ebp - 0x364]
push str.Failed_to_set_current_directory_to:
push edx
call fcn.0040367f
add esp, 0x14
push eax
lea eax, [ebp - 0x3d4]
push eax
call fcn.00407c9d
add esp, 0xc
push eax
lea ecx, [ebp - 0x39c]
push ecx
call fcn.00407cd9
add esp, 0xc
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
cmp dword [ebp - 0x388], 0x10
jb 0x4be428
mov edx, dword [ebp - 0x39c]
push edx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x3c0], 0x10
mov esi, 0xf
mov dword [ebp - 0x388], esi
mov dword [ebp - 0x38c], ebx
mov byte [ebp - 0x39c], bl
jb 0x4be457
mov eax, dword [ebp - 0x3d4]
push eax
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x350], 0x10
mov dword [ebp - 0x3c0], esi
mov dword [ebp - 0x3c4], ebx
mov byte [ebp - 0x3d4], bl
jb 0x4be481
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x318], 0x10
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x354], ebx
mov byte [ebp - 0x364], bl
jb 0x4be4ab
mov edx, dword [ebp - 0x32c]
push edx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x36c], 0x10
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 0x32c], bl
jb 0x4be550
mov eax, dword [ebp - 0x380]
push eax
jmp 0x4be548
push ebx
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x380]
push edx
call fcn.00406569
push eax
lea eax, [ebp - 0x39c]
push str.Set_current_directory_to:
push eax
call fcn.0040367f
add esp, 0x14
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
mov esi, 0x10
cmp dword [ebp - 0x388], esi
jb 0x4be523
mov ecx, dword [ebp - 0x39c]
push ecx
call fcn.0053ed60
add esp, 4
mov dword [ebp - 0x388], 0xf
mov dword [ebp - 0x38c], ebx
mov byte [ebp - 0x39c], bl
cmp dword [ebp - 0x36c], esi
jb 0x4be550
mov edx, dword [ebp - 0x380]
push edx
call fcn.0053ed60
add esp, 4
cmp dword [ebp - 0x334], 8
jb 0x4be568
mov eax, dword [ebp - 0x348]
push eax
call fcn.0053ed60
add esp, 4
push 4
push str.Auto
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
jne 0x4be583
mov byte [ebp - 0x3d9], 1
push 6
push str.NoStop
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
jne 0x4be59e
mov byte [ebp - 0x3d8], 1
push 6
push str.Update
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
jne 0x4be5b9
mov byte [ebp - 0x3db], 1
push 0xa
push str.NoSafeMode
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
jne 0x4be5d4
mov byte [ebp - 0x3da], 1
push 0xa
push 0x5b9b9c
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
jne 0x4be5ef
mov byte [ebp - 0x3d7], 1
push 0xb
push str.IsInstalled
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
je 0x4be853
push 0x10
push str.IsOtherInstalled
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
je 0x4be8c9
push 0xe
push str.IsOtherDetails
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
je 0x4be93f
push 7
push str.Replace
push edi
call fcn.00542ab4
add esp, 0xc
test eax, eax
je 0x4bea07
lea ecx, [ebp - 0x3e4]
push ecx
push edi
call fcn.00406e24
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x4be281
push ebx
call fcn.00407090
add esp, 4
test al, al
je 0x4bea69
push str.Service_already_running__exiting
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push ebx
lea edx, [ebp - 0x380]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
lea ecx, [ebp - 0x3b8]
call fcn.0040583f
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053fd20
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebp - 0x3d5], bl
jne 0x4be72d
push str.Must_have_UAC_to_unistall
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push 1
lea edx, [ebp - 0x380]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push 0x5b99e0
call fcn.00542870
add esp, 4
lea ecx, [ebp - 0x3b8]
call fcn.0040583f
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053fd20
mov esp, ebp
pop ebp
ret 0x10
movzx eax, byte [ebp - 0x3d7]
push eax
mov ecx, 0x5fd6e8
call fcn.00402932
test eax, eax
jns 0x4be74a
push str.Failed_to_uninstall_service_n
jmp 0x4be702
push str.Service_uninstalled_successfuly_n
call fcn.00542870
add esp, 4
lea ecx, [ebp - 0x3b8]
call fcn.0040583f
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053fd20
mov esp, ebp
pop ebp
ret 0x10
push str._RegServer_flag_not_support_
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push 1
lea ecx, [ebp - 0x380]
push ecx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
lea ecx, [ebp - 0x3b8]
call fcn.0040583f
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0053fd20
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebp - 0x3d5], bl
jne 0x4be805
push str.Must_have_UAC_to_install
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push 1
lea edx, [ebp - 0x380]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push 0x5b9ab4
jmp 0x4be702
movzx eax, byte [ebp - 0x3d7]
movzx ecx, byte [ebp - 0x3da]
movzx edx, byte [ebp - 0x3db]
push eax
movzx eax, byte [ebp - 0x3d8]
push ecx
movzx ecx, byte [ebp - 0x3d9]
push edx
push eax
push ecx
push 1
push 1
mov ecx, 0x5fd6e8
call fcn.00408b4d
test eax, eax
jns 0x4be849
push 0x5b9ae4
jmp 0x4be702
push 0x5b9b00
jmp 0x4be74f
mov ecx, 0x5fd6e8
call fcn.004065be
lea ecx, [ebp - 0x380]
test eax, eax
je 0x4be898
push str.Service_process_installed
call fcn.00403dfa
push ebx
lea edx, [ebp - 0x380]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push str.Service_process_installed_n
jmp 0x4be74f
push str.Service_process_not_installed
call fcn.00403dfa
push ebx
lea eax, [ebp - 0x380]
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push str.Service_process_not_installed_n
jmp 0x4be702
mov ecx, 0x5fd6e8
call fcn.0040375b
lea ecx, [ebp - 0x380]
test eax, eax
je 0x4be90e
push str.Other_SDK_installed
call fcn.00403dfa
push ebx
lea ecx, [ebp - 0x380]
push ecx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push str.Other_SDK_installed_n
jmp 0x4be74f
push 0x5b9c68
call fcn.00403dfa
push ebx
lea edx, [ebp - 0x380]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push 0x5b9c80
jmp 0x4be702
lea eax, [ebp - 0x32c]
push eax
mov ecx, 0x5fd6e8
call fcn.004049f3
cmp dword [ebp - 0x31c], ebx
je 0x4be9bd
push ebx
lea ecx, [ebp - 0x32c]
push ecx
lea edx, [ebp - 0x380]
push str.Other_SDK_installed:
push edx
call fcn.00408a0d
add esp, 0xc
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
cmp dword [ebp - 0x318], 0x10
mov eax, dword [ebp - 0x32c]
jae 0x4be99f
lea eax, [ebp - 0x32c]
push eax
push str.Other_SDK_installed:__s_n
call fcn.00542870
add esp, 8
lea ecx, [ebp - 0x32c]
call fcn.0040583f
jmp 0x4be757
push str.Other_SDK_not_installed
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push ebx
lea eax, [ebp - 0x380]
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push str.Other_SDK_not_installed_n
call fcn.00542870
add esp, 4
lea ecx, [ebp - 0x32c]
call fcn.0040583f
jmp 0x4be70a
cmp byte [ebp - 0x3d5], bl
jne 0x4bea47
push str.Must_have_UAC_to_replace
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push 1
lea ecx, [ebp - 0x380]
push ecx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
push str.You_must_have_UAC_privileges_for_this_command__n
jmp 0x4be702
mov ecx, 0x5fd6e8
call fcn.00403d14
test eax, eax
jns 0x4bea5f
push str.Failed_to_install_service_n
jmp 0x4be702
push str.Service_installed_successfuly_n
jmp 0x4be74f
push 0x20019
push 0x5b9de8
push accept
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x400], ebx
mov dword [ebp - 0x3fc], ebx
mov dword [ebp - 0x3f8], ebx
call fcn.00403d5f
mov esi, eax
cmp esi, ebx
je 0x4beace
push str.Error_openning_key_HKEY_CLASSES_ROOT_
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push 1
lea eax, [ebp - 0x380]
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
jmp 0x4becaa
mov ecx, dword [ebp - 0x400]
push 0x20019
push 0x5b9e18
push ecx
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x3f4], ebx
mov dword [ebp - 0x3f0], ebx
mov dword [ebp - 0x3ec], ebx
call fcn.00403d5f
mov esi, eax
cmp esi, ebx
je 0x4beb35
push str.Error_openning_key_keyAppID_
lea ecx, [ebp - 0x380]
call fcn.00403dfa
push 1
lea edx, [ebp - 0x380]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
jmp 0x4bec9f
lea eax, [ebp - 0x408]
push eax
push 0x5b9e60
lea ecx, [ebp - 0x310]
push ecx
mov esi, 0x104
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x408], esi
call fcn.004073ec
mov dword [0x5fda3c], ebx
lea ecx, [ebp - 0x380]
cmp eax, ebx
jne 0x4beba1
push str.Configured_to_run_as_a_service
call fcn.00403dfa
push ebx
lea edx, [ebp - 0x380]
push edx
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
mov dword [0x5fda3c], 1
jmp 0x4bebc8
push str.Configured_to_run_as_a_server
call fcn.00403dfa
push ebx
lea eax, [ebp - 0x380]
push eax
mov ecx, 0x5fda4c
call fcn.005383c0
lea ecx, [ebp - 0x380]
call fcn.0040583f
lea ecx, [ebp - 0x404]
push ecx
push 0x5b9eb0
lea edx, [ebp - 0x20c]
push edx
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x404], esi
call fcn.004073ec
test eax, eax
jne 0x4bec47
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x380]
call fcn.00403dfa
lea ecx, [ebp - 0x380]
push ecx
lea edx, [ebp - 0x39c]
push edx
call fcn.00408251
add esp, 8
lea ecx, [ebp - 0x380]
call fcn.0040583f
cmp dword [ebp - 0x38c], ebx
je 0x4bec3c
lea eax, [ebp - 0x39c]
push eax
mov ecx, 0x5fd6e8
call fcn.00405c3b
lea ecx, [ebp - 0x39c]
call fcn.00406dfc
cmp dword [0x5fda3c], ebx
je 0x4bec8f
push 0x5b9ec0
lea ecx, [ebp - 0x3e0]
push ecx
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x3e0], ebx
call fcn.004023dd
test eax, eax
mov eax, dword [ebp - 0x3e0]
jne 0x4bec81
cmp eax, ebx
setne dl
mov byte [0x5fda48], dl
cmp eax, ebx
je 0x4bec8f
mov dword [0x5fda24], 4
mov ecx, 0x5fd6e8
call fcn.00404827
mov esi, dword [0x5fda28]
lea ecx, [ebp - 0x3f4]
call fcn.00403cc4
lea ecx, [ebp - 0x400]
call fcn.00403cc4
lea ecx, [ebp - 0x3b8]
call fcn.0040583f
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053fd20
mov esp, ebp
pop ebp
ret 0x10