Function at 0x45f4f0
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 0x5911c5
push eax
mov eax, 0x1088
mov dword fs:[0], esp
call fcn.0056be10
lea eax, [ebp + 8]
push edi
push eax
call fcn.00477020
add esp, 4
mov edi, eax
cmp dword [ebp + 8], 2
mov dword [ebp - 0x24], edi
jge 0x45f54b
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.0045fbc0
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 0x5b178c
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x45f5a5
jmp 0x45f570
push dword [edi + esi*4]
push str._hide
call fcn.00579dc1
add esp, 8
test eax, eax
je 0x45f58b
inc esi
cmp esi, ebx
jl 0x45f570
jmp 0x45f5a5
test esi, esi
je 0x45f5a5
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x62d430], 1
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x45f5ca
push dword [edi + esi*4]
push str._installscript
call fcn.00579dc1
add esp, 8
test eax, eax
je 0x45f63c
inc esi
cmp esi, ebx
jl 0x45f5b1
mov bl, byte [ebp - 0xd]
push edi
push dword [ebp + 8]
push str._setupsteam
call fcn.0045e790
add esp, 0xc
test eax, eax
jle 0x45f7f0
cmp dword [ebp + 8], eax
jle 0x45f7f0
mov eax, 0x22
push 0xffe
mov word [ebp - 0x1094], ax
lea eax, [ebp - 0x1092]
push 0
push eax
call fcn.0056d800
lea eax, [ebp - 0x1093]
push 0xfff
push eax
call fcn.00476fc0
add esp, 0x14
test al, al
jne 0x45f6c3
lea ecx, [ebp - 0x64]
call fcn.0045ac90
push str._setupsteam_to_get_current_executable_path_n
jmp 0x45fb52
test esi, esi
jle 0x45f5ca
mov ecx, dword [ebp + 8]
cmp ecx, esi
jle 0x45f5ca
lea eax, [esi + 1]
xor ebx, ebx
cmp ecx, eax
jle 0x45f65e
push dword [edi + esi*4 + 8]
call fcn.005767cd
add esp, 4
mov ebx, eax
push 0
lea esi, [edi + esi*4]
push ebx
push dword [esi + 4]
call fcn.00459740
add esp, 0xc
test al, al
jne 0x45f6af
lea ecx, [ebp - 0x64]
call fcn.0045ac90
push ebx
push dword [esi + 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.0045e650
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.0045fbc0
add esp, 4
xor bl, bl
jmp 0x45f5cd
lea eax, [ebp - 0x1094]
push eax
call fcn.00469da0
push 0xffffffffffffffff
push 0x1000
lea eax, [ebp - 0x1094]
push str.SteamSetup.exe_
push eax
call fcn.0046a3d0
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, 0x593554
mov dword [ebp - 0x1c], eax
cmovne ecx, edx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], edx
call fcn.0045f160
test eax, eax
je 0x45f747
push str._setupsteam
push eax
call fcn.004692e0
add esp, 8
test eax, eax
je 0x45f747
push 0xffffffffffffffff
add eax, 0xb
push 0x1000
push eax
lea eax, [ebp - 0x1094]
push eax
call fcn.0046a3d0
add esp, 0x10
lea eax, [ebp - 0x1094]
mov ecx, 0x62da60
push eax
call fcn.0045dba0
test al, al
jne 0x45f7a8
cmp byte [ebp - 0x14], al
je 0x45f76c
push dword [ebp - 0x20]
call fcn.0056be44
add esp, 4
cmp byte [ebp - 0x13], 0
je 0x45f77d
push dword [ebp - 0x1c]
call fcn.0056be44
add esp, 4
cmp byte [ebp - 0x12], 0
je 0x45fb67
push dword [ebp - 0x18]
call fcn.0056be44
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.0045fbc0
xor bl, bl
mov dword [ebp - 4], 0xffffffff
add esp, 4
cmp byte [ebp - 0x14], bl
je 0x45f7ce
push dword [ebp - 0x20]
call fcn.0056be44
add esp, 4
cmp byte [ebp - 0x13], 0
je 0x45f7df
push dword [ebp - 0x1c]
call fcn.0056be44
add esp, 4
cmp byte [ebp - 0x12], 0
je 0x45f7f0
push dword [ebp - 0x18]
call fcn.0056be44
add esp, 4
push dword [edi + 4]
push str._runfunc
call fcn.00579dc1
add esp, 8
test eax, eax
jne 0x45f858
cmp dword [ebp + 8], 6
jl 0x45fb67
push dword [edi + 8]
call fcn.005767aa
push dword [edi + 0xc]
mov ebx, eax
call fcn.005767aa
mov edi, eax
mov eax, dword [ebp - 0x24]
push dword [eax + 0x10]
call fcn.005767aa
mov esi, eax
mov eax, dword [ebp - 0x24]
push dword [eax + 0x14]
call fcn.005767aa
add esp, 0x10
mov ecx, 0x62da60
push eax
push esi
push edi
push ebx
call fcn.0045b470
test al, al
je 0x45fb67
mov edi, dword [ebp - 0x24]
xor bl, bl
push dword [edi + 4]
push str._extractguids
call fcn.00579dc1
add esp, 8
test eax, eax
jne 0x45f909
cmp dword [ebp + 8], 3
jl 0x45fb67
push eax
push eax
push eax
lea ecx, [ebp - 0x58]
call fcn.0046b8a0
mov esi, dword [edi + 8]
push str.wine_get_dos_file_name
push 0x5b1858
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 0x45f949
test esi, esi
je 0x45f949
push esi
call eax
push 0
push 0
mov edi, eax
push 0
push edi
call fcn.0046dc00
add esp, 0x14
lea ecx, [ebp - 0x58]
mov esi, eax
push esi
call fcn.0046bdc0
push 0
push esi
push dword [ebp - 0x58]
push edi
call fcn.0046dc00
add esp, 0x10
mov ecx, 0x62da60
push dword [ebp - 0x58]
call fcn.0045c8f0
test al, al
je 0x45f958
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
xor bl, bl
call fcn.00447070
push dword [edi + 4]
push str._repair
call fcn.00579dc1
add esp, 8
test eax, eax
jne 0x45f9b3
cmp byte [0x62d438], al
jne 0x45f976
push str.Steam_Client_Service_Steam_folder_not_found._n
call fcn.0045fbc0
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 esi
mov ecx, 0x62da60
call fcn.0045c8f0
test al, al
jne 0x45f8f8
lea ecx, [ebp - 0x58]
call fcn.00447070
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 0
mov ecx, 0x62da60
call fcn.0045e080
push 1
mov ecx, 0x62da60
call fcn.0045cd30
push 0x62d438
push str.Steam_Client_Service___s__repair_completed._n
call fcn.0045fbc0
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 dword [edi + 4]
push str._repairlibrary
call fcn.00579dc1
add esp, 8
test eax, eax
jne 0x45f9ed
cmp dword [ebp + 8], 2
jle 0x45f9ed
push dword [edi + 8]
mov ecx, 0x62da60
call fcn.0045da20
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.00579dc1
add esp, 8
test eax, eax
jne 0x45face
push dword [0x6281ec]
lea eax, [ebp - 0x34]
push 0x62d438
push 0x5b1abc
push eax
call fcn.0046a970
add esp, 0x10
cmp byte [ebp - 0x25], 0
mov dword [ebp - 4], 2
jge 0x45fa3c
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x45fa3f
mov eax, 0x593554
jmp 0x45fa3f
lea eax, [ebp - 0x34]
push 0
push 1
push eax
call fcn.00462940
push 0x62d438
lea eax, [ebp - 0x20]
push str._s_bin_steamwebhelper.exe
push eax
call fcn.0046a970
add esp, 0x18
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 3
jge 0x45fa77
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45fa7a
mov eax, 0x593554
jmp 0x45fa7a
lea eax, [ebp - 0x20]
push 0
push 1
push eax
call fcn.00462940
add esp, 0xc
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 4
jge 0x45faa4
call fcn.004802a0
push 0
push dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
mov ecx, eax
call edx
cmp byte [ebp - 0x25], 0
mov dword [ebp - 4], 5
jge 0x45fac4
call fcn.004802a0
push 0
push dword [ebp - 0x34]
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 0x45f92e
push dword [edi + 4]
push str._install
call fcn.00579dc1
add esp, 8
test eax, eax
jne 0x45fb31
push eax
mov ecx, 0x62da60
call fcn.0045e080
test al, al
je 0x45fb67
call fcn.00463ee0
test al, al
je 0x45fb17
mov ecx, 0x62da60
call fcn.0045ca60
test al, al
jne 0x45fb17
lea ecx, [ebp - 0x64]
call fcn.0045ac90
push str._install_service_install_failed_n
jmp 0x45fb52
push 1
mov ecx, 0x62da60
call fcn.0045cd30
test al, al
je 0x45fb67
push str.Steam_Client_Service_install_completed.
jmp 0x45f92e
test bl, bl
je 0x45f936
cmp byte [0x62d438], 0
jne 0x45fb7d
lea ecx, [ebp - 0x94]
call fcn.0045ac90
push str.Steam_folder_not_found_n
push eax
push 1
push 1
push 3
push 4
push 0
push 0
call fcn.0045e650
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, 0x62da60
call fcn.0045d510
test al, al
jne 0x45f936
push edi
push dword [ebp + 8]
mov ecx, 0x62da60
call fcn.00460720
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