Function at 0x56195a
Capabilities:
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ac0b6
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2266c
call fcn.005939c0
mov eax, dword [0x680da0]
xor eax, esp
mov dword [esp + 0x22668], eax
push ebx
push esi
push edi
mov eax, dword [0x680da0]
xor eax, esp
push eax
lea eax, [esp + 0x22680]
mov dword fs:[0], eax
push 0x688050
push str.1.0.0
push str.Starting_updater__v:_s__cmd:_s_n
call fcn.00569640
add esp, 0xc
lea ecx, [esp + 0x34]
call fcn.00563970
mov dword [esp + 0x22688], 0
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 0
call fcn.005611b0
mov edi, dword [esp + 0x10]
xor esi, esi
mov ebx, eax
test edi, edi
jle 0x5613bc
lea ecx, [ecx]
mov ecx, dword [ebx + esi*4]
mov edx, str._steam
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x561398
test al, al
je 0x561394
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x561398
add ecx, 2
add edx, 2
test al, al
jne 0x561378
xor eax, eax
jmp 0x56139d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x5613b7
cmp esi, edi
jge 0x5613b7
push str.Trying_to_init_steam_n
call fcn.00569640
add esp, 4
call fcn.005630b0
inc esi
cmp esi, edi
jl 0x561370
cmp byte [0x72bc37], 0
lea ecx, [esp + 0x34]
je 0x5613d3
call fcn.00562260
jmp 0x561bcf
call fcn.00567530
mov ecx, dword [0x72c0f0]
mov dword [0x683fe4], 0x72c740
mov dword [0x683fe0], 0x72c740
test ecx, ecx
je 0x561404
mov eax, dword [ecx]
push 2
push dword [0x688044]
push ecx
call dword [eax + 0x28]
call fcn.00569a50
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
call fcn.00569090
call fcn.00569a50
mov eax, dword [0x72c058]
mov dword [0x72c060], 0
mov dword [0x72c05c], eax
call fcn.0055eec0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x686f04]
push 0
push 1
call fcn.00570530
mov ecx, dword [0x686f04]
call fcn.005702a0
mov ecx, dword [0x686f04]
push 0x802
call fcn.0056f8e0
push 0xffffffffffffffff
push 0
call fcn.00569930
add esp, 8
mov dword [esp + 0x20], 0xff404040
lea eax, [esp + 0x20]
push 0
push 0
push eax
mov eax, dword [0x686f04]
sub esp, 0x10
movss xmm0, dword [eax + 0x4a0]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [eax + 0x49c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00577350
mov eax, dword [esp + 0x20dd4]
add esp, 0x1c
cmp eax, 5
ja case.default.0x5614cd
jmp dword [eax*4 + 0x561c08]
mov edi, dword [0x72c0e8]
mov esi, dword [0x686f04]
mov dword [esp + 0x28], 0xffffffff
cmp dword [edi + 8], 0
je 0x5615a5
push 0x3c
lea eax, [esp + 0x21dbc]
push 0
push eax
call fcn.00592850
movss xmm0, dword [edi]
lea eax, [esp + 0x21dc0]
add esp, 0xc
movss dword [esp + 0x21dbc], xmm0
movss dword [esp + 0x21dc4], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21dc8], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x30]
movss dword [esp + 0x21dd8], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21dd0], 0
mov dword [esp + 0x21dd4], 0
mov dword [esp + 0x21ddc], 0
mov dword [esp + 0x21de8], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x49c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00577350
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.00560310
jmp 0x561a30
mov edi, dword [0x72c0e0]
mov esi, dword [0x686f04]
mov dword [esp + 0x14], 0xffffffff
cmp dword [edi + 8], 0
je 0x561684
push 0x3c
lea eax, [esp + 0x21dfc]
push 0
push eax
call fcn.00592850
movss xmm0, dword [edi]
lea eax, [esp + 0x21e00]
add esp, 0xc
movss dword [esp + 0x21dfc], xmm0
movss dword [esp + 0x21e04], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21e08], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x1c]
movss dword [esp + 0x21e18], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21e10], 0
mov dword [esp + 0x21e14], 0
mov dword [esp + 0x21e1c], 0
mov dword [esp + 0x21e28], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x49c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00577350
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.00560040
jmp 0x561a30
mov edi, dword [0x72c0dc]
mov esi, dword [0x686f04]
mov dword [esp + 0x18], 0xffffffff
cmp dword [edi + 8], 0
je 0x561763
push 0x3c
lea eax, [esp + 0x21e3c]
push 0
push eax
call fcn.00592850
movss xmm0, dword [edi]
lea eax, [esp + 0x21e40]
add esp, 0xc
movss dword [esp + 0x21e3c], xmm0
movss dword [esp + 0x21e44], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21e48], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x20]
movss dword [esp + 0x21e58], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21e50], 0
mov dword [esp + 0x21e54], 0
mov dword [esp + 0x21e5c], 0
mov dword [esp + 0x21e68], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x49c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00577350
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.0055fae0
jmp 0x561a30
mov edi, dword [0x72c09c]
mov esi, dword [0x686f04]
mov dword [esp + 0x1c], 0xffffffff
cmp dword [edi + 8], 0
je 0x561842
push 0x3c
lea eax, [esp + 0x21cfc]
push 0
push eax
call fcn.00592850
movss xmm0, dword [edi]
lea eax, [esp + 0x21d00]
add esp, 0xc
movss dword [esp + 0x21cfc], xmm0
movss dword [esp + 0x21d04], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21d08], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x24]
movss dword [esp + 0x21d18], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21d10], 0
mov dword [esp + 0x21d14], 0
mov dword [esp + 0x21d1c], 0
mov dword [esp + 0x21d28], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x49c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00577350
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.0055fdb0
jmp 0x561a30
mov edi, dword [0x72c0e4]
mov esi, dword [0x686f04]
mov dword [esp + 0x24], 0xffffffff
cmp dword [edi + 8], 0
je 0x561921
push 0x3c
lea eax, [esp + 0x21d3c]
push 0
push eax
call fcn.00592850
movss xmm0, dword [edi]
lea eax, [esp + 0x21d40]
add esp, 0xc
movss dword [esp + 0x21d3c], xmm0
movss dword [esp + 0x21d44], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21d48], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x2c]
movss dword [esp + 0x21d58], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21d50], 0
mov dword [esp + 0x21d54], 0
mov dword [esp + 0x21d5c], 0
mov dword [esp + 0x21d68], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x49c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00577350
add esp, 0x1c
lea ecx, [esp + 0x34]
call fcn.005608c0
lea ecx, [esp + 0x34]
call fcn.00560e90
lea ecx, [esp + 0x34]
call fcn.00560dd0
jmp 0x561a30
push 0
push 0x5d2
push str.main.cpp
push 0x653ec8
call fcn.00569b10
add esp, 0x10
mov edi, dword [0x72c0d8]
mov esi, dword [0x686f04]
mov dword [esp + 0x2c], 0xffffffff
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x561a2a
push 0x3c
lea eax, [esp + 0x21d7c]
push 0
push eax
call fcn.00592850
movss xmm0, dword [edi]
lea eax, [esp + 0x21d80]
add esp, 0xc
movss dword [esp + 0x21d7c], xmm0
movss dword [esp + 0x21d84], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21d88], xmm0
push eax
push ebx
lea eax, [esp + 0x34]
movss dword [esp + 0x21d98], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21d90], 0
mov dword [esp + 0x21d94], 0
mov dword [esp + 0x21d9c], 0
mov dword [esp + 0x21da8], 0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esi + 0x49c]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00577350
add esp, 0x1c
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [esp + 0x34]
call fcn.0055f660
call fcn.0055f9b0
mov ecx, dword [0x686f04]
call fcn.0056d9a0
mov ecx, dword [0x686f04]
push 1
call fcn.0056db90
cmp byte [0x688038], 0
jne 0x561aa6
push 0
push dword [0x72c0ec]
call ebx
test eax, eax
jne 0x561a7b
push 1
push dword [0x688044]
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
push 0
call dword [sym.imp.USER32.dll_ClipCursor]
cmp byte [0x72bc36], 0
jne 0x561af5
mov eax, dword [esp + 0x20dbc]
test eax, eax
je 0x561410
cmp eax, 1
je 0x561410
jmp 0x561af5
lea eax, [esp + 0x20d84]
push eax
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x22688], 1
push dword [esp + 0x20d78]
push str.Requested_to_stop___d_files_in_queue_n
call fcn.00569640
add esp, 8
mov dword [esp + 0x20dbc], 3
lea eax, [esp + 0x20d84]
mov byte [esp + 0x22688], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x34]
call fcn.005675f0
mov ecx, dword [0x72c0f0]
test ecx, ecx
je 0x561b16
mov eax, dword [ecx]
push 0
push dword [0x688044]
push ecx
call dword [eax + 0x28]
mov eax, dword [esp + 0x20dbc]
dec eax
je 0x561b7b
dec eax
je 0x561b41
dec eax
je 0x561b84
push 0
push 0x61e
push str.main.cpp
push 0x653ec8
call fcn.00569b10
add esp, 0x10
jmp 0x561b84
lea eax, [esp + 0x211c1]
push eax
lea eax, [esp + 0x21e78]
push str.There_was_a_problem_updating_the_game_n_s_n_nPlease_retry_later
push eax
call fcn.00561c40
add esp, 0xc
lea eax, [esp + 0x211c1]
push 0x10
push str.Error
push eax
push dword [0x688044]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x561b84
lea ecx, [esp + 0x34]
call fcn.00560fe0
mov eax, dword [0x72c9a8]
test eax, eax
je 0x561bc0
push 0x2710
push eax
call ebx
cmp eax, 0x102
jne 0x561baa
push 0
push dword [0x72c9a8]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [0x72c9a8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x72c9a8], 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 + 0x22688], 0xffffffff
call fcn.00563da0
mov ecx, dword [esp + 0x22680]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x22668]
xor ecx, esp
call fcn.0058e793
mov esp, ebp
pop ebp
ret