Function at 0x45f060
Capabilities:
Accept command line arguments
Hide graphical window
Set console window title

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x58ffe5
push eax
mov eax, 0x108c
mov dword fs:[0], esp
call fcn.0056acc0
lea eax, [ebp + 8]
push edi
push eax
call fcn.004761e0
add esp, 4
mov edi, eax
cmp dword [ebp + 8], 2
mov dword [ebp - 0x24], edi
jge 0x45f0bb
push str.Usage____:_steamservice.exe__command_nCommands_:__install___Installs_Steam_Client_Service_n____________uninstall___Uninstalls_Steam_Client_Service_n____________repair___Repairs_Steam_install_n____________repairlibrary__folder____Repairs_a_library_folder_n____________installscript__file___appid____Runs_a_Steam_game_install_script_n____________setupsteam__command_line____Runs_SteamSetup.exe
call fcn.0045f740
add esp, 4
mov eax, 1
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push ebx
push esi
push 0x5b0284
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x45f115
jmp 0x45f0e0
push dword [edi + esi*4]
push str._hide
call fcn.00578bd1
add esp, 8
test eax, eax
je 0x45f0fb
inc esi
cmp esi, ebx
jl 0x45f0e0
jmp 0x45f115
test esi, esi
je 0x45f115
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x62c3d0], 1
mov eax, dword [ebp + 8]
mov esi, 1
mov dword [ebp - 0x28], eax
cmp eax, esi
jle 0x45f141
push dword [edi + esi*4]
lea ebx, [edi + esi*4]
push str._installscript
call fcn.00578bd1
add esp, 8
test eax, eax
je 0x45f1b3
inc esi
cmp esi, dword [ebp - 0x28]
jl 0x45f124
mov bl, byte [ebp - 0xd]
push edi
push dword [ebp + 8]
push str._setupsteam
call fcn.0045e490
add esp, 0xc
test eax, eax
jle 0x45f36c
cmp dword [ebp + 8], eax
jle 0x45f36c
mov eax, 0x22
push 0xffe
mov word [ebp - 0x1098], ax
lea eax, [ebp - 0x1096]
push 0
push eax
call fcn.0056c620
lea eax, [ebp - 0x1097]
push 0xfff
push eax
call fcn.00476180
add esp, 0x14
test al, al
jne 0x45f23f
lea ecx, [ebp - 0x68]
call fcn.0045aa00
push str._setupsteam_to_get_current_executable_path_n
jmp 0x45f6cd
test esi, esi
jle 0x45f141
mov edx, dword [ebp + 8]
cmp edx, esi
jle 0x45f141
xor ecx, ecx
lea eax, [esi + 1]
mov dword [ebp - 0x28], ecx
cmp edx, eax
jle 0x45f1db
push dword [edi + esi*4 + 8]
call fcn.005755dd
add esp, 4
mov dword [ebp - 0x28], eax
mov ecx, eax
push 0
push ecx
push dword [ebx + 4]
call fcn.004595d0
add esp, 0xc
test al, al
jne 0x45f22b
lea ecx, [ebp - 0x68]
call fcn.0045aa00
push dword [ebp - 0x28]
push dword [ebx + 4]
push str._installscript_failed_on:__s:__d_n
push eax
push 1
push 1
push 3
push 4
push 0
push 0
call fcn.0045e350
add esp, 0x28
mov eax, 1
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push str.Install_script_executed.
call fcn.0045f740
add esp, 4
xor bl, bl
jmp 0x45f144
lea eax, [ebp - 0x1098]
push eax
call fcn.00469490
push 0xffffffffffffffff
push 0x1000
lea eax, [ebp - 0x1098]
push str.SteamSetup.exe_
push eax
call fcn.00469ac0
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor edx, edx
mov dword [ebp - 0x14], 0x4000000
test eax, eax
mov dword [ebp - 0x18], edx
mov ecx, 0x592544
mov dword [ebp - 0x1c], eax
cmovne ecx, edx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], edx
call fcn.0045ecd0
test eax, eax
je 0x45f2c3
push str._setupsteam
push eax
call fcn.00468820
add esp, 8
test eax, eax
je 0x45f2c3
push 0xffffffffffffffff
add eax, 0xb
push 0x1000
push eax
lea eax, [ebp - 0x1098]
push eax
call fcn.00469ac0
add esp, 0x10
lea eax, [ebp - 0x1098]
mov ecx, 0x62ca00
push eax
call fcn.0045d8f0
test al, al
jne 0x45f324
cmp byte [ebp - 0x14], al
je 0x45f2e8
push dword [ebp - 0x20]
call fcn.0056acf4
add esp, 4
cmp byte [ebp - 0x13], 0
je 0x45f2f9
push dword [ebp - 0x1c]
call fcn.0056acf4
add esp, 4
cmp byte [ebp - 0x12], 0
je 0x45f6e2
push dword [ebp - 0x18]
call fcn.0056acf4
add esp, 4
mov eax, 1
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push str.SteamSetup.exe_executed.
call fcn.0045f740
xor bl, bl
mov dword [ebp - 4], 0xffffffff
add esp, 4
cmp byte [ebp - 0x14], bl
je 0x45f34a
push dword [ebp - 0x20]
call fcn.0056acf4
add esp, 4
cmp byte [ebp - 0x13], 0
je 0x45f35b
push dword [ebp - 0x1c]
call fcn.0056acf4
add esp, 4
cmp byte [ebp - 0x12], 0
je 0x45f36c
push dword [ebp - 0x18]
call fcn.0056acf4
add esp, 4
push dword [edi + 4]
push str._runfunc
call fcn.00578bd1
add esp, 8
test eax, eax
jne 0x45f3d4
cmp dword [ebp + 8], 6
jl 0x45f6e2
push dword [edi + 8]
call fcn.005755ba
push dword [edi + 0xc]
mov ebx, eax
call fcn.005755ba
mov edi, eax
mov eax, dword [ebp - 0x24]
push dword [eax + 0x10]
call fcn.005755ba
mov esi, eax
mov eax, dword [ebp - 0x24]
push dword [eax + 0x14]
call fcn.005755ba
add esp, 0x10
mov ecx, 0x62ca00
push eax
push esi
push edi
push ebx
call fcn.0045b160
test al, al
je 0x45f6e2
mov edi, dword [ebp - 0x24]
xor bl, bl
push dword [edi + 4]
push str._extractguids
call fcn.00578bd1
add esp, 8
test eax, eax
jne 0x45f485
cmp dword [ebp + 8], 3
jl 0x45f6e2
push eax
push eax
push eax
lea ecx, [ebp - 0x60]
call fcn.0046b0a0
mov esi, dword [edi + 8]
push str.wine_get_dos_file_name
push 0x5b0350
mov dword [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x45f4e1
test esi, esi
je 0x45f4e1
push esi
call eax
push 0
push 0
mov edi, eax
push 0
push edi
call fcn.0046d250
add esp, 0x14
lea ecx, [ebp - 0x60]
mov esi, eax
push esi
call fcn.0046b550
push 0
push esi
push dword [ebp - 0x5c]
push edi
call fcn.0046d250
add esp, 0x10
mov ecx, 0x62ca00
push dword [ebp - 0x5c]
call fcn.0045c640
test al, al
je 0x45f4f0
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
xor bl, bl
call fcn.0046a080
push dword [edi + 4]
push str._repair
call fcn.00578bd1
add esp, 8
test eax, eax
jne 0x45f52e
cmp byte [0x62c3d8], al
je 0x45f50e
push eax
mov ecx, 0x62ca00
call fcn.0045dd60
push 1
mov ecx, 0x62ca00
call fcn.0045ca90
push 0x62c3d8
push str.Steam_Client_Service___s__repair_completed._n
call fcn.0045f740
add esp, 8
xor eax, eax
pop esi
pop ebx
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push esi
mov ecx, 0x62ca00
call fcn.0045c640
test al, al
jne 0x45f474
lea ecx, [ebp - 0x60]
call fcn.0046a080
pop esi
pop ebx
mov eax, 1
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push str.Steam_Client_Service_Steam_folder_not_found._n
call fcn.0045f740
add esp, 4
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push dword [edi + 4]
push str._repairlibrary
call fcn.00578bd1
add esp, 8
test eax, eax
jne 0x45f568
cmp dword [ebp + 8], 2
jle 0x45f568
push dword [edi + 8]
mov ecx, 0x62ca00
call fcn.0045d770
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push dword [edi + 4]
push str._clearcompatflags
call fcn.00578bd1
add esp, 8
test eax, eax
jne 0x45f649
push dword [0x6271f8]
lea eax, [ebp - 0x38]
push 0x62c3d8
push 0x5b015c
push eax
call fcn.0046a380
add esp, 0x10
cmp byte [ebp - 0x29], 0
mov dword [ebp - 4], 2
jge 0x45f5b7
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x45f5ba
mov eax, 0x592544
jmp 0x45f5ba
lea eax, [ebp - 0x38]
push 0
push 1
push eax
call fcn.004621d0
push 0x62c3d8
lea eax, [ebp - 0x20]
push str._s_bin_steamwebhelper.exe
push eax
call fcn.0046a380
add esp, 0x18
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 3
jge 0x45f5f2
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45f5f5
mov eax, 0x592544
jmp 0x45f5f5
lea eax, [ebp - 0x20]
push 0
push 1
push eax
call fcn.004621d0
add esp, 0xc
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 4
jge 0x45f61f
call fcn.0047f350
push 0
push dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
cmp byte [ebp - 0x29], 0
mov dword [ebp - 4], 5
jge 0x45f63f
call fcn.0047f350
push 0
push dword [ebp - 0x38]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
push str.Steam_Client_Service_Windows_compatibility_flags_cleared._n
jmp 0x45f513
push dword [edi + 4]
push str._install
call fcn.00578bd1
add esp, 8
test eax, eax
jne 0x45f6ac
push eax
mov ecx, 0x62ca00
call fcn.0045dd60
test al, al
je 0x45f6e2
call fcn.00463820
test al, al
je 0x45f692
mov ecx, 0x62ca00
call fcn.0045c7b0
test al, al
jne 0x45f692
lea ecx, [ebp - 0x68]
call fcn.0045aa00
push str._install_service_install_failed_n
jmp 0x45f6cd
push 1
mov ecx, 0x62ca00
call fcn.0045ca90
test al, al
je 0x45f6e2
push str.Steam_Client_Service_install_completed.
jmp 0x45f513
test bl, bl
je 0x45f51b
cmp byte [0x62c3d8], 0
jne 0x45f6f8
lea ecx, [ebp - 0x98]
call fcn.0045aa00
push str.Steam_folder_not_found_n
push eax
push 1
push 1
push 3
push 4
push 0
push 0
call fcn.0045e350
add esp, 0x20
pop esi
pop ebx
mov eax, 1
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push edi
push dword [ebp + 8]
mov ecx, 0x62ca00
call fcn.0045d240
test al, al
jne 0x45f51b
push edi
push dword [ebp + 8]
mov ecx, 0x62ca00
call fcn.0045fed0
xor ecx, ecx
test al, al
pop esi
sete cl
mov eax, ecx
mov ecx, dword [ebp - 0xc]
pop ebx
pop edi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret