Function at 0x45f300
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 0x591b15
push eax
mov eax, 0x1078
mov dword fs:[0], esp
call fcn.0056b210
lea eax, [ebp + 8]
push esi
push eax
call fcn.004767f0
add esp, 4
mov esi, eax
cmp dword [ebp + 8], 2
mov dword [ebp - 0x20], esi
jge 0x45f35b
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.0045fa80
add esp, 4
mov eax, 1
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push ebx
push edi
push 0x5b211c
mov bl, 1
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov eax, dword [ebp + 8]
mov edi, 1
mov dword [ebp - 0x24], eax
cmp eax, edi
jle 0x45f3b5
lea esp, [esp]
push dword [esi + edi*4]
push str._hide
call fcn.00579a07
add esp, 8
test eax, eax
je 0x45f39c
inc edi
cmp edi, dword [ebp - 0x24]
jl 0x45f380
jmp 0x45f3b5
test edi, edi
je 0x45f3b5
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x62e4f0], bl
mov eax, dword [ebp + 8]
mov edi, 1
mov dword [ebp - 0x24], eax
cmp eax, edi
jle 0x45f44b
jmp 0x45f3d0
push dword [esi + edi*4]
push str._installscript
call fcn.00579a07
add esp, 8
test eax, eax
je 0x45f3ec
inc edi
cmp edi, dword [ebp - 0x24]
jl 0x45f3d0
jmp 0x45f44b
test edi, edi
jle 0x45f44b
mov ecx, dword [ebp + 8]
cmp ecx, edi
jle 0x45f44b
lea eax, [edi + 1]
xor ebx, ebx
cmp ecx, eax
jle 0x45f40e
push dword [esi + edi*4 + 8]
call fcn.00575b3a
add esp, 4
mov ebx, eax
push 0
push 0
lea edi, [esi + edi*4]
push ebx
push dword [edi + 4]
call fcn.004595d0
add esp, 0x10
test al, al
jne 0x45f43c
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045a9c0
push ebx
push dword [edi + 4]
push str._installscript_failed_on:__s:__d_n
jmp 0x45f4b4
push str.Install_script_executed.
call fcn.0045fa80
add esp, 4
xor bl, bl
push esi
push dword [ebp + 8]
push str._setupscript
call fcn.0045e6c0
mov edx, dword [ebp + 8]
mov edi, eax
add esp, 0xc
test edi, edi
jle 0x45f4f9
cmp edx, edi
jle 0x45f4f9
lea ecx, [edi + 1]
xor ebx, ebx
cmp edx, ecx
jle 0x45f488
push dword [esi + edi*4 + 8]
call fcn.00575b3a
add esp, 4
mov ebx, eax
push 0
push 1
lea edi, [esi + edi*4]
push ebx
push dword [edi + 4]
call fcn.004595d0
add esp, 0x10
test al, al
jne 0x45f4e7
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045a9c0
push ebx
push dword [edi + 4]
push str._setupscript_failed_on:__s:__d_n
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 8]
push ecx
push eax
push 1
push 1
push 3
push 4
push 0
push 0
call fcn.0045e580
add esp, 0x30
mov eax, 1
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push str.Setup_script_executed.
call fcn.0045fa80
mov edx, dword [ebp + 8]
add esp, 4
xor bl, bl
push esi
push edx
push str._setupsteam
call fcn.0045e6c0
add esp, 0xc
test eax, eax
jle 0x45f693
cmp dword [ebp + 8], eax
jle 0x45f693
mov eax, 0x22
push 0xffe
mov word [ebp - 0x1084], ax
lea eax, [ebp - 0x1082]
push 0
push eax
call fcn.0056cb60
lea eax, [ebp - 0x1083]
push 0xfff
push eax
call fcn.00476790
add esp, 0x14
test al, al
jne 0x45f566
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045a9c0
push str._setupsteam_to_get_current_executable_path_n
jmp 0x45fa01
lea eax, [ebp - 0x1084]
push eax
call fcn.00469a10
push 0xffffffffffffffff
push 0x1000
lea eax, [ebp - 0x1084]
push str.SteamSetup.exe_
push eax
call fcn.0046a040
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor edx, edx
mov dword [ebp - 0x10], 0x4000000
test eax, eax
mov dword [ebp - 0x14], edx
mov ecx, 0x594544
mov dword [ebp - 0x18], eax
cmovne ecx, edx
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], edx
call fcn.0045ef70
test eax, eax
je 0x45f5ea
push str._setupsteam
push eax
call fcn.00468da0
add esp, 8
test eax, eax
je 0x45f5ea
push 0xffffffffffffffff
add eax, 0xb
push 0x1000
push eax
lea eax, [ebp - 0x1084]
push eax
call fcn.0046a040
add esp, 0x10
lea eax, [ebp - 0x1084]
mov ecx, 0x62eb20
push eax
call fcn.0045da60
test al, al
jne 0x45f64b
cmp byte [ebp - 0x10], al
je 0x45f60f
push dword [ebp - 0x1c]
call fcn.0056b244
add esp, 4
cmp byte [ebp - 0xf], 0
je 0x45f620
push dword [ebp - 0x18]
call fcn.0056b244
add esp, 4
cmp byte [ebp - 0xe], 0
je 0x45fa60
push dword [ebp - 0x14]
call fcn.0056b244
add esp, 4
mov eax, 1
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push str.SteamSetup.exe_executed.
call fcn.0045fa80
xor bl, bl
mov dword [ebp - 4], 0xffffffff
add esp, 4
cmp byte [ebp - 0x10], bl
je 0x45f671
push dword [ebp - 0x1c]
call fcn.0056b244
add esp, 4
cmp byte [ebp - 0xf], 0
je 0x45f682
push dword [ebp - 0x18]
call fcn.0056b244
add esp, 4
cmp byte [ebp - 0xe], 0
je 0x45f693
push dword [ebp - 0x14]
call fcn.0056b244
add esp, 4
push dword [esi + 4]
push str._runfunc
call fcn.00579a07
add esp, 8
test eax, eax
jne 0x45f6f8
cmp dword [ebp + 8], 6
jl 0x45fa60
push dword [esi + 8]
call fcn.00575b17
push dword [esi + 0xc]
mov ebx, eax
call fcn.00575b17
push dword [esi + 0x10]
mov edi, eax
call fcn.00575b17
mov esi, eax
mov eax, dword [ebp - 0x20]
push dword [eax + 0x14]
call fcn.00575b17
add esp, 0x10
mov ecx, 0x62eb20
push eax
push esi
push edi
push ebx
call fcn.0045b150
test al, al
je 0x45fa60
mov esi, dword [ebp - 0x20]
xor bl, bl
push dword [esi + 4]
push str._extractguids
call fcn.00579a07
add esp, 8
test eax, eax
jne 0x45f7a9
cmp dword [ebp + 8], 3
jl 0x45fa60
push eax
push eax
push eax
lea ecx, [ebp - 0x5c]
call fcn.0046b5d0
mov edi, dword [esi + 8]
push str.wine_get_dos_file_name
push 0x5b21e8
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 0x45f805
test edi, edi
je 0x45f805
push edi
call eax
push 0
push 0
mov edi, eax
push 0
push edi
call fcn.0046d770
add esp, 0x14
lea ecx, [ebp - 0x5c]
mov esi, eax
push esi
call fcn.0046ba20
push 0
push esi
push dword [ebp - 0x58]
push edi
call fcn.0046d770
add esp, 0x10
mov ecx, 0x62eb20
push dword [ebp - 0x58]
call fcn.0045c700
test al, al
je 0x45f814
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
xor bl, bl
call fcn.0046a600
push dword [esi + 4]
push str._repair
call fcn.00579a07
add esp, 8
test eax, eax
jne 0x45f852
cmp byte [0x62e4f8], al
je 0x45f832
push eax
mov ecx, 0x62eb20
call fcn.0045df40
push 1
mov ecx, 0x62eb20
call fcn.0045cb80
push 0x62e4f8
push str.Steam_Client_Service___s__repair_completed._n
call fcn.0045fa80
add esp, 8
xor eax, eax
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push edi
mov ecx, 0x62eb20
call fcn.0045c700
test al, al
jne 0x45f798
lea ecx, [ebp - 0x5c]
call fcn.0046a600
pop edi
pop ebx
mov eax, 1
pop esi
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.0045fa80
add esp, 4
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push dword [esi + 4]
push str._repairlibrary
call fcn.00579a07
add esp, 8
test eax, eax
jne 0x45f88c
cmp dword [ebp + 8], 2
jle 0x45f88c
push dword [esi + 8]
mov ecx, 0x62eb20
call fcn.0045d8c0
pop edi
pop ebx
xor eax, eax
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push dword [esi + 4]
push str._clearcompatflags
call fcn.00579a07
add esp, 8
test eax, eax
jne 0x45f96d
push dword [0x6291f8]
lea eax, [ebp - 0x34]
push 0x62e4f8
push 0x5b244c
push eax
call fcn.0046a960
add esp, 0x10
cmp byte [ebp - 0x25], 0
mov dword [ebp - 4], 2
jge 0x45f8db
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x45f8de
mov eax, 0x594544
jmp 0x45f8de
lea eax, [ebp - 0x34]
push 0
push 1
push eax
call fcn.004625f0
push 0x62e4f8
lea eax, [ebp - 0x1c]
push str._s_bin_steamwebhelper.exe
push eax
call fcn.0046a960
add esp, 0x18
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 3
jge 0x45f916
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x45f919
mov eax, 0x594544
jmp 0x45f919
lea eax, [ebp - 0x1c]
push 0
push 1
push eax
call fcn.004625f0
add esp, 0xc
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 4
jge 0x45f943
call fcn.0047f9f0
push 0
push dword [ebp - 0x1c]
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 0x45f963
call fcn.0047f9f0
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 0x45f837
push dword [esi + 4]
push str._install
call fcn.00579a07
add esp, 8
test eax, eax
jne 0x45f9dc
push eax
mov ecx, 0x62eb20
call fcn.0045df40
test al, al
je 0x45fa60
call fcn.00463c60
test al, al
je 0x45f9be
mov ecx, 0x62eb20
call fcn.0045c870
test al, al
jne 0x45f9be
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045a9c0
push str._install_service_install_failed_n
jmp 0x45fa01
push 1
mov ecx, 0x62eb20
call fcn.0045cb80
test al, al
je 0x45fa60
push str.Steam_Client_Service_install_completed.
jmp 0x45f837
test bl, bl
je 0x45f83f
cmp byte [0x62e4f8], 0
jne 0x45fa34
push 0
push 0
lea ecx, [ebp - 0x84]
call fcn.0045a9c0
push str.Steam_folder_not_found_n
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 8]
push ecx
push eax
push 1
push 1
push 3
push 4
push 0
push 0
call fcn.0045e580
add esp, 0x28
mov eax, 1
pop edi
pop ebx
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push esi
push dword [ebp + 8]
mov ecx, 0x62eb20
call fcn.0045d350
test al, al
jne 0x45f83f
push esi
push dword [ebp + 8]
mov ecx, 0x62eb20
call fcn.00460240
test al, al
jne 0x45f83f
mov ecx, dword [ebp - 0xc]
mov eax, 1
pop edi
pop ebx
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret