Function at 0x591bc0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x63e6c6
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x22ebc
call fcn.0061e3b0
mov eax, dword [0x79b5e0]
xor eax, esp
mov dword [esp + 0x22eb8], eax
push ebx
push esi
push edi
mov eax, dword [0x79b5e0]
xor eax, esp
push eax
lea eax, [esp + 0x22ed0]
mov dword fs:[0], eax
call fcn.00591af0
push 0x7a3480
push str.1.0.0
push str.Starting_updater__v:_s__cmd:_s_n
call fcn.005f20b0
add esp, 0xc
lea ecx, [esp + 0x34]
call fcn.00593bb0
mov dword [esp + 0x22ed8], 0
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.005919c0
mov edi, dword [esp + 0x10]
xor esi, esi
mov ebx, eax
test edi, edi
jle 0x591ca4
mov ecx, dword [ebx + esi*4]
mov edx, str._steam
lea ebx, [ebx]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x591c80
test al, al
je 0x591c7c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x591c80
add ecx, 2
add edx, 2
test al, al
jne 0x591c60
xor eax, eax
jmp 0x591c85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x591c9f
cmp esi, edi
jge 0x591c9f
push str.Trying_to_init_steam_n
call fcn.005f20b0
add esp, 4
call fcn.00593310
inc esi
cmp esi, edi
jl 0x591c52
cmp byte [0x84739c], 0
lea ecx, [esp + 0x34]
je 0x591cbb
call fcn.005925b0
jmp 0x5924bb
call fcn.00597710
mov ecx, dword [0x8477e8]
mov dword [0x79e96c], 0x847c70
mov dword [0x79e968], 0x847c70
test ecx, ecx
je 0x591cec
mov eax, dword [ecx]
push 2
push dword [0x7a3470]
push ecx
call dword [eax + 0x28]
call fcn.005f24c0
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.005f5b20
call fcn.005f1b00
call fcn.005f24c0
mov eax, dword [0x8477b4]
mov dword [0x847800], 0
mov dword [0x8477dc], eax
call fcn.0058f7d0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x7a1ab0]
push 0
push 1
call fcn.00600030
mov ecx, dword [0x7a1ab0]
call fcn.005ffe70
mov ecx, dword [0x7a1ab0]
push 0x802
call fcn.005ff4b0
push 0xffffffffffffffff
push 0
call fcn.005f23a0
add esp, 8
mov dword [esp + 0x20], 0xff404040
lea eax, [esp + 0x20]
push 0
push 0
push eax
mov eax, dword [0x7a1ab0]
sub esp, 0x10
movss xmm0, dword [eax + 0x440]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [eax + 0x43c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00601830
mov eax, dword [esp + 0x20dd4]
add esp, 0x1c
cmp eax, 5
ja case.default.0x591db9
jmp dword [eax*4 + 0x5924f4]
mov edi, dword [0x847808]
mov esi, dword [0x7a1ab0]
mov dword [esp + 0x28], 0xffffffff
cmp dword [edi + 8], 0
je 0x591e91
push 0x3c
lea eax, [esp + 0x2260c]
push 0
push eax
call fcn.0061e3e0
movss xmm0, dword [edi]
lea eax, [esp + 0x22610]
add esp, 0xc
movss dword [esp + 0x2260c], xmm0
movss dword [esp + 0x22614], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x22618], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x30]
movss dword [esp + 0x22628], xmm0
movss xmm0, dword [esi + 0x440]
push eax
sub esp, 0x10
mov dword [esp + 0x22620], 0
mov dword [esp + 0x22624], 0
mov dword [esp + 0x2262c], 0
mov dword [esp + 0x22638], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x43c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00601830
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.00590c60
jmp 0x59231c
mov edi, dword [0x8477cc]
mov esi, dword [0x7a1ab0]
mov dword [esp + 0x14], 0xffffffff
cmp dword [edi + 8], 0
je 0x591f70
push 0x3c
lea eax, [esp + 0x2264c]
push 0
push eax
call fcn.0061e3e0
movss xmm0, dword [edi]
lea eax, [esp + 0x22650]
add esp, 0xc
movss dword [esp + 0x2264c], xmm0
movss dword [esp + 0x22654], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x22658], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x1c]
movss dword [esp + 0x22668], xmm0
movss xmm0, dword [esi + 0x440]
push eax
sub esp, 0x10
mov dword [esp + 0x22660], 0
mov dword [esp + 0x22664], 0
mov dword [esp + 0x2266c], 0
mov dword [esp + 0x22678], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x43c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00601830
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.00590980
jmp 0x59231c
mov edi, dword [0x84780c]
mov esi, dword [0x7a1ab0]
mov dword [esp + 0x18], 0xffffffff
cmp dword [edi + 8], 0
je 0x59204f
push 0x3c
lea eax, [esp + 0x2268c]
push 0
push eax
call fcn.0061e3e0
movss xmm0, dword [edi]
lea eax, [esp + 0x22690]
add esp, 0xc
movss dword [esp + 0x2268c], xmm0
movss dword [esp + 0x22694], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x22698], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x20]
movss dword [esp + 0x226a8], xmm0
movss xmm0, dword [esi + 0x440]
push eax
sub esp, 0x10
mov dword [esp + 0x226a0], 0
mov dword [esp + 0x226a4], 0
mov dword [esp + 0x226ac], 0
mov dword [esp + 0x226b8], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x43c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00601830
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.00590420
jmp 0x59231c
mov edi, dword [0x8477c0]
mov esi, dword [0x7a1ab0]
mov dword [esp + 0x1c], 0xffffffff
cmp dword [edi + 8], 0
je 0x59212e
push 0x3c
lea eax, [esp + 0x2254c]
push 0
push eax
call fcn.0061e3e0
movss xmm0, dword [edi]
lea eax, [esp + 0x22550]
add esp, 0xc
movss dword [esp + 0x2254c], xmm0
movss dword [esp + 0x22554], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x22558], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x24]
movss dword [esp + 0x22568], xmm0
movss xmm0, dword [esi + 0x440]
push eax
sub esp, 0x10
mov dword [esp + 0x22560], 0
mov dword [esp + 0x22564], 0
mov dword [esp + 0x2256c], 0
mov dword [esp + 0x22578], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x43c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00601830
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.005906f0
jmp 0x59231c
mov edi, dword [0x84738c]
mov esi, dword [0x7a1ab0]
mov dword [esp + 0x24], 0xffffffff
cmp dword [edi + 8], 0
je 0x59220d
push 0x3c
lea eax, [esp + 0x2258c]
push 0
push eax
call fcn.0061e3e0
movss xmm0, dword [edi]
lea eax, [esp + 0x22590]
add esp, 0xc
movss dword [esp + 0x2258c], xmm0
movss dword [esp + 0x22594], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x22598], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x2c]
movss dword [esp + 0x225a8], xmm0
movss xmm0, dword [esi + 0x440]
push eax
sub esp, 0x10
mov dword [esp + 0x225a0], 0
mov dword [esp + 0x225a4], 0
mov dword [esp + 0x225ac], 0
mov dword [esp + 0x225b8], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x43c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00601830
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.00591130
lea ecx, [esp + 0x34]
call fcn.005915f0
lea ecx, [esp + 0x34]
call fcn.00591530
jmp 0x59231c
push 0
push 0x6fc
push str.main.cpp
push 0x6e9524
call fcn.005f2580
add esp, 0x10
mov edi, dword [0x8477f0]
mov esi, dword [0x7a1ab0]
mov dword [esp + 0x2c], 0xffffffff
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x592316
push 0x3c
lea eax, [esp + 0x225cc]
push 0
push eax
call fcn.0061e3e0
movss xmm0, dword [edi]
lea eax, [esp + 0x225d0]
add esp, 0xc
movss dword [esp + 0x225cc], xmm0
movss dword [esp + 0x225d4], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x225d8], xmm0
push eax
push ebx
lea eax, [esp + 0x34]
movss dword [esp + 0x225e8], xmm0
movss xmm0, dword [esi + 0x440]
push eax
sub esp, 0x10
mov dword [esp + 0x225e0], 0
mov dword [esp + 0x225e4], 0
mov dword [esp + 0x225ec], 0
mov dword [esp + 0x225f8], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x43c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00601830
add esp, 0x1c
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [esp + 0x34]
call fcn.00590010
call fcn.005902f0
mov ecx, dword [0x7a1ab0]
call fcn.005fd590
mov ecx, dword [0x7a1ab0]
push 1
call fcn.005fd780
cmp byte [0x7a3448], 0
jne 0x592392
push 0
push dword [0x8477f4]
call ebx
test eax, eax
jne 0x592367
push 1
push dword [0x7a3470]
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
push 0
call dword [sym.imp.USER32.dll_ClipCursor]
cmp byte [0x84739f], 0
jne 0x5923e1
mov eax, dword [esp + 0x20dbc]
test eax, eax
je 0x591cf7
cmp eax, 1
je 0x591cf7
jmp 0x5923e1
lea eax, [esp + 0x20d84]
push eax
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x22ed8], 1
push dword [esp + 0x20d78]
push str.Requested_to_stop___d_files_in_queue_n
call fcn.005f20b0
add esp, 8
mov dword [esp + 0x20dbc], 3
lea eax, [esp + 0x20d84]
mov byte [esp + 0x22ed8], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x34]
call fcn.005977d0
mov ecx, dword [0x8477e8]
test ecx, ecx
je 0x592402
mov eax, dword [ecx]
push 0
push dword [0x7a3470]
push ecx
call dword [eax + 0x28]
mov eax, dword [esp + 0x20dbc]
dec eax
je 0x592467
dec eax
je 0x59242d
dec eax
je 0x592470
push 0
push 0x751
push str.main.cpp
push 0x6e9524
call fcn.005f2580
add esp, 0x10
jmp 0x592470
lea eax, [esp + 0x211c1]
push eax
lea eax, [esp + 0x226c8]
push str.There_was_a_problem_updating_the_game_n_s_n_nPlease_retry_later
push eax
call fcn.00592530
add esp, 0xc
lea eax, [esp + 0x211c1]
push 0x10
push str.Error
push eax
push dword [0x7a3470]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x592470
lea ecx, [esp + 0x34]
call fcn.005917c0
mov eax, dword [0x847ef8]
test eax, eax
je 0x5924ac
push 0x2710
push eax
call ebx
cmp eax, 0x102
jne 0x592496
push 0
push dword [0x847ef8]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [0x847ef8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x847ef8], 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esp + 0x34]
mov dword [esp + 0x22ed8], 0xffffffff
call fcn.00594030
mov ecx, dword [esp + 0x22ed0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x22eb8]
xor ecx, esp
call fcn.0061b9b8
mov esp, ebp
pop ebp
ret