Function at 0x45f570
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 0x590e45
push eax
mov eax, 0x1088
mov dword fs:[0], esp
call fcn.0056bba0
lea eax, [ebp + 8]
push edi
push eax
call fcn.00476fa0
add esp, 4
mov edi, eax
cmp dword [ebp + 8], 2
mov dword [ebp - 0x24], edi
jge 0x45f5cb
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.0045fc50
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 0x5b139c
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x45f625
jmp 0x45f5f0
push dword [edi + esi*4]
push str._hide
call fcn.00579a91
add esp, 8
test eax, eax
je 0x45f60b
inc esi
cmp esi, ebx
jl 0x45f5f0
jmp 0x45f625
test esi, esi
je 0x45f625
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [0x62d3f0], 1
mov ebx, dword [ebp + 8]
mov esi, 1
cmp ebx, esi
jle 0x45f64a
push dword [edi + esi*4]
push str._installscript
call fcn.00579a91
add esp, 8
test eax, eax
je 0x45f6bc
inc esi
cmp esi, ebx
jl 0x45f631
mov bl, byte [ebp - 0xd]
push edi
push dword [ebp + 8]
push str._setupsteam
call fcn.0045e600
add esp, 0xc
test eax, eax
jle 0x45f870
cmp dword [ebp + 8], eax
jle 0x45f870
mov eax, 0x22
push 0xffe
mov word [ebp - 0x1094], ax
lea eax, [ebp - 0x1092]
push 0
push eax
call fcn.0056d4f0
lea eax, [ebp - 0x1093]
push 0xfff
push eax
call fcn.00476f40
add esp, 0x14
test al, al
jne 0x45f743
lea ecx, [ebp - 0x64]
call fcn.0045aa50
push str._setupsteam_to_get_current_executable_path_n
jmp 0x45fbd9
test esi, esi
jle 0x45f64a
mov ecx, dword [ebp + 8]
cmp ecx, esi
jle 0x45f64a
lea eax, [esi + 1]
xor ebx, ebx
cmp ecx, eax
jle 0x45f6de
push dword [edi + esi*4 + 8]
call fcn.0057649d
add esp, 4
mov ebx, eax
push 0
lea esi, [edi + esi*4]
push ebx
push dword [esi + 4]
call fcn.00459670
add esp, 0xc
test al, al
jne 0x45f72f
lea ecx, [ebp - 0x64]
call fcn.0045aa50
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.0045e4c0
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.0045fc50
add esp, 4
xor bl, bl
jmp 0x45f64d
lea eax, [ebp - 0x1094]
push eax
call fcn.00469ed0
push 0xffffffffffffffff
push 0x1000
lea eax, [ebp - 0x1094]
push str.SteamSetup.exe_
push eax
call fcn.0046a500
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, 0x593544
mov dword [ebp - 0x1c], eax
cmovne ecx, edx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], edx
call fcn.0045f1e0
test eax, eax
je 0x45f7c7
push str._setupsteam
push eax
call fcn.00469410
add esp, 8
test eax, eax
je 0x45f7c7
push 0xffffffffffffffff
add eax, 0xb
push 0x1000
push eax
lea eax, [ebp - 0x1094]
push eax
call fcn.0046a500
add esp, 0x10
lea eax, [ebp - 0x1094]
mov ecx, 0x62da20
push eax
call fcn.0045d9b0
test al, al
jne 0x45f828
cmp byte [ebp - 0x14], al
je 0x45f7ec
push dword [ebp - 0x20]
call fcn.0056bbd4
add esp, 4
cmp byte [ebp - 0x13], 0
je 0x45f7fd
push dword [ebp - 0x1c]
call fcn.0056bbd4
add esp, 4
cmp byte [ebp - 0x12], 0
je 0x45fc30
push dword [ebp - 0x18]
call fcn.0056bbd4
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.0045fc50
xor bl, bl
mov dword [ebp - 4], 0xffffffff
add esp, 4
cmp byte [ebp - 0x14], bl
je 0x45f84e
push dword [ebp - 0x20]
call fcn.0056bbd4
add esp, 4
cmp byte [ebp - 0x13], 0
je 0x45f85f
push dword [ebp - 0x1c]
call fcn.0056bbd4
add esp, 4
cmp byte [ebp - 0x12], 0
je 0x45f870
push dword [ebp - 0x18]
call fcn.0056bbd4
add esp, 4
push dword [edi + 4]
push str._runfunc
call fcn.00579a91
add esp, 8
test eax, eax
jne 0x45f8d8
cmp dword [ebp + 8], 6
jl 0x45fc30
push dword [edi + 8]
call fcn.0057647a
push dword [edi + 0xc]
mov ebx, eax
call fcn.0057647a
mov edi, eax
mov eax, dword [ebp - 0x24]
push dword [eax + 0x10]
call fcn.0057647a
mov esi, eax
mov eax, dword [ebp - 0x24]
push dword [eax + 0x14]
call fcn.0057647a
add esp, 0x10
mov ecx, 0x62da20
push eax
push esi
push edi
push ebx
call fcn.0045b240
test al, al
je 0x45fc30
mov edi, dword [ebp - 0x24]
xor bl, bl
push dword [edi + 4]
push str._extractguids
call fcn.00579a91
add esp, 8
test eax, eax
jne 0x45f989
cmp dword [ebp + 8], 3
jl 0x45fc30
push eax
push eax
push eax
lea ecx, [ebp - 0x58]
call fcn.0046b940
mov esi, dword [edi + 8]
push str.wine_get_dos_file_name
push 0x5b1468
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 0x45f9e5
test esi, esi
je 0x45f9e5
push esi
call eax
push 0
push 0
mov edi, eax
push 0
push edi
call fcn.0046dc90
add esp, 0x14
lea ecx, [ebp - 0x58]
mov esi, eax
push esi
call fcn.0046be30
push 0
push esi
push dword [ebp - 0x58]
push edi
call fcn.0046dc90
add esp, 0x10
mov ecx, 0x62da20
push dword [ebp - 0x58]
call fcn.0045c730
test al, al
je 0x45f9f4
mov edi, dword [ebp - 0x24]
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
xor bl, bl
call fcn.00446fa0
push dword [edi + 4]
push str._repair
call fcn.00579a91
add esp, 8
test eax, eax
jne 0x45fa32
cmp byte [0x62d3f8], al
je 0x45fa12
push eax
mov ecx, 0x62da20
call fcn.0045dee0
push 1
mov ecx, 0x62da20
call fcn.0045cb70
push 0x62d3f8
push str.Steam_Client_Service___s__repair_completed._n
call fcn.0045fc50
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, 0x62da20
call fcn.0045c730
test al, al
jne 0x45f978
lea ecx, [ebp - 0x58]
call fcn.00446fa0
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.0045fc50
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.00579a91
add esp, 8
test eax, eax
jne 0x45fa6c
cmp dword [ebp + 8], 2
jle 0x45fa6c
push dword [edi + 8]
mov ecx, 0x62da20
call fcn.0045d830
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.00579a91
add esp, 8
test eax, eax
jne 0x45fb4d
push dword [0x6281ec]
lea eax, [ebp - 0x34]
push 0x62d3f8
push 0x5b16cc
push eax
call fcn.0046aaa0
add esp, 0x10
cmp byte [ebp - 0x25], 0
mov dword [ebp - 4], 2
jge 0x45fabb
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x45fabe
mov eax, 0x593544
jmp 0x45fabe
lea eax, [ebp - 0x34]
push 0
push 1
push eax
call fcn.00462aa0
push 0x62d3f8
lea eax, [ebp - 0x20]
push str._s_bin_steamwebhelper.exe
push eax
call fcn.0046aaa0
add esp, 0x18
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 3
jge 0x45faf6
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x45faf9
mov eax, 0x593544
jmp 0x45faf9
lea eax, [ebp - 0x20]
push 0
push 1
push eax
call fcn.00462aa0
add esp, 0xc
cmp byte [ebp - 0x11], 0
mov byte [ebp - 4], 4
jge 0x45fb23
call fcn.00480220
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 0x45fb43
call fcn.00480220
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 0x45fa17
push dword [edi + 4]
push str._install
call fcn.00579a91
add esp, 8
test eax, eax
jne 0x45fbb8
push eax
mov ecx, 0x62da20
call fcn.0045dee0
test al, al
je 0x45fc30
call fcn.00464040
test al, al
je 0x45fb9a
mov ecx, 0x62da20
call fcn.0045c8a0
test al, al
jne 0x45fb9a
lea ecx, [ebp - 0x64]
call fcn.0045aa50
push str._install_service_install_failed_n
jmp 0x45fbd9
push 1
mov ecx, 0x62da20
call fcn.0045cb70
test al, al
je 0x45fc30
push str.Steam_Client_Service_install_completed.
jmp 0x45fa17
test bl, bl
je 0x45fa1f
cmp byte [0x62d3f8], 0
jne 0x45fc04
lea ecx, [ebp - 0x94]
call fcn.0045aa50
push str.Steam_folder_not_found_n
push eax
push 1
push 1
push 3
push 4
push 0
push 0
call fcn.0045e4c0
add esp, 0x20
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 edi
push dword [ebp + 8]
mov ecx, 0x62da20
call fcn.0045d310
test al, al
jne 0x45fa1f
push edi
push dword [ebp + 8]
mov ecx, 0x62da20
call fcn.00460730
test al, al
jne 0x45fa1f
mov ecx, dword [ebp - 0xc]
mov eax, 1
pop esi
pop ebx
pop edi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret