Function at 0x40fde0
Capabilities:
Create directory
Create thread
Query or enumerate registry value
Set environment variable
Set registry value
Write file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xe88
mov eax, dword [0x45c040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x45eb64]
xor eax, eax
mov word [ebp - 0xdc4], ax
mov ecx, esi
push edi
lea eax, [ebp - 0xdc4]
push eax
call dword [0x442244]
call esi
mov ecx, dword [ebx + 4]
add esp, 4
mov esi, dword [0x45f650]
mov dword [ebp - 0xe78], eax
push dword [ebp - 0xdc4]
push eax
push ecx
mov ecx, esi
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0xc
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f6a8]
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f62c]
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f414]
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eb68]
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45edd8]
call dword [0x442244]
call esi
add esp, 0x10
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f694]
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45e7bc]
call dword [0x442244]
call esi
mov edi, dword [0x45eafc]
add esp, 0x10
mov eax, dword [edi]
push 1
mov esi, dword [eax + 0x9c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45eafc]
push 1
mov eax, dword [edi]
mov esi, dword [eax + 0x188]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45eafc]
push 1
mov eax, dword [edi]
mov esi, dword [eax + 0x18c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp byte [0x45f632], 0
jne 0x4100a2
mov edi, dword [0x45f6a8]
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x108]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
lea eax, [ebp - 0xddc]
mov byte [ebp - 0x68], 0
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0xdf4], 1
push eax
lea eax, [ebp - 0xdf4]
mov dword [ebp - 0xddc], 0x19
push eax
push 2
push str.Language
xorps xmm0, xmm0
push str.SoftwareSteamLite
push 0x80000001
movaps xmmword [ebp - 0x80], xmm0
movq qword [ebp - 0x70], xmm0
call dword [sym.imp.ADVAPI32.dll_RegGetValueA]
nop dword [eax]
test eax, eax
jne 0x4100a2
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0xb0]
lea eax, [ebp - 0x80]
push eax
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp byte [0x45f632], 0
mov byte [0x45e595], 0
mov byte [0x45e374], 0
mov byte [0x45e8ec], 0
mov byte [0x45e34c], 0
mov byte [0x45eb5f], 0
mov byte [0x45edb3], 0
mov byte [0x45f40f], 0
mov byte [0x45e376], 0
mov byte [0x45f633], 0
mov byte [0x45f1f7], 0
mov byte [0x45e8ef], 0
mov byte [0x45ede0], 0
mov byte [0x45eb5e], 0
mov byte [0x45e8ee], 0
mov byte [0x45f41d], 0
mov byte [0x45eb5c], 0
mov byte [0x45f40e], 0
mov byte [0x45eb1f], 0
jne 0x4104e6
mov eax, dword [0x45f8bc]
test eax, eax
je 0x4104e6
push eax
push 0x452cd4
push 0xffffffffffffffff
mov dword [0x45e5a4], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x80]
mov dword [0x45f8bc], 0
push 0x14
push eax
movaps xmmword [ebp - 0x80], xmm0
movaps xmmword [ebp - 0x70], xmm0
movq qword [ebp - 0x60], xmm0
call fcn.00401640
add esp, 0x14
lea eax, [ebp - 0x80]
push eax
push 0x452cdc
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
push 0x64
lea eax, [ebp - 0xe60]
push 0
push eax
call fcn.0041f350
mov eax, dword [0x45e5a4]
add esp, 0xc
xorps xmm0, xmm0
and eax, 0xffffff
movlpd qword [ebp - 0xde8], xmm0
push dword [ebp - 0xde4]
push eax
push str._llu
push 0xffffffffffffffff
lea eax, [ebp - 0xe60]
push 0x32
push eax
call fcn.00401640
add esp, 0x18
lea eax, [ebp - 0xe60]
push eax
push 0x452cf4
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
cmp byte [0x45ede1], 0
jne 0x410348
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45edd8]
call dword [0x442244]
call esi
mov edi, dword [0x45edd8]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x41024a
mov edi, dword [0x45edd8]
push 1
mov eax, dword [edi]
mov esi, dword [eax + 0x114]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x60]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x41028d
mov edi, dword [0x45edd8]
push 1
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x64]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x68]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x4102ee
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4102ee
mov edi, dword [0x45edd8]
push 1
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x70]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45edd8]
push 0
push 0
push 1
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x138]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x41034f
nop dword [eax + eax]
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x13c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x410320
jmp 0x41034f
mov byte [0x45cce6], 0
push str.SteamLite
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExW]
movzx ecx, word [0x45f8cc]
mov esi, dword [0x45edc4]
push 0
push ecx
push dword [0x45eb60]
mov ecx, esi
mov dword [ebp - 0xddc], eax
push dword [0x45eafc]
call dword [0x442244]
call esi
mov edi, dword [0x45eafc]
add esp, 0x10
mov edx, dword [0x45e5a4]
and edx, 0xffffff
cmp byte [0x45e34d], 0
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
jne 0x4103bb
push 0
jmp 0x4103c0
push 0x45e7d8
push 0
push dword [0x45e5a0]
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax], edx
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
mov ecx, esi
call fcn.00405400
push eax
push str._nLaunchApp______s_n
call fcn.00403aa0
add esp, 8
test esi, esi
jne 0x4104e6
push esi
push esi
push esi
push 0x40fc20
push esi
push esi
call fcn.0042954c
add esp, 0x18
mov dword [0x45ede4], eax
test eax, eax
jne 0x410437
push 0x10
push str.SteamLite
push str.Failed_to_create_game_process_watcher_thread____applaunch_
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0xddc]
test eax, eax
je 0x410452
push 1
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp byte [0x45eb1e], 1
jne 0x4104e6
nop
call fcn.00414ec0
mov eax, dword [0x45ede4]
test eax, eax
je 0x410486
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x45ede4]
nop dword [eax]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push dword [ebp - 0xdc4]
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xe78]
mov esi, dword [0x45edc4]
mov ecx, esi
push edi
push eax
call dword [0x442244]
call esi
mov esi, dword [0x45f400]
add esp, 0x10
mov ecx, esi
push dword [ebp - 0xdc4]
push edi
call dword [0x442244]
call esi
add esp, 8
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b32c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str._nEnter_1_to_Change_language_n_n
mov byte [0x45f632], 0
call fcn.00403aa0
add esp, 4
push str.Enter_2_to_Register_activation_code_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_3_to_Download_Update_app_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_4_to_Download_Depot_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_5_to_Uninstall_app_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_6_to_Verify_app_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_7_to_Backup_or_Restore_app_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_8_to_Launch_app_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_9_to_Run_install_script_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_10_to_Set_your_friend_in_game_name_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_11_to_Add_additional_SteamApps_folders_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_12_to_enable_disable_Steam_Cloud_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_13_to_enable_offline_mode_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_14_to_open_DLC_menu_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_15_to_open_advanced_options_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_16_to_Clear_the_console_and_reprint_the_menu_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_17_to_Exit_n_n
call fcn.00403aa0
add esp, 4
cmp byte [0x45eb97], 1
jne 0x4105f7
push str.This_command_is_not_available_while_a_game_is_running__n_n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov byte [0x45eb97], 0
push 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x40], 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x44]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x44]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410630
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x44], al
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov esi, eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
test esi, esi
je 0x411dc8
cmp esi, 1
jne 0x410761
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f62c]
call dword [0x442244]
call esi
mov edi, dword [0x45f62c]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
mov byte [0x45e595], 1
jmp 0x410b50
mov byte [0x45eb97], 1
mov byte [0x45f632], 1
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xe78]
mov esi, dword [0x45edc4]
mov ecx, esi
push 1
push dword [ebp - 0xdc4]
push edi
push eax
call dword [0x442244]
call esi
mov esi, dword [0x45f400]
add esp, 0x10
mov ecx, esi
push dword [ebp - 0xdc4]
push edi
call dword [0x442244]
call esi
add esp, 8
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041b32c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp esi, 2
jne 0x410772
mov byte [0x45e374], 1
jmp 0x410b50
cmp esi, 3
jne 0x410785
mov byte [0x45e8ec], 1
nop
jmp 0x410b50
cmp esi, 4
jne 0x410796
mov byte [0x45e34c], 1
jmp 0x410b50
cmp esi, 5
jne 0x4107eb
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
mov byte [0x45eb5f], 1
jmp 0x410b50
cmp esi, 6
jne 0x410845
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
mov byte [0x45edb3], 1
nop dword [eax + eax]
jmp 0x410b50
cmp esi, 7
jne 0x4108a5
mov edi, dword [0x45f62c]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
mov byte [0x45f40f], 1
nop dword [eax + eax]
jmp 0x410b50
cmp esi, 8
jne 0x410928
mov edi, dword [0x45f62c]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
mov eax, dword [0x45ede4]
test eax, eax
je 0x41091c
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x45ede4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x45ede4], 0
mov byte [0x45f633], 1
jmp 0x410b50
cmp esi, 9
jne 0x4109aa
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f62c]
call dword [0x442244]
call esi
mov edi, dword [0x45f62c]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
mov byte [0x45f1f7], 1
jmp 0x410b50
cmp esi, 0xa
jne 0x4109bb
mov byte [0x45e8ef], 1
jmp 0x410b50
nop dword [eax + eax]
cmp esi, 0xb
jne 0x4109d1
mov byte [0x45e8ee], 1
jmp 0x410b50
cmp esi, 0xc
jne 0x410a87
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f62c]
call dword [0x442244]
nop
call esi
mov edi, dword [0x45f62c]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
cmp byte [0x45cce6], 1
jne 0x410a62
mov byte ds:[ebp - 0xdc6], al
mov eax, str._nSteam_Cloud_has_been_disabled_n
jmp 0x410a6e
mov byte [ebp - 0xdc6], 1
mov eax, str._nSteam_Cloud_has_been_enabled_n
push eax
call fcn.00403aa0
mov al, byte [ebp - 0xdc6]
add esp, 4
mov byte [0x45cce6], al
jmp 0x410701
cmp esi, 0xd
jne 0x410a98
mov byte [0x45f41d], 1
jmp 0x410b50
nop dword [eax + eax]
cmp esi, 0xe
jne 0x410b1f
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f62c]
call dword [0x442244]
call esi
mov edi, dword [0x45f62c]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x4106fa
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x4106fa
mov byte [0x45eb5c], 1
jmp 0x410b50
nop
cmp esi, 0xf
jne 0x410b2e
mov byte [0x45f40e], 1
jmp 0x410b60
cmp esi, 0x10
jne 0x410b3c
mov byte [0x45eb1f], 1
jmp 0x410b50
nop dword [eax]
cmp esi, 0x11
jne 0x410701
mov byte [0x45f41f], 1
cmp byte [0x45f40e], 1
jne 0x410d08
nop dword [eax]
cmp byte [0x45e377], 0
mov byte [0x45e376], 0
mov byte [0x45ede0], 0
mov byte [0x45eb5e], 0
jne 0x410b8e
nop
call fcn.00414ec0
mov cl, 1
call fcn.0040ed00
jmp 0x410b95
mov byte [0x45e377], 0
push str._nEnter_1_to_Generate_Update_CEG_file_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_2_to_Dump_app_ownership_ticket_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_3_to_Dump_encrypted_app_ticket_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_4_to_go_back_to_main_menu_n_n
call fcn.00403aa0
add esp, 4
cmp byte [0x45eb97], 1
jne 0x410bef
push str.This_command_is_not_available_while_a_game_is_running__n_n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov byte [0x45eb97], 0
push 0
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x1c]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x1c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410c25
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x1c], al
lea eax, [ebp - 0x1c]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov esi, eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
nop dword [eax]
test esi, esi
je 0x411dc8
cmp esi, 1
jne 0x410cca
mov edi, dword [0x45f62c]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x410cb7
mov edi, dword [0x45f62c]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x410cb7
mov byte [0x45e376], 1
jmp 0x410d01
mov byte [0x45eb97], 1
mov byte [0x45e377], 1
jmp 0x410b60
cmp esi, 2
je 0x410cfa
cmp esi, 3
je 0x410cf1
cmp esi, 4
jne 0x410b60
nop dword [eax]
call fcn.00414ec0
mov cl, 1
call fcn.0040ed00
jmp 0x410701
mov byte [0x45eb5e], 1
jmp 0x410d01
mov byte [0x45ede0], 1
mov byte [0x45e377], 1
cmp byte [0x45e595], 1
je 0x4145a5
cmp byte [0x45f41f], 1
nop dword [eax]
je 0x414451
cmp byte [0x45eb1f], 1
je 0x410cdd
cmp byte [0x45e8ee], 1
je 0x4142e5
cmp byte [0x45e374], 1
je 0x414065
cmp byte [0x45e8ef], 1
je 0x413edd
cmp byte [0x45f41d], 1
nop dword [eax]
je 0x413dda
xorps xmm0, xmm0
mov dword [ebp - 0xb0], 0
push str._nEnter_AppID:
movaps xmmword [ebp - 0xc0], xmm0
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0xc0]
push 0x14
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0xc0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410dc0
sub ecx, edx
dec ecx
cmp ecx, 0x14
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0xc0], al
lea eax, [ebp - 0xc0]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov dword [0x45e5a4], eax
call fcn.00428feb
cmp dword ds:[eax], 0x22
je 0x411dc8
cmp dword [0x45e5a4], 0
je 0x411dc8
lea eax, ds:[ebp - 0xc0]
push eax
push str.SteamAppId
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push 0x32
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.0041f350
mov eax, dword [0x45e5a4]
add esp, 0xc
xorps xmm0, xmm0
and eax, 0xffffff
movlpd qword [ebp - 0xde8], xmm0
push dword [ebp - 0xde4]
push eax
push 0x44ac44
push 0xffffffffffffffff
lea eax, [ebp - 0x204]
push 0x32
push eax
call fcn.00403be0
add esp, 0x18
lea eax, [ebp - 0x204]
push eax
push str.SteamGameId
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
cmp byte [0x45cce6], 1
jne 0x410fe6
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45edd8]
call dword [0x442244]
call esi
mov edi, dword [0x45edd8]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x410eec
mov edi, dword [0x45edd8]
push 1
mov eax, dword [edi]
mov esi, dword [eax + 0x114]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x60]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x410f2d
mov edi, dword [0x45edd8]
push 1
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x64]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x68]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x410f8e
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x410f8e
mov edi, dword [0x45edd8]
push 1
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x70]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45edd8]
push 0
push 0
push 1
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x138]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x410fe6
nop dword [eax + eax]
mov edi, dword [0x45edd8]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x13c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x410fc0
cmp byte [0x45eb5c], 1
je 0x413980
cmp byte [0x45e8ec], 1
nop word [eax + eax]
je 0x41310f
cmp byte [0x45e34c], 1
je 0x412f45
cmp byte [0x45eb5f], 1
nop word [eax + eax]
je 0x412d17
cmp byte [0x45edb3], 1
je 0x412845
cmp byte [0x45f40f], 1
nop word [eax + eax]
je 0x411f94
cmp byte [0x45e376], 1
jne 0x41121f
mov edi, dword [0x45f62c]
mov dword ds:[ebp - 0xdcc], 0
mov eax, dword [edi]
mov esi, dword [eax + 0x11c]
lea eax, [ebp - 0xdcc]
push eax
push 0
push 1
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
push dword [ebp - 0xdcc]
mov esi, eax
mov ecx, esi
call fcn.00405860
push eax
push str.RequestCustomBinaries______s______u_n
call fcn.00403aa0
add esp, 0xc
cmp esi, 2
je 0x410b60
cmp esi, 0x37
je 0x410b60
movzx eax, word [0x45f630]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45f65c]
push dword [0x45e360]
call dword [0x442244]
nop
call esi
movzx eax, word [0x45f630]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45f65c]
push dword [0x45e584]
call dword [0x442244]
call esi
add esp, 0x10
nop
mov esi, dword [0x45e360]
lea eax, [ebp - 0x70]
push eax
push dword [0x45eb7c]
xorps xmm0, xmm0
mov ecx, esi
movaps xmmword [ebp - 0x70], xmm0
call dword [0x442244]
call esi
add esp, 8
test al, al
je 0x4111ca
nop dword [eax]
mov eax, dword [ebp - 0x6c]
cmp eax, 0xf9078
jne 0x41117b
mov esi, dword [ebp - 0x68]
mov ecx, dword [esi]
call fcn.00405860
push eax
push dword [esi + 4]
push str._nRequesting_CEG_data_for_AppID______u_____EResult______s_n_n
call fcn.00403aa0
mov eax, dword [esi]
add esp, 0xc
cmp eax, 1
je 0x411178
cmp eax, 0x16
jne 0x411201
mov eax, dword [ebp - 0x6c]
nop dword [eax + eax]
cmp eax, 0xf9084
je 0x4111d7
push dword [0x45eb7c]
mov esi, dword [0x45e584]
mov ecx, esi
call dword [0x442244]
nop
call esi
mov esi, dword [0x45e360]
lea eax, [ebp - 0x70]
add esp, 4
mov ecx, esi
push eax
push dword [0x45eb7c]
call dword [0x442244]
call esi
add esp, 8
test al, al
jne 0x411140
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x411110
mov esi, dword ds:[ebp - 0x68]
mov ecx, dword [esi]
call fcn.00405860
push eax
push str.DFS_response______s_n
call fcn.00403aa0
lea eax, [esi + 4]
push eax
push str.DFS_response_____URL______s_n
call fcn.00403ae0
add esp, 0x10
push dword [0x45eb7c]
mov esi, dword [0x45e584]
mov ecx, esi
call dword [0x442244]
call esi
add esp, 4
jmp 0x410b60
cmp byte [0x45f633], 1
je 0x411c05
cmp byte [0x45f1f7], 1
je 0x411b2b
cmp byte [0x45ede0], 1
jne 0x4115ed
mov edi, dword [0x45f62c]
push 0
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x114]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
push dword [0x45e5a4]
push str._nRequesting_App_Ownership_Ticket_for_AppID______u..._n_n
call fcn.00403aa0
mov edi, dword [0x45f62c]
add esp, 8
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x1a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
mov dword [ebp - 0xe7c], esi
test esi, esi
je 0x4115d6
push esi
push str.Ticket_Length______u_n
call fcn.00403aa0
push esi
mov dword [ebp - 0xddc], 0
mov dword [ebp - 0xdf4], 0
mov dword [ebp - 0xdf8], 0
mov dword [ebp - 0xe74], 0
call fcn.0041b33f
add esp, 0xc
mov dword [ebp - 0xdcc], eax
push esi
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45f62c]
lea eax, [ebp - 0xe74]
add esp, 0xc
mov ecx, dword [edi]
push eax
lea eax, [ebp - 0xdf8]
push eax
mov esi, dword [ecx + 0x1ac]
lea eax, [ebp - 0xdf4]
push eax
lea eax, [ebp - 0xddc]
mov ecx, esi
push eax
push dword [ebp - 0xe7c]
push dword [ebp - 0xdcc]
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
test esi, esi
je 0x4115b6
push 0
push 0x45f420
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [ebp - 0xe74]
push dword [ebp - 0xdf8]
push dword [ebp - 0xdf4]
push dword [ebp - 0xddc]
push esi
push str.Ticket______u______u______u______u______u_n_n
call fcn.00403aa0
mov esi, dword [ebp - 0xdcc]
push dword [esi]
push str.Ticket_____Length______u_n
call fcn.00403aa0
push dword [esi + 4]
push str.Ticket_____Version______u_n
call fcn.00403aa0
add esp, 0x28
lea ecx, [esi + 8]
call fcn.00404d80
mov ecx, dword [esi + 0xc]
shr ecx, 0x14
and ecx, 0xf
mov dword [ebp - 0xdcc], eax
sub ecx, 0
je 0x4113d2
nop dword [eax + eax]
sub ecx, 1
je 0x4113d2
push dword [esi + 0xc]
push dword [esi + 8]
push 0x44ac44
jmp 0x4113e6
mov ecx, dword [esi + 8]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and ecx, 1
push eax
push ecx
push str.STEAM_0:_u:_u
push 0x40
push 0x45f990
call fcn.00403ba0
add esp, 0x14
push dword [ebp - 0xdcc]
push 0x45f990
push str.Ticket_____SteamID______s______s_n
call fcn.00403ae0
add esp, 0xc
push dword [esi + 0x10]
push str.Ticket_____AppID______u_n
call fcn.00403aa0
movzx eax, byte [esi + 0x14]
push eax
movzx eax, byte [esi + 0x15]
push eax
movzx eax, byte [esi + 0x16]
push eax
movzx eax, byte [esi + 0x17]
push eax
push str.Ticket_____ExternalIP______d._d._d._d_n
call fcn.00403aa0
movzx eax, byte [esi + 0x18]
add esp, 0x1c
push eax
movzx eax, byte [esi + 0x19]
push eax
movzx eax, byte [esi + 0x1a]
push eax
movzx eax, byte [esi + 0x1b]
push eax
push str.Ticket_____InternalIP______d._d._d._d_n
call fcn.00403aa0
add esp, 0x14
push dword [esi + 0x1c]
push str.Ticket_____OwnershipFlags______u_n
call fcn.00403aa0
push dword [esi + 0x20]
push str.Ticket_____TicketGeneration______u_n
call fcn.00403aa0
push dword ds:[esi + 0x24]
push str.Ticket_____TicketExpiration______u_n
call fcn.00403aa0
movzx eax, word [esi + 0x28]
push eax
push str.Ticket_____SubCount______hu_n
call fcn.00403aa0
movzx eax, word ds:[esi + 0x2e]
push eax
push str.Ticket_____DLCCount______hu_n
call fcn.00403aa0
push 0x454b98
call fcn.00403aa0
add esp, 0x2c
lea eax, [ebp - 0x598]
push 0x208
push 0
push eax
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x598]
push dword [0x45e5a4]
push 0x45f420
push 0x454b9c
push 0xffffffffffffffff
push 0x104
push eax
call fcn.00401640
add esp, 0x18
lea eax, [ebp - 0x598]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xdcc], eax
cmp eax, 0xffffffff
je 0x411585
lea eax, [ebp - 0x598]
push eax
push str.Writing_ticket_file_to______s_n
call fcn.00403aa0
mov edi, dword [ebp - 0xe7c]
lea eax, [ebp - 0xdd8]
add esp, 8
mov dword [ebp - 0xdd8], 0
push 0
push eax
push edi
push esi
push dword [ebp - 0xdcc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword ds:[ebp - 0xdcc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push 0
push esi
call fcn.00440bb0
add esp, 0xc
push esi
call fcn.0041b33a
add esp, 4
jmp 0x410b60
push str.Dumping_failed__failed_to_write_ticket_file__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
push dword [ebp - 0xe7c]
push 0
push esi
call fcn.00440bb0
add esp, 0xc
push esi
call fcn.0041b33a
add esp, 4
jmp 0x410b60
push str.Dumping_failed__Ticket_Size_____0__n
mov ecx, 0xc
call fcn.00414e80
mov esi, dword [ebp - 0xdcc]
add esp, 4
push dword [ebp - 0xe7c]
jmp 0x411567
push str.Dumping_failed__Ticket_Length_____0__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
jmp 0x410b60
cmp byte [0x45eb5e], 1
jne 0x410491
mov edi, dword [0x45f62c]
push 0
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x114]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
push dword [0x45e5a4]
push str._nRequesting_Encrypted_App_Ticket_for_AppID______u..._n_n
call fcn.00403aa0
movzx eax, word [0x45f8cc]
add esp, 8
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f6a8]
call dword [0x442244]
call esi
mov edi, dword [0x45f6a8]
add esp, 0x10
mov eax, dword [edi]
push 0
push dword [0x45e5a4]
mov esi, dword [eax + 0x48]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45f62c]
push 0
push 0
mov eax, dword [edi]
mov esi, dword [eax + 0x1e8]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
mov dword [ebp - 0xe80], eax
or ecx, edx
mov dword [ebp - 0xe7c], edx
jne 0x4116d9
push str.RequestEncryptedAppTicket_Failed__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov edi, dword [0x45f6a8]
push 0
push 0
mov eax, dword [edi]
mov esi, dword [eax + 0x48]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
jmp 0x410b60
mov edi, dword [0x45f6a8]
mov byte ds:[ebp - 0xdc6], 0
mov eax, dword [edi]
mov esi, dword [eax + 0x58]
lea eax, [ebp - 0xdc6]
push eax
push edx
push dword [ebp - 0xe80]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x411746
nop
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45f6a8]
mov eax, dword [edi]
mov esi, dword [eax + 0x58]
lea eax, [ebp - 0xdc6]
push eax
push dword [ebp - 0xe7c]
mov ecx, esi
push dword [ebp - 0xe80]
call dword [0x442244]
mov ecx, edi
call esi
test al, al
je 0x411710
cmp byte [ebp - 0xdc6], 1
jne 0x4117ea
mov ecx, 0xc
call fcn.00414de0
mov edi, dword [0x45f6a8]
push dword [ebp - 0xe7c]
push dword [ebp - 0xe80]
mov eax, dword [edi]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x411790
mov eax, str.None
jmp 0x4117c8
test ecx, ecx
jne 0x41179b
mov eax, str.Steam_Gone
jmp 0x4117c8
nop dword [eax + eax]
cmp ecx, 1
jne 0x4117ac
mov eax, str.Network_Failure
jmp 0x4117c8
cmp ecx, 2
jne 0x4117b8
mov eax, str.Invalid_Handle
jmp 0x4117c8
cmp ecx, 3
mov eax, str.Mismatched_Callback
mov ecx, str.Unknown_Steam_API_call_failure
cmovne eax, ecx
push eax
push str.IsAPICallCompleted_Failed______s__n
call fcn.00403aa0
add esp, 8
mov ecx, 7
call fcn.00414de0
jmp 0x4116b9
push 4
call fcn.0041b33f
mov edi, dword [0x45f6a8]
add esp, 4
mov dword [ebp - 0xdcc], eax
mov dword [eax], 0
mov byte [ebp - 0xdc5], 0
mov ecx, dword [edi]
mov esi, dword [ecx + 0x60]
lea ecx, [ebp - 0xdc5]
push ecx
push 0x9a
push 4
push eax
push dword [ebp - 0xe7c]
mov ecx, esi
push dword [ebp - 0xe80]
call dword [0x442244]
mov ecx, edi
call esi
nop dword [eax]
cmp al, 1
jne 0x411afb
cmp byte [ebp - 0xdc5], al
jne 0x4118fb
mov ecx, 0xc
call fcn.00414de0
mov edi, dword [0x45f6a8]
push dword [ebp - 0xe7c]
push dword [ebp - 0xe80]
mov eax, dword [edi]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x411893
mov eax, str.None
jmp 0x4118c8
test ecx, ecx
jne 0x41189e
mov eax, str.Steam_Gone
jmp 0x4118c8
nop
cmp ecx, 1
jne 0x4118ac
mov eax, str.Network_Failure
jmp 0x4118c8
cmp ecx, 2
jne 0x4118b8
mov eax, str.Invalid_Handle
jmp 0x4118c8
cmp ecx, 3
mov eax, str.Mismatched_Callback
mov ecx, str.Unknown_Steam_API_call_failure
cmovne eax, ecx
push eax
push str.GetAPICallResult_Failed_____pbFailed______s__n
call fcn.00403aa0
mov ecx, 7
call fcn.00414de0
mov esi, dword [ebp - 0xdcc]
push 4
push 0
push esi
call fcn.00440bb0
add esp, 0x14
push esi
call fcn.0041b33a
jmp 0x4116b6
mov esi, dword [ebp - 0xdcc]
mov ecx, dword [esi]
cmp ecx, 1
je 0x41194a
mov ecx, 0xc
call fcn.00414de0
mov ecx, dword [esi]
call fcn.00405860
push eax
push str.EncryptedAppTicketResponse_t_Failed______s__n
call fcn.00403aa0
mov ecx, 7
call fcn.00414de0
push 4
push 0
push esi
call fcn.00440bb0
add esp, 0x14
push esi
call fcn.0041b33a
jmp 0x4116b6
call fcn.00405860
push eax
push str.EncryptedAppTicketResponse_t______s__n_n
call fcn.00403aa0
push 4
push 0
push esi
call fcn.00440bb0
add esp, 0x14
push esi
call fcn.0041b33a
add esp, 4
push 0x400
call fcn.0041b33f
add esp, 4
mov dword [ebp - 0xe80], eax
push 0x400
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45f62c]
lea eax, [ebp - 0xdd4]
add esp, 0xc
mov dword [ebp - 0xdd4], 0
mov edx, dword [edi]
push eax
push 0x400
push dword [ebp - 0xe80]
mov esi, dword [edx + 0x1ec]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
je 0x411abe
mov eax, dword ds:[ebp - 0xdd4]
test eax, eax
je 0x411abe
push eax
push str.EncryptedAppTicket_____Size______u_n_n
call fcn.00403aa0
add esp, 8
push 0
push 0x45e5b0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [ebp - 0x598]
push 0
push eax
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x598]
push dword [0x45e5a4]
push 0x45e5b0
push str._sEncryptedTicket._u
push 0xffffffffffffffff
push 0x104
push eax
call fcn.00401640
add esp, 0x18
lea eax, [ebp - 0x598]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x411ab7
lea eax, ds:[ebp - 0x598]
push eax
push str.Writing_encrypted_ticket_file_to______s_n
call fcn.00403aa0
add esp, 8
mov dword [ebp - 0xdec], 0
lea eax, [ebp - 0xdec]
push 0
push eax
push dword [ebp - 0xdd4]
push dword [ebp - 0xe80]
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x411ad0
push str.Dumping_failed__failed_to_write_encrypted_ticket_file__n
jmp 0x411ac3
push str.Dumping_failed__GetEncryptedAppTicket_Failed__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov edi, dword [0x45f6a8]
push 0
push 0
mov eax, dword [edi]
mov esi, dword [eax + 0x48]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, dword [ebp - 0xe80]
push 0x400
jmp 0x411567
push str.GetAPICallResult_Failed__n
mov ecx, 0xc
call fcn.00414e80
mov esi, dword [ebp - 0xdcc]
add esp, 4
push 4
push 0
push esi
call fcn.00440bb0
add esp, 0xc
push esi
call fcn.0041b33a
jmp 0x4116b6
push 0x104
lea eax, [ebp - 0x390]
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
add esp, 0xc
mov eax, dword [edi]
push 0x104
mov esi, dword [eax + 0x14]
lea eax, [ebp - 0x390]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
add eax, 0xfffffffe
cmp eax, 0x101
ja 0x412f28
mov edi, dword [0x45f62c]
push 0
mov eax, dword [edi]
mov esi, dword [eax + 0x18c]
lea eax, [ebp - 0x390]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x412f28
mov edi, dword [0x45f62c]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x190]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
je 0x412f28
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x190]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x411bd2
mov byte [0x45f632], 1
nop
jmp 0x410491
mov edi, dword [0x45f62c]
push 0
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x114]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
push str._nEnter_launch_option__0_is_default_:
call fcn.00403aa0
add esp, 4
mov dword [ebp - 0xc], 0
mov byte [ebp - 8], 0
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0xc]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0xc]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411c70
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0xc], al
lea eax, [ebp - 0xc]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov dword [ebp - 0xddc], eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
push str._nEnter_1_to_launch_app_with_default_settings_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_2_to_launch_app_with_parameters_n_n
call fcn.00403aa0
add esp, 4
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x20], 0
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x24]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411d00
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x24], al
lea eax, [ebp - 0x24]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov edi, eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
nop dword [eax + eax]
test edi, edi
je 0x411dc8
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
add esp, 0x10
cmp edi, 1
je 0x411eb7
nop word [eax + eax]
cmp edi, 2
je 0x411ddd
push str._nEnter_launch_option__0_is_default_:
call fcn.00403aa0
add esp, 4
mov dword [ebp - 0xc], 0
mov byte [ebp - 8], 0
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0xc]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
jne 0x411c68
mov ecx, dword [ebp - 4]
xor al, al
pop edi
xor ecx, ebp
pop esi
call fcn.0041b32c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push str._nEnter_the_parameters_you_wish_to_add:
call fcn.00403aa0
add esp, 4
lea eax, [ebp - 0x6a0]
push 0x104
push 0
push eax
call fcn.0041f350
add esp, 0xc
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x6a0]
push 0x104
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x6a0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411e30
sub ecx, edx
dec ecx
cmp ecx, 0x104
jae 0x4147ad
push str.SteamLite
push 0
push 0
push 0
mov byte [ebp + ecx - 0x6a0], al
call dword [sym.imp.USER32.dll_FindWindowExW]
mov edi, dword [0x45eafc]
mov edx, dword [0x45e5a4]
mov dword [ebp - 0xdec], eax
and edx, 0xffffff
lea eax, [ebp - 0x6a0]
mov ecx, dword [edi]
push eax
push 0
push dword [ebp - 0xddc]
mov esi, dword [ecx + 8]
mov ecx, esi
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax], edx
call dword [0x442244]
mov ecx, edi
call esi
jmp 0x411f13
push str.SteamLite
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_FindWindowExW]
mov ecx, dword [0x45eafc]
mov esi, dword [0x45e5a4]
push 0
push 0
mov ecx, dword [ecx]
and esi, 0xffffff
push dword [ebp - 0xddc]
mov dword [ebp - 0xdec], eax
sub esp, 8
mov edi, dword [ecx + 8]
mov edx, esp
mov ecx, edi
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx], esi
call dword [0x442244]
mov ecx, dword [0x45eafc]
call edi
mov esi, eax
test esi, esi
jne 0x411f71
push eax
push eax
push eax
push 0x40fc20
push eax
push eax
call fcn.0042954c
add esp, 0x18
mov dword [0x45ede4], eax
test eax, eax
jne 0x411f4f
push 0x10
push str.SteamLite
push str.Failed_to_create_game_process_watcher_thread_
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword ds:[ebp - 0xdec]
test eax, eax
je 0x411f71
push 1
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, esi
call fcn.00405400
push eax
push str._nLaunchApp______s_n
call fcn.00403aa0
add esp, 8
mov byte [0x45f632], 1
jmp 0x410491
push str._nEnter_1_to_backup_app_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_2_to_restore_app_n_n
call fcn.00403aa0
add esp, 4
mov dword [ebp - 0x14], 0
mov byte [ebp - 0x10], 0
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x14]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
nop
lea ecx, [ebp - 0x14]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411fe6
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x14], al
lea eax, [ebp - 0x14]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov edi, eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
nop dword [eax]
test edi, edi
je 0x411dc8
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
movzx eax, word [0x45f630]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45f65c]
push dword [0x45e360]
call dword [0x442244]
call esi
movzx eax, word [0x45f630]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45f65c]
push dword [0x45e584]
call dword [0x442244]
nop
call esi
add esp, 0x10
cmp edi, 1
je 0x412525
cmp edi, 2
je 0x41210d
push str._nEnter_1_to_backup_app_n_n
nop dword [eax]
call fcn.00403aa0
add esp, 4
push str.Enter_2_to_restore_app_n_n
call fcn.00403aa0
add esp, 4
mov dword [ebp - 0x14], 0
mov byte [ebp - 0x10], 0
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x14]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
jne 0x411fe0
jmp 0x411dc8
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, 1
jne 0x412154
push str._nApp_is_installed__restore_skipped__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov byte [0x45f632], 1
jmp 0x410491
mov eax, dword [0x45edc0]
xor ecx, ecx
cmp eax, 1
jbe 0x4122b5
mov dword [ebp - 0xe7c], ecx
test eax, eax
je 0x41221b
nop word [eax + eax]
push 0x104
lea eax, [ebp - 0x390]
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
add esp, 0xc
mov eax, dword [edi]
push 0x104
mov esi, dword [eax + 0x128]
lea eax, [ebp - 0x390]
push eax
push dword [ebp - 0xe7c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, dword [ebp - 0xe7c]
add eax, 0xfffffffd
cmp eax, 0xff
ja 0x412208
lea eax, [ebp - 0x390]
push eax
push str._nFolder______s_n
call fcn.00403ae0
test esi, esi
jne 0x4121f5
push esi
jmp 0x4121f6
push esi
push str.Folder_ID______u_n
nop dword [eax + eax]
call fcn.00403aa0
add esp, 0x10
inc esi
mov dword [ebp - 0xe7c], esi
cmp esi, dword [0x45edc0]
jb 0x412180
push str._nEnter_the_ID_of_the_SteamApps_folder_you_want_to_use:
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x28], 0
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x2c]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x2c]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412260
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x2c], al
lea eax, [ebp - 0x2c]
push 0
push eax
call fcn.0042349d
add esp, 0xc
mov esi, eax
mov dword [ebp - 0xdec], esi
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
nop
cmp esi, dword [0x45edc0]
jb 0x4122af
xor ecx, ecx
jmp 0x4122b5
mov ecx, dword [ebp - 0xdec]
mov edi, dword [0x45eafc]
push 1
push ecx
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
mov ecx, esi
call fcn.00405400
push eax
push str._nPrepare_backup_install______s_n_n
call fcn.00403aa0
add esp, 8
test esi, esi
jne 0x412f28
push str.Enter_the_full_path_to_where_the_backup_is_located:
call fcn.00403aa0
add esp, 4
lea eax, [ebp - 0x9b0]
push 0x208
push esi
push eax
call fcn.0041f350
add esp, 0xc
push esi
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x9b0]
push 0x104
push eax
call fcn.00429fd6
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x9b0]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x412344
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 - 2]
cmp ecx, 0x208
jae 0x4147ad
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
mov word [ebp + ecx - 0x9b0], ax
lea eax, [ebp - 0x9b0]
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
jne 0x4123e5
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xe78]
mov esi, dword [0x45edc4]
mov ecx, esi
push 1
push dword [ebp - 0xdc4]
push edi
push eax
call dword [0x442244]
nop
call esi
mov esi, dword [0x45f400]
add esp, 0x10
mov ecx, esi
push dword [ebp - 0xdc4]
push edi
call dword [0x442244]
call esi
add esp, 8
jmp 0x411dc8
push edi
call fcn.0041b33f
add esp, 4
mov esi, eax
mov dword [ebp - 0xdcc], esi
push edi
push 0
push esi
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x9b0]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, dword [0x45eafc]
push dword [ebp - 0xdcc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0xfc]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
mov ecx, esi
call fcn.00405400
push eax
push str._nRestoreAppFromBackup______s_n_n
call fcn.00403aa0
add esp, 8
test esi, esi
jne 0x41282b
push str.Restoring_backup..._n_n
call fcn.00403aa0
mov edi, dword [0x45eafc]
add esp, 4
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov dword [ebp - 0xddc], eax
test al, 4
jne 0x4124ed
nop dword [eax + eax]
test eax, 0x200
jne 0x4124ed
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov dword [ebp - 0xddc], eax
test al, 4
je 0x4124b0
push str.Backup_successfully_restored__n
call fcn.00403aa0
add esp, 4
test dword [ebp - 0xddc], 0x200
je 0x41282b
push 0x30
push str.Restore
push str.Start_a_download_for_this_game_to_finish_the_restore
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
nop
jmp 0x41282b
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, 1
je 0x412568
push str._nApp_is_not_installed__backup_skipped__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov byte [0x45f632], 1
jmp 0x410491
mov edi, dword [0x45eafc]
xorps xmm0, xmm0
movlpd qword [ebp - 0xde8], xmm0
movlpd qword [ebp - 0xdf0], xmm0
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
lea eax, [ebp - 0xdf0]
push eax
lea eax, [ebp - 0xde8]
mov ecx, esi
push eax
push 0
push 0
push 1
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
mov eax, dword [ebp - 0xde8]
or eax, dword [ebp - 0xde4]
jne 0x4125da
push str._nGetAppContentInfo_Failed__n
lea ecx, [eax + 0xc]
call fcn.00414e80
add esp, 4
mov byte [0x45f632], 1
jmp 0x410491
push str._nEnter_the_full_path_to_where_the_backup_should_be_created:
nop
call fcn.00403aa0
add esp, 4
lea eax, [ebp - 0xbb8]
push 0x208
push 0
push eax
call fcn.0041f350
add esp, 0xc
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0xbb8]
push 0x104
push eax
call fcn.00429fd6
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0xbb8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x412631
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 - 2]
cmp ecx, 0x208
jae 0x4147ad
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
mov word [ebp + ecx - 0xbb8], ax
lea eax, [ebp - 0xbb8]
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
je 0x41239d
push edi
call fcn.0041b33f
add esp, 4
mov esi, eax
mov dword [ebp - 0xdcc], esi
push edi
push 0
push esi
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0xbb8]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push dword [ebp - 0xdcc]
mov edi, dword [0x45eafc]
push dword [ebp - 0xde4]
push dword [ebp - 0xde8]
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0xf0]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
movzx ecx, al
push ecx
push str._nBuildBackup______d_n_n
mov byte [ebp - 0xdc5], al
call fcn.00403aa0
add esp, 8
cmp byte [ebp - 0xdc5], 1
jne 0x41282b
nop dword [eax]
mov esi, dword [0x45e360]
lea eax, [ebp - 0x70]
push eax
push dword [0x45eb7c]
xorps xmm0, xmm0
mov ecx, esi
movaps xmmword [ebp - 0x70], xmm0
call dword [0x442244]
nop
call esi
add esp, 8
test al, al
je 0x412797
nop dword [eax]
cmp dword [ebp - 0x6c], 0x13880c
je 0x4127a5
push dword [0x45eb7c]
mov esi, dword [0x45e584]
mov ecx, esi
call dword [0x442244]
call esi
mov esi, dword [0x45e360]
lea eax, [ebp - 0x70]
add esp, 4
mov ecx, esi
push eax
push dword [0x45eb7c]
call dword [0x442244]
call esi
add esp, 8
test al, al
jne 0x412750
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x412720
mov esi, dword [ebp - 0x68]
mov eax, dword [esi + 4]
cmp eax, 1
jne 0x4127c6
push str._nSuccessfully_created_backup__n
call fcn.00403aa0
add esp, 4
jmp 0x412812
cmp eax, 0x16
jne 0x4127e5
push str._nCreating_backup..._n
call fcn.00403aa0
add esp, 4
jmp 0x412812
mov ecx, 0xc
call fcn.00414de0
mov ecx, dword [esi + 4]
call fcn.00405860
push eax
push str._nFailed_to_create_backup______s_n
call fcn.00403aa0
add esp, 8
mov ecx, 7
call fcn.00414de0
push dword [0x45eb7c]
mov esi, dword [0x45e584]
mov ecx, esi
call dword [0x442244]
call esi
add esp, 4
push dword [ebp - 0xdcc]
call fcn.0041b33a
add esp, 4
mov byte [0x45f632], 1
jmp 0x410491
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
mov edi, dword [0x45eafc]
add esp, 0x10
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, 1
je 0x4128b4
push str._nApp_is_not_installed__validation_skipped__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov byte [0x45f632], 1
jmp 0x410491
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
movzx ecx, al
push ecx
push str._nStartValidatingApp______d_n_n
mov byte [ebp - 0xdc5], al
call fcn.00403aa0
add esp, 8
cmp byte [ebp - 0xdc5], 1
jne 0x412f28
mov edi, dword [0x45eafc]
xor eax, eax
push dword [0x45e5a4]
mov dword [ebp - 0xe7c], eax
xorps xmm0, xmm0
mov byte [ebp - 0xdc5], 0
mov eax, dword [edi]
movlpd qword [ebp - 0xdf0], xmm0
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
call fcn.00405160
mov esi, eax
push esi
push str.Validating...______s_n
call fcn.00403ae0
push esi
call fcn.0041b33a
add esp, 0xc
lea eax, [ebp - 0xe70]
push 0x78
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
add esp, 0xc
mov eax, dword [edi]
mov esi, dword [eax + 0x50]
lea eax, [ebp - 0xe70]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
je 0x412cf9
movsd xmm0, qword [0x458258]
mov esi, dword [ebp - 0xdec]
mov edi, dword [ebp - 0xdf0]
movsd qword [ebp - 0x60], xmm0
movss xmm0, dword [0x458260]
movss dword [ebp - 0xdf8], xmm0
movss xmm0, dword [0x458264]
movss dword [ebp - 0xe74], xmm0
movss xmm0, dword [0x458268]
movss dword [ebp - 0xde4], xmm0
mov dword [ebp - 0xdd4], esi
mov dword [ebp - 0xe80], edi
nop word [eax + eax]
mov eax, dword ds:[ebp - 0xe60]
nop
cmp eax, dword [ebp - 0xe68]
jne 0x412cd9
mov eax, dword [ebp - 0xe5c]
cmp eax, dword [ebp - 0xe64]
jne 0x412cd9
mov eax, dword [ebp - 0xe50]
mov dword [ebp - 0xdd8], eax
mov eax, dword [ebp - 0xe4c]
mov dword [ebp - 0xdec], eax
mov eax, dword [ebp - 0xe58]
mov dword [ebp - 0xdf4], eax
mov eax, dword [ebp - 0xe54]
mov dword [ebp - 0xddc], eax
mov eax, edi
or eax, esi
je 0x412a7f
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
sub eax, edi
sbb edx, esi
mov dword [ebp - 0xdcc], edx
jne 0x412cb9
jb 0x412a7f
cmp eax, 0x5dc
ja 0x412cb9
mov edx, dword [ebp - 0xdec]
mov ecx, dword [ebp - 0xdd8]
call fcn.00440b30
mulsd xmm0, qword [ebp - 0x60]
mov edx, dword [ebp - 0xddc]
mov ecx, dword [ebp - 0xdf4]
movsd qword [ebp - 0xdf0], xmm0
call fcn.00440b30
movsd xmm1, qword [ebp - 0xdf0]
sub esp, 8
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0xdcc], xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.004298b2
add esp, 8
test eax, eax
jne 0x412af3
xorps xmm0, xmm0
movss dword [ebp - 0xdcc], xmm0
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
call fcn.00405160
movss xmm0, dword [ebp - 0xdcc]
mov esi, eax
comiss xmm0, dword [ebp - 0xdf8]
mov eax, dword [ebp - 0xe7c]
jb 0x412b4b
test eax, eax
jne 0x412b4b
mov dword [ebp - 0xe7c], 1
jmp 0x412b99
comiss xmm0, dword [ebp - 0xe74]
jb 0x412b78
nop dword [eax + eax]
cmp eax, 1
jne 0x412b78
mov dword [ebp - 0xe7c], 2
jmp 0x412b99
comiss xmm0, dword ds:[ebp - 0xde4]
jb 0x412bb5
cmp eax, 2
jne 0x412bb5
mov dword [ebp - 0xe7c], 3
cvtps2pd xmm0, xmm0
sub esp, 8
lfence
movsd qword [esp], xmm0
push esi
push str.Validating...______s_____Progress______.2f___n
call fcn.00403ae0
add esp, 0x10
push esi
call fcn.0041b33a
movss xmm0, dword [ebp - 0xdcc]
add esp, 4
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x412be5
mov byte ds:[ebp - 0xdc5], 1
jmp 0x412bf2
cmp byte [ebp - 0xdc5], 1
jne 0x412c36
mov ecx, dword [ebp - 0xe80]
mov edx, dword [ebp - 0xdd4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x412c42
mov eax, ecx
or eax, edx
jne 0x412c42
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
movss xmm0, dword [ebp - 0xdcc]
mov ecx, eax
mov dword [ebp - 0xe80], ecx
mov dword [ebp - 0xdd4], edx
jmp 0x412c42
mov edx, dword [ebp - 0xdd4]
mov ecx, dword [ebp - 0xe80]
ucomiss xmm0, dword [0x45826c]
lahf
test ah, 0x44
jp 0x412c72
mov eax, ecx
or eax, edx
jne 0x412c72
nop dword [eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [ebp - 0xe80], eax
mov dword [ebp - 0xdd4], edx
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45eafc]
mov eax, dword [edi]
mov esi, dword [eax + 0x50]
lea eax, [ebp - 0xe70]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop
test al, al
je 0x412cf9
mov esi, dword [ebp - 0xdd4]
mov edi, dword [ebp - 0xe80]
jmp 0x4129f0
push 0x40
push str.Validation
push str.Validation_finished__no_missing_or_corrupt_files_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [0x45f632], 1
jmp 0x410491
push 0x40
push str.Validation
push str.The_missing_or_corrupt_files_are_being_downloaded_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [0x45f632], 1
jmp 0x410491
push str.GetUpdateInfo_Failed__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
mov byte [0x45f632], 1
jmp 0x410491
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
mov edi, dword [0x45eafc]
add esp, 0x10
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop dword [eax]
test al, 1
je 0x412d7f
push str._nApp_is_not_installed__uninstall_skipped__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
jmp 0x410701
push 0x104
lea eax, [ebp - 0x390]
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
add esp, 0xc
mov eax, dword [edi]
push 0x104
mov esi, dword [eax + 0x14]
lea eax, [ebp - 0x390]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
add eax, 0xfffffffe
push 1
cmp eax, 0x101
ja 0x412f34
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x18c]
lea eax, [ebp - 0x390]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x412e46
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x190]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
je 0x412e46
nop
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x190]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x412e20
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
mov ecx, esi
call fcn.00405400
push eax
push str._nUninstallApp______s_n_n
call fcn.00403aa0
add esp, 8
test esi, esi
jne 0x412f28
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, 1
jne 0x412eee
push str.Uninstalling..._n
call fcn.00403aa0
add esp, 4
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword ds:[edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, 1
je 0x412eb2
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
call fcn.00405160
mov esi, eax
push esi
push str._nUninstall_complete_______s_n
call fcn.00403ae0
push esi
call fcn.0041b33a
add esp, 0xc
mov byte [0x45f632], 1
jmp 0x410491
mov byte [0x45f632], 1
nop dword [eax + eax]
jmp 0x410493
xorps xmm0, xmm0
mov dword [ebp - 0x110], 0
push str._nEnter_the_Depot_ID_you_want_to_download:
movaps xmmword [ebp - 0x120], xmm0
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x120]
push 0x14
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x120]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x412fa0
sub ecx, edx
dec ecx
cmp ecx, 0x14
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x120], al
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov esi, eax
mov dword [ebp - 0xdd8], esi
call fcn.00428feb
cmp dword ds:[eax], 0x22
je 0x411dc8
test esi, esi
je 0x411dc8
xorps xmm0, xmm0
mov word [ebp - 0x130], 0
push str._nEnter_the_Manifest_ID_you_want_to_download__Zero_is_the_latest_version_:
movaps xmmword [ebp - 0x150], xmm0
movaps xmmword [ebp - 0x140], xmm0
mov byte [ebp - 0x12e], 0
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x150]
push 0x23
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x150]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413051
sub ecx, edx
dec ecx
cmp ecx, 0x23
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x150], al
lea eax, [ebp - 0x150]
push 0
push eax
call fcn.00423529
add esp, 0xc
mov dword [ebp - 0xdec], eax
mov dword [ebp - 0xde4], edx
call fcn.00428feb
cmp dword ds:[eax], 0x22
je 0x411dc8
movzx ecx, word [0x45f8cc]
mov esi, dword [0x45edc4]
push 0
push ecx
push dword [0x45eb60]
mov ecx, esi
push dword [0x45f694]
call dword [0x442244]
call esi
mov edi, dword [0x45f694]
add esp, 0x10
mov esi, dword [edi]
push 0
push 0
push 0
mov esi, dword [esi + 8]
mov ecx, esi
push 0
push dword [ebp - 0xde4]
push dword [ebp - 0xdec]
push 0
push 0
push dword [ebp - 0xdd8]
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
jmp 0x410701
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
mov edi, dword [0x45eafc]
add esp, 0x10
mov dword [ebp - 0xdec], 0
mov dword [ebp - 0xde4], 0
mov eax, dword [edi]
mov esi, dword [eax + 0x84]
lea eax, [ebp - 0xde4]
push eax
lea eax, [ebp - 0xdec]
mov ecx, esi
push eax
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
mov dword [ebp - 0xdd8], esi
test esi, esi
je 0x413479
push 0x453a24
call fcn.00403ae0
add esp, 4
mov dword [ebp - 0xdcc], 0
test esi, esi
je 0x41330c
nop dword [eax]
push 0x80
call fcn.0041b33f
add esp, 4
mov dword [ebp - 0xddc], eax
push 0x80
push 0
push eax
call fcn.0041f350
add esp, 0xc
push 0x80
call fcn.0041b33f
add esp, 4
mov dword [ebp - 0xdf4], eax
push 0x80
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
lea eax, [ebp - 0xdf8]
add esp, 0xc
mov dword [ebp - 0xe74], 0
mov dword [ebp - 0xdf8], 0
mov esi, dword [edi]
push 0x80
push dword [ebp - 0xdf4]
mov esi, dword [esi + 0x88]
mov ecx, esi
push 0x80
push dword [ebp - 0xddc]
push eax
lea eax, [ebp - 0xe74]
push eax
push dword [ebp - 0xdcc]
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
mov esi, dword [ebp - 0xddc]
push esi
push str.Name______s_n
call fcn.00403ae0
mov edi, dword [ebp - 0xdf4]
push edi
push str.Description______s_n
call fcn.00403ae0
push dword [ebp - 0xdf8]
push str.BuildID______u_n
call fcn.00403ae0
mov ecx, dword [ebp - 0xe74]
add esp, 0x18
cmp ecx, 0x1b
jne 0x4132a5
mov eax, str.Public
nop dword [eax]
jmp 0x4132c8
cmp ecx, 4
jne 0x4132b8
mov eax, str.Password_Protected
jmp 0x4132c8
cmp ecx, 2
mov eax, str.Not_Password_Protected
mov ecx, str.Unknown_Flag
cmovne eax, ecx
push eax
push str.Flag______s_n_n
call fcn.00403ae0
push esi
call fcn.0041b33a
add esp, 0xc
push edi
call fcn.0041b33a
mov eax, dword ds:[ebp - 0xdcc]
add esp, 4
inc eax
mov dword [ebp - 0xdcc], eax
cmp eax, dword [ebp - 0xdd8]
jb 0x4131b0
push 0x80
lea eax, [ebp - 0x288]
push 0
push eax
call fcn.0041f350
add esp, 0xc
push str.Enter_the_name_of_the_beta_you_want_to_install_or_leave_empty_for_no_beta_or_to_leave_beta:
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x288]
push 0x80
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x288]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413360
sub ecx, edx
dec ecx
cmp ecx, 0x80
jae 0x4147ad
push 0x104
mov byte [ebp + ecx - 0x288], al
lea eax, [ebp - 0x7a8]
push 0
push eax
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x498]
push 0x104
push 0
push eax
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x288]
push eax
push str.depots_branches__s_buildid
push 0xffffffffffffffff
lea eax, [ebp - 0x7a8]
push 0x104
push eax
call fcn.00403be0
movzx eax, word [0x45f8cc]
add esp, 0x14
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f414]
call dword [0x442244]
call esi
mov edi, dword [0x45f414]
add esp, 0x10
mov eax, dword [edi]
push 0x104
mov esi, dword [eax]
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x7a8]
mov ecx, esi
push eax
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
je 0x413454
lea eax, ds:[ebp - 0x498]
push eax
lea eax, [ebp - 0x288]
push eax
push str._n_s______s_n
call fcn.00403ae0
add esp, 0xc
lea ecx, [ebp - 0x288]
push ecx
jmp 0x413459
push str.Public
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x90]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov eax, dword [0x45edc0]
xor ecx, ecx
cmp eax, 1
jbe 0x4135d9
mov dword [ebp - 0xdcc], ecx
test eax, eax
je 0x41353b
nop word [eax + eax]
push 0x104
lea eax, [ebp - 0x390]
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
add esp, 0xc
mov eax, dword [edi]
push 0x104
mov esi, dword [eax + 0x128]
lea eax, [ebp - 0x390]
push eax
push dword [ebp - 0xdcc]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, dword [ebp - 0xdcc]
add eax, 0xfffffffd
cmp eax, 0xff
ja 0x413528
lea eax, [ebp - 0x390]
push eax
push str._nFolder______s_n
call fcn.00403ae0
test esi, esi
jne 0x413515
push esi
jmp 0x413516
push esi
push str.Folder_ID______u_n
nop dword [eax + eax]
call fcn.00403aa0
add esp, 0x10
inc esi
mov dword [ebp - 0xdcc], esi
cmp esi, dword [0x45edc0]
jb 0x4134a0
push str._nEnter_the_ID_of_the_SteamApps_folder_you_want_to_use:
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 0
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x3c]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x3c]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413580
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x3c], al
lea eax, [ebp - 0x3c]
push 0
push eax
call fcn.0042349d
add esp, 0xc
mov esi, eax
mov dword [ebp - 0xdd8], esi
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
nop
cmp esi, dword [0x45edc0]
jb 0x4135d3
xor ecx, ecx
jmp 0x4135d9
mov ecx, dword [ebp - 0xdd8]
mov edi, dword [0x45eafc]
push 0
push ecx
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov esi, eax
mov ecx, esi
call fcn.00405400
push eax
push str._nInstallApp______s_n_n
call fcn.00403aa0
add esp, 8
test esi, esi
jne 0x410701
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
call fcn.00405160
mov esi, eax
push esi
push str.Installing...______s_n
call fcn.00403ae0
push esi
call fcn.0041b33a
add esp, 0xc
xor eax, eax
mov dword [ebp - 0xe7c], eax
push 0x78
push eax
lea eax, [ebp - 0xe70]
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
add esp, 0xc
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
mov dword [ebp - 0xdd8], eax
call fcn.00405160
mov ecx, eax
mov eax, dword [ebp - 0xdd8]
and al, 6
mov dword [ebp - 0xdd4], ecx
cmp al, 4
je 0x413872
mov edi, dword [0x45eafc]
mov eax, dword [edi]
mov esi, dword [eax + 0x50]
lea eax, [ebp - 0xe70]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
je 0x41394b
mov ecx, dword [ebp - 0xe60]
mov edi, dword [ebp - 0xe68]
mov edx, dword [ebp - 0xe5c]
mov esi, dword [ebp - 0xe64]
cmp ecx, edi
jne 0x413720
nop dword [eax]
cmp edx, esi
jne 0x413720
mov ecx, dword [ebp - 0xe50]
mov edx, dword [ebp - 0xe4c]
mov edi, dword [ebp - 0xe58]
mov esi, dword [ebp - 0xe54]
call fcn.00440b30
mulsd xmm0, qword [0x458258]
mov edx, esi
mov ecx, edi
movsd qword [ebp - 0x60], xmm0
call fcn.00440b30
movsd xmm1, qword [ebp - 0x60]
sub esp, 8
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [ebp - 0xdd8], xmm0
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0xde0], xmm0
movsd qword [esp], xmm0
call fcn.004298b2
add esp, 8
test eax, eax
je 0x413815
movss xmm0, dword [ebp - 0xdd8]
comiss xmm0, dword [0x458260]
mov eax, dword [ebp - 0xe7c]
jb 0x4137a5
test eax, eax
jne 0x4137a5
mov dword [ebp - 0xe7c], 1
jmp 0x4137c5
comiss xmm0, dword [0x458264]
jb 0x4137f1
cmp eax, 1
jne 0x4137f1
mov dword [ebp - 0xe7c], 2
sub esp, 8
lfence
movsd xmm0, qword [ebp - 0xde0]
mov esi, dword [ebp - 0xdd4]
movsd qword [esp], xmm0
push esi
push str.Installing...______s_____Progress______.2f___n
call fcn.00403ae0
add esp, 0x10
jmp 0x41381b
comiss xmm0, dword [0x458268]
jb 0x413815
nop
cmp eax, 2
jne 0x413815
mov dword [ebp - 0xe7c], 3
jmp 0x4137c5
mov esi, dword [ebp - 0xdd4]
push esi
call fcn.0041b33a
add esp, 4
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45eafc]
push dword [0x45e5a4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, eax
mov dword [ebp - 0xdd8], eax
call fcn.00405160
mov ecx, eax
mov dword [ebp - 0xdd4], eax
mov eax, dword [ebp - 0xdd8]
and al, 6
cmp al, 4
jne 0x4136b1
push ecx
push str._nInstall_Update_complete_______s_n
call fcn.00403ae0
push 0x104
lea eax, [ebp - 0x498]
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45eafc]
add esp, 0x14
mov eax, dword [edi]
push 0x104
mov esi, dword [eax + 0x14]
lea eax, [ebp - 0x498]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
add eax, 0xfffffffe
cmp eax, 0x101
ja 0x410701
mov edi, dword [0x45f62c]
push 0
mov eax, dword [edi]
mov esi, dword [eax + 0x18c]
lea eax, [ebp - 0x498]
push eax
push dword [0x45e5a4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x410701
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x190]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
je 0x410701
nop
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x190]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
jne 0x413920
jmp 0x410701
push str.GetUpdateInfo_Failed__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
jmp 0x410701
push esi
mov esi, dword [eax + 0x30]
mov ecx, esi
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
nop dword [eax + eax]
cmp byte [0x45e377], 0
jne 0x413997
call fcn.00414ec0
jmp 0x41399e
mov byte [0x45e377], 0
push str._nEnter_1_to_list_all_DLC_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_2_to_enable_DLC_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_3_to_disable_DLC_n_n
call fcn.00403aa0
add esp, 4
push str.Enter_4_to_go_back_to_main_menu_n_n
call fcn.00403aa0
add esp, 4
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x30], 0
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x34]
push 5
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x34]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413a10
sub ecx, edx
dec ecx
cmp ecx, 5
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x34], al
lea eax, [ebp - 0x34]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov edi, eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
test edi, edi
je 0x411dc8
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f414]
call dword [0x442244]
call esi
movzx eax, word [0x45f8cc]
add esp, 0x10
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
add esp, 0x10
cmp edi, 1
jne 0x413c38
push 0x453a24
call fcn.00403ae0
mov edi, dword [0x45f414]
add esp, 4
mov eax, dword [edi]
push dword [0x45e5a4]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov dword [ebp - 0xde4], eax
test eax, eax
je 0x413980
mov dword [ebp - 0xe80], 0
nop word [eax + eax]
push 0x12c
mov dword [ebp - 0xdcc], 0
mov byte [ebp - 0xdc5], 0
call fcn.0041b33f
add esp, 4
mov dword [ebp - 0xe7c], eax
push 0x12c
push 0
push eax
call fcn.0041f350
mov edi, dword [0x45f414]
lea eax, [ebp - 0xdc5]
add esp, 0xc
mov ecx, dword [edi]
push 0x12c
push dword [ebp - 0xe7c]
mov esi, dword [ecx + 0x24]
mov ecx, esi
push eax
lea eax, [ebp - 0xdcc]
push eax
push dword [ebp - 0xe80]
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x413bf8
mov edi, dword [0x45eafc]
mov byte ds:[ebp - 0xdc6], 0
mov eax, dword [edi]
mov esi, dword [eax + 0x2c]
lea eax, [ebp - 0xdc6]
push eax
push dword [ebp - 0xdcc]
mov ecx, esi
push dword [0x45e5a4]
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45eafc]
push dword [ebp - 0xdcc]
mov byte [ebp - 0xe81], al
push dword [0x45e5a4]
mov edx, dword [edi]
mov esi, dword [edx + 0x24]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
movzx ecx, byte [ebp - 0xe81]
push ecx
movzx eax, al
push eax
push dword [ebp - 0xdcc]
push dword [ebp - 0xe7c]
push str._s______u_____Installed______d_____Enabled______d_n
call fcn.00403ae0
add esp, 0x14
push dword ds:[ebp - 0xe7c]
call fcn.0041b33a
mov eax, dword ds:[ebp - 0xe80]
add esp, 4
inc eax
mov dword [ebp - 0xe80], eax
cmp eax, dword [ebp - 0xde4]
jb 0x413b00
mov byte [0x45e377], 1
jmp 0x413980
nop dword [eax + eax]
cmp edi, 2
jne 0x413cf7
xorps xmm0, xmm0
mov dword [ebp - 0xf0], 0
push str._nEnter_DLC_AppID:
movaps xmmword [ebp - 0x100], xmm0
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x100]
push 0x14
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x100]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413ca0
sub ecx, edx
dec ecx
cmp ecx, 0x14
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0x100], al
lea eax, [ebp - 0x100]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov esi, eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
nop dword [eax]
test esi, esi
je 0x411dc8
mov edi, dword [0x45eafc]
push 1
mov eax, dword [edi]
jmp 0x413965
nop word [eax + eax]
cmp edi, 3
jne 0x413db7
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
push str._nEnter_DLC_AppID:
movaps xmmword [ebp - 0xe0], xmm0
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0xe0]
push 0x14
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0xe0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x413d60
sub ecx, edx
dec ecx
cmp ecx, 0x14
jae 0x4147ad
push 0xa
mov byte [ebp + ecx - 0xe0], al
lea eax, [ebp - 0xe0]
push 0
push eax
call fcn.004234e3
add esp, 0xc
mov esi, eax
call fcn.00428feb
cmp dword [eax], 0x22
je 0x411dc8
nop dword [eax]
test esi, esi
je 0x411dc8
mov edi, dword [0x45eafc]
push 0
mov eax, dword [edi]
jmp 0x413965
nop word [eax + eax]
cmp edi, 4
jne 0x413980
call fcn.00414ec0
mov cl, 1
call fcn.0040ed00
jmp 0x410701
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f6a8]
call dword [0x442244]
nop
call esi
mov edi, dword [0x45f62c]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x364]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop
cmp eax, 1
jne 0x410701
mov edi, dword [0x45f6a8]
mov eax, dword [edi]
mov esi, dword [eax + 0x44]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x410701
mov edi, dword [0x45f62c]
push 1
mov eax, dword [edi]
mov esi, dword [eax + 0x368]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45f6a8]
cmp eax, 1
mov dword [ebp - 0xde4], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x44]
mov ecx, esi
jne 0x413eb1
call dword [0x442244]
mov ecx, edi
call esi
movzx eax, al
mov ecx, 1
push eax
call fcn.00405860
push eax
push str.LogOnOffline______s______d_n
call fcn.00403aa0
add esp, 0xc
jmp 0x410701
call dword [0x442244]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0xde4]
movzx eax, al
push eax
call fcn.00405860
push eax
push str.LogOnOffline_Failed______s______d_n
call fcn.00403aa0
add esp, 0xc
jmp 0x410701
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eb68]
call dword [0x442244]
call esi
mov edi, dword [0x45eb68]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
push eax
push str._nCurrent_friend_name______s_n
call fcn.00403ae0
push 0x46
lea eax, [ebp - 0x1d0]
push 0
push eax
call fcn.0041f350
add esp, 0x14
push str._nEnter_the_name_you_want_to_use:
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x1d0]
push 0x23
push eax
call fcn.00429fd6
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x1d0]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x413f80
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 - 2]
cmp ecx, 0x46
jae 0x4147ad
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
mov word [ebp + ecx - 0x1d0], ax
lea eax, [ebp - 0x1d0]
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
je 0x41239d
push edi
call fcn.0041b33f
add esp, 4
mov esi, eax
mov dword [ebp - 0xde4], esi
push edi
push 0
push esi
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0x1d0]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, dword [0x45eb68]
push esi
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
mov edi, dword [0x45eb68]
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
push eax
push str._nFriend_name_changed_to______s_n
call fcn.00403ae0
push dword [ebp - 0xde4]
call fcn.0041b33a
add esp, 0xc
jmp 0x410701
push 0x32
lea eax, [ebp - 0x184]
push 0
push eax
call fcn.0041f350
add esp, 0xc
push str._nEnter_the_Activation_Code:
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0x184]
push 0x32
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0x184]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4140c0
sub ecx, edx
dec ecx
cmp ecx, 0x32
jae 0x4147ad
mov esi, dword [0x45edc4]
mov byte [ebp + ecx - 0x184], al
mov ecx, esi
movzx eax, word [0x45f8cc]
push 0
push eax
push dword [0x45eb60]
push dword [0x45e7bc]
call dword [0x442244]
nop
call esi
mov edi, dword [0x45e7bc]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax]
lea eax, [ebp - 0x184]
push eax
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x414145
push str._nPurchaseWithActivationCode_Failed__n
mov ecx, 0xc
call fcn.00414e80
add esp, 4
jmp 0x410701
mov esi, dword [0x45e360]
lea eax, ds:[ebp - 0x70]
push eax
push dword [0x45eb7c]
xorps xmm0, xmm0
mov ecx, esi
movaps xmmword [ebp - 0x70], xmm0
call dword [0x442244]
call esi
add esp, 8
test al, al
je 0x4141c4
cmp dword ds:[ebp - 0x6c], 0x13af14
je 0x4141d1
push dword [0x45eb7c]
mov esi, dword [0x45e584]
mov ecx, esi
call dword [0x442244]
call esi
mov esi, dword [0x45e360]
lea eax, [ebp - 0x70]
add esp, 4
mov ecx, esi
push eax
push dword [0x45eb7c]
call dword [0x442244]
call esi
add esp, 8
test al, al
jne 0x414173
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x414145
mov esi, dword [ebp - 0x68]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x4141e9
mov eax, str.Pending
jmp 0x4142a3
cmp ecx, 1
jne 0x4141fc
mov eax, str.Succeeded
jmp 0x4142a3
nop dword [eax]
cmp ecx, 2
jne 0x414213
mov eax, str.Failed
jmp 0x4142a3
cmp ecx, 3
jne 0x414226
mov eax, str.Refunded
jmp 0x4142a3
cmp ecx, 4
jne 0x414239
mov eax, 0x44c064
jmp 0x4142a3
nop dword [eax]
cmp ecx, 5
jne 0x414253
mov eax, str.Chargedback
jmp 0x4142a3
cmp ecx, 6
jne 0x414266
mov eax, str.Revoked
jmp 0x4142a3
cmp ecx, 7
jne 0x414279
mov eax, str.InDispute
jmp 0x4142a3
nop dword [eax]
cmp ecx, 8
jne 0x414293
mov eax, str.Partial_Refund
jmp 0x4142a3
cmp ecx, 9
mov eax, str.Refund_To_Wallet
mov edx, str.Unknown_purchase_status
cmovne eax, edx
mov ecx, dword [esi + 4]
push eax
call fcn.004056a0
mov ecx, dword [esi]
push eax
call fcn.00405860
push eax
push str.PurchaseResponse_t______s______s______s_n
call fcn.00403aa0
mov esi, dword [0x45e584]
add esp, 0x10
mov ecx, esi
push dword [0x45eb7c]
call dword [0x442244]
call esi
add esp, 4
jmp 0x410701
push 0x208
lea eax, [ebp - 0xdc0]
push 0
push eax
call fcn.0041f350
add esp, 0xc
push str._nEnter_the_path_to_folder_where_the_new_SteamApps_folder_is_located:
call fcn.00403aa0
add esp, 4
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0xdc0]
push 0x104
push eax
call fcn.00429fd6
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0xdc0]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414340
sub ecx, edx
sar ecx, 1
lea ecx, [ecx*2 - 2]
cmp ecx, 0x208
jae 0x4147ad
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
mov word [ebp + ecx - 0xdc0], ax
lea eax, [ebp - 0xdc0]
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov edi, eax
test edi, edi
je 0x41239d
push edi
call fcn.0041b33f
add esp, 4
mov esi, eax
mov dword [ebp - 0xddc], esi
push edi
push 0
push esi
call fcn.0041f350
add esp, 0xc
lea eax, [ebp - 0xdc0]
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push eax
push 0x80
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
nop
call esi
mov edi, dword [0x45eafc]
add esp, 0x10
mov eax, dword [edi]
push 0
push dword [ebp - 0xddc]
mov esi, dword [eax + 0x12c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
push 0x40
push str.SteamLite
push str.Restart_SteamLite_for_these_changes_to_take_effect_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0xddc]
call fcn.0041b33a
add esp, 4
jmp 0x410701
cmp dword [0x45ede4], 0
je 0x414512
cmp byte [0x45ede3], 1
jne 0x414475
push str._nWaiting_for_Steam_Cloud__n
jmp 0x4144ef
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f62c]
call dword [0x442244]
call esi
mov edi, dword [0x45f62c]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0x170]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop dword [eax + eax]
test al, al
je 0x4144f7
mov edi, dword [0x45f62c]
mov eax, dword [edi]
mov esi, dword [eax + 0x218]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test eax, eax
je 0x4144f7
push str._nWaiting_for_game_to_close_and_Steam_Cloud_to_finish_if_enabled__n
call fcn.00403aa0
add esp, 4
push 0xffffffffffffffff
push dword [0x45ede4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x45ede4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45eafc]
call dword [0x442244]
call esi
mov edi, dword [0x45eafc]
add esp, 0x10
mov eax, dword [edi]
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
cmp al, 1
jne 0x410708
mov edi, dword [0x45eafc]
push 0
mov eax, dword [edi]
mov esi, dword [eax + 0x9c]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop dword [eax]
mov edi, dword [0x45eafc]
mov eax, dword [edi]
mov esi, dword [eax + 0xa0]
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
test al, al
jne 0x414580
nop
jmp 0x410708
movzx eax, word [0x45f8cc]
mov esi, dword [0x45edc4]
mov ecx, esi
push 0
push eax
push dword [0x45eb60]
push dword [0x45f62c]
call dword [0x442244]
call esi
mov edi, dword [0x45f62c]
xorps xmm0, xmm0
movaps xmmword [ebp - 0x80], xmm0
add esp, 0x10
movq qword [ebp - 0x70], xmm0
mov byte [ebp - 0x68], 0
mov eax, dword [edi]
push 0x19
mov esi, dword [eax + 0x100]
lea eax, [ebp - 0x80]
push eax
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop
test al, al
jne 0x41461a
push str._nFailed_to_get_the_current_language__n
call fcn.00403aa0
add esp, 4
jmp 0x410701
lea eax, [ebp - 0x80]
push eax
push str._nCurrent_language______s_n
call fcn.00403ae0
xorps xmm0, xmm0
mov byte [ebp - 0x88], 0
push str._nEnter_the_language_you_want_to_use__lowercase_:
movaps xmmword [ebp - 0xa0], xmm0
movq qword [ebp - 0x90], xmm0
call fcn.00403aa0
add esp, 0xc
push 0
call fcn.004290c8
add esp, 4
push eax
lea eax, [ebp - 0xa0]
push 0x19
push eax
call fcn.00429fcb
add esp, 0xc
test eax, eax
je 0x411dc8
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414680
sub ecx, edx
dec ecx
cmp ecx, 0x19
jae 0x4147ad
mov edi, dword [0x45f62c]
mov byte [ebp + ecx - 0xa0], al
mov eax, dword [edi]
mov esi, dword [eax + 0xb0]
lea eax, [ebp - 0xa0]
push eax
mov ecx, esi
call dword [0x442244]
mov ecx, edi
call esi
nop dword [eax + eax]
cmp al, 1
jne 0x414797
lea eax, [ebp - 0xa0]
push eax
push str._nLanguage_changed_to______s_n
call fcn.00403ae0
add esp, 8
mov dword [ebp - 0xdcc], 0
lea eax, [ebp - 0xdcc]
mov dword [ebp - 0xde4], 0
push eax
push 0x20006
push 0
push str.SoftwareSteamLite
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x41474e
lea eax, ds:[ebp - 0xde4]
push eax
lea eax, [ebp - 0xdcc]
push eax
push 0
push 0x20006
push 0
push 0
push 0
push str.SoftwareSteamLite
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x410701
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x414757
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0xa0]
push eax
push 1
push 0
push str.Language
push dword [ebp - 0xdcc]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0xdcc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x410701
push str._nFailed_to_change_language__n
nop dword [eax]
call fcn.00403aa0
add esp, 4
jmp 0x410701
call fcn.0041b479
int3