Function at 0x45f6f0
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 0x591f25
push eax
mov eax, 0x1078
mov dword fs:[0], esp
call fcn.0056b4f0
lea eax, [ebp + 8]
push esi
push eax
call fcn.00476760
add esp, 4
mov esi, eax
cmp dword [ebp + 8], 2
mov dword [ebp - 0x20], esi
jge 0x45f74b
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.0045fe70
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 0x5b1d44
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 0x45f7a5
lea esp, [esp]
push dword [esi + edi*4]
push str._hide
call fcn.00579ce7
add esp, 8
test eax, eax
je 0x45f78c
inc edi
cmp edi, dword [ebp - 0x24]
jl 0x45f770
jmp 0x45f7a5
test edi, edi
je 0x45f7a5
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x62e4b8], bl
mov eax, dword [ebp + 8]
mov edi, 1
mov dword [ebp - 0x24], eax
cmp eax, edi
jle 0x45f83b
jmp 0x45f7c0
push dword [esi + edi*4]
push str._installscript
call fcn.00579ce7
add esp, 8
test eax, eax
je 0x45f7dc
inc edi
cmp edi, dword [ebp - 0x24]
jl 0x45f7c0
jmp 0x45f83b
test edi, edi
jle 0x45f83b
mov ecx, dword [ebp + 8]
cmp ecx, edi
jle 0x45f83b
lea eax, [edi + 1]
xor ebx, ebx
cmp ecx, eax
jle 0x45f7fe
push dword [esi + edi*4 + 8]
call fcn.00575e1a
add esp, 4
mov ebx, eax
push 0
push 0
lea edi, [esi + edi*4]
push ebx
push dword [edi + 4]
call fcn.00459700
add esp, 0x10
test al, al
jne 0x45f82c
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045aaf0
push ebx
push dword [edi + 4]
push str._installscript_failed_on:__s:__d_n
jmp 0x45f8a4
push str.Install_script_executed.
call fcn.0045fe70
add esp, 4
xor bl, bl
push esi
push dword [ebp + 8]
push str._setupscript
call fcn.0045eab0
mov edx, dword [ebp + 8]
mov edi, eax
add esp, 0xc
test edi, edi
jle 0x45f8e9
cmp edx, edi
jle 0x45f8e9
lea ecx, [edi + 1]
xor ebx, ebx
cmp edx, ecx
jle 0x45f878
push dword [esi + edi*4 + 8]
call fcn.00575e1a
add esp, 4
mov ebx, eax
push 0
push 1
lea edi, [esi + edi*4]
push ebx
push dword [edi + 4]
call fcn.00459700
add esp, 0x10
test al, al
jne 0x45f8d7
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045aaf0
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.0045e970
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.0045fe70
mov edx, dword [ebp + 8]
add esp, 4
xor bl, bl
push esi
push edx
push str._setupsteam
call fcn.0045eab0
add esp, 0xc
test eax, eax
jle 0x45fa83
cmp dword [ebp + 8], eax
jle 0x45fa83
mov eax, 0x22
push 0xffe
mov word [ebp - 0x1084], ax
lea eax, [ebp - 0x1082]
push 0
push eax
call fcn.0056ce40
lea eax, [ebp - 0x1083]
push 0xfff
push eax
call fcn.00476700
add esp, 0x14
test al, al
jne 0x45f956
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045aaf0
push str._setupsteam_to_get_current_executable_path_n
jmp 0x45fdf1
lea eax, [ebp - 0x1084]
push eax
call fcn.00469a70
push 0xffffffffffffffff
push 0x1000
lea eax, [ebp - 0x1084]
push str.SteamSetup.exe_
push eax
call fcn.0046a0a0
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.0045f360
test eax, eax
je 0x45f9da
push str._setupsteam
push eax
call fcn.00468e80
add esp, 8
test eax, eax
je 0x45f9da
push 0xffffffffffffffff
add eax, 0xb
push 0x1000
push eax
lea eax, [ebp - 0x1084]
push eax
call fcn.0046a0a0
add esp, 0x10
lea eax, [ebp - 0x1084]
mov ecx, 0x62eae8
push eax
call fcn.0045dd80
test al, al
jne 0x45fa3b
cmp byte [ebp - 0x10], al
je 0x45f9ff
push dword [ebp - 0x1c]
call fcn.0056b524
add esp, 4
cmp byte [ebp - 0xf], 0
je 0x45fa10
push dword [ebp - 0x18]
call fcn.0056b524
add esp, 4
cmp byte [ebp - 0xe], 0
je 0x45fe50
push dword [ebp - 0x14]
call fcn.0056b524
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.0045fe70
xor bl, bl
mov dword [ebp - 4], 0xffffffff
add esp, 4
cmp byte [ebp - 0x10], bl
je 0x45fa61
push dword [ebp - 0x1c]
call fcn.0056b524
add esp, 4
cmp byte [ebp - 0xf], 0
je 0x45fa72
push dword [ebp - 0x18]
call fcn.0056b524
add esp, 4
cmp byte [ebp - 0xe], 0
je 0x45fa83
push dword [ebp - 0x14]
call fcn.0056b524
add esp, 4
push dword [esi + 4]
push str._runfunc
call fcn.00579ce7
add esp, 8
test eax, eax
jne 0x45fae8
cmp dword [ebp + 8], 6
jl 0x45fe50
push dword [esi + 8]
call fcn.00575df7
push dword [esi + 0xc]
mov ebx, eax
call fcn.00575df7
push dword [esi + 0x10]
mov edi, eax
call fcn.00575df7
mov esi, eax
mov eax, dword [ebp - 0x20]
push dword [eax + 0x14]
call fcn.00575df7
add esp, 0x10
mov ecx, 0x62eae8
push eax
push esi
push edi
push ebx
call fcn.0045b280
test al, al
je 0x45fe50
mov esi, dword [ebp - 0x20]
xor bl, bl
push dword [esi + 4]
push str._extractguids
call fcn.00579ce7
add esp, 8
test eax, eax
jne 0x45fb99
cmp dword [ebp + 8], 3
jl 0x45fe50
push eax
push eax
push eax
lea ecx, [ebp - 0x5c]
call fcn.0046b5f0
mov edi, dword [esi + 8]
push str.wine_get_dos_file_name
push 0x5b1e10
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 0x45fbf5
test edi, edi
je 0x45fbf5
push edi
call eax
push 0
push 0
mov edi, eax
push 0
push edi
call fcn.0046d790
add esp, 0x14
lea ecx, [ebp - 0x5c]
mov esi, eax
push esi
call fcn.0046ba40
push 0
push esi
push dword [ebp - 0x58]
push edi
call fcn.0046d790
add esp, 0x10
mov ecx, 0x62eae8
push dword [ebp - 0x58]
call fcn.0045c830
test al, al
je 0x45fc04
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0xffffffff
xor bl, bl
call fcn.0046a620
push dword [esi + 4]
push str._repair
call fcn.00579ce7
add esp, 8
test eax, eax
jne 0x45fc42
cmp byte [0x62e4c0], al
je 0x45fc22
push eax
mov ecx, 0x62eae8
call fcn.0045e260
push 1
mov ecx, 0x62eae8
call fcn.0045ccb0
push 0x62e4c0
push str.Steam_Client_Service___s__repair_completed._n
call fcn.0045fe70
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, 0x62eae8
call fcn.0045c830
test al, al
jne 0x45fb88
lea ecx, [ebp - 0x5c]
call fcn.0046a620
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.0045fe70
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.00579ce7
add esp, 8
test eax, eax
jne 0x45fc7c
cmp dword [ebp + 8], 2
jle 0x45fc7c
push dword [esi + 8]
mov ecx, 0x62eae8
call fcn.0045dbe0
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.00579ce7
add esp, 8
test eax, eax
jne 0x45fd5d
push dword [0x629200]
lea eax, [ebp - 0x34]
push 0x62e4c0
push 0x5b1c1c
push eax
call fcn.0046a980
add esp, 0x10
cmp byte [ebp - 0x25], 0
mov dword [ebp - 4], 2
jge 0x45fccb
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x45fcce
mov eax, 0x594544
jmp 0x45fcce
lea eax, [ebp - 0x34]
push 0
push 1
push eax
call fcn.00462720
push 0x62e4c0
lea eax, [ebp - 0x1c]
push str._s_bin_steamwebhelper.exe
push eax
call fcn.0046a980
add esp, 0x18
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 3
jge 0x45fd06
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x45fd09
mov eax, 0x594544
jmp 0x45fd09
lea eax, [ebp - 0x1c]
push 0
push 1
push eax
call fcn.00462720
add esp, 0xc
cmp byte [ebp - 0xd], 0
mov byte [ebp - 4], 4
jge 0x45fd33
call fcn.0047f4e0
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 0x45fd53
call fcn.0047f4e0
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 0x45fc27
push dword [esi + 4]
push str._install
call fcn.00579ce7
add esp, 8
test eax, eax
jne 0x45fdcc
push eax
mov ecx, 0x62eae8
call fcn.0045e260
test al, al
je 0x45fe50
call fcn.00463d90
test al, al
je 0x45fdae
mov ecx, 0x62eae8
call fcn.0045c9a0
test al, al
jne 0x45fdae
push 0
push 0
lea ecx, [ebp - 0x5c]
call fcn.0045aaf0
push str._install_service_install_failed_n
jmp 0x45fdf1
push 1
mov ecx, 0x62eae8
call fcn.0045ccb0
test al, al
je 0x45fe50
push str.Steam_Client_Service_install_completed.
jmp 0x45fc27
test bl, bl
je 0x45fc2f
cmp byte [0x62e4c0], 0
jne 0x45fe24
push 0
push 0
lea ecx, [ebp - 0x84]
call fcn.0045aaf0
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.0045e970
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, 0x62eae8
call fcn.0045d480
test al, al
jne 0x45fc2f
push esi
push dword [ebp + 8]
mov ecx, 0x62eae8
call fcn.00460630
test al, al
jne 0x45fc2f
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