Function at 0x4061a0
Capabilities:
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x621dbd
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x21dac
call fcn.005d68b0
mov eax, dword [0x6f8dec]
xor eax, esp
mov dword [esp + 0x21da8], eax
push ebx
push esi
push edi
mov eax, dword [0x6f8dec]
xor eax, esp
push eax
lea eax, [esp + 0x21dc0]
mov dword fs:[0], eax
push 0x6ffb50
push str.1.0.0
push str.Starting_updater__v:_s__cmd:_s_n
call fcn.005ac370
add esp, 0xc
lea eax, [esp + 0xbc]
push eax
call fcn.00408480
xor esi, esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x21dc8], esi
push ecx
mov dword [esp + 0x1c], esi
call fcn.00406060
mov ebx, dword [esp + 0x1c]
add esp, 4
mov edi, eax
test ebx, ebx
jle 0x40627c
lea ecx, [ecx]
mov eax, dword [edi + esi*4]
mov ecx, str._steam
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406258
test dl, dl
je 0x406254
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406258
add eax, 2
add ecx, 2
test dl, dl
jne 0x406238
xor eax, eax
jmp 0x40625d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x406277
cmp esi, ebx
jge 0x406277
push str.Trying_to_init_steam_n
call fcn.005ac370
add esp, 4
call fcn.00407cb0
inc esi
cmp esi, ebx
jl 0x406230
cmp byte [0x7a4c4c], 0
je 0x40629e
lea ecx, [esp + 0xbc]
call fcn.00406f90
lea edx, [esp + 0xbc]
push edx
jmp 0x406828
lea esi, [esp + 0xbc]
call fcn.0040c000
mov eax, 0x7a4bb8
mov dword [0x6fb644], eax
mov dword [0x6fb648], eax
mov eax, dword [0x7a4c50]
xor ebx, ebx
cmp eax, ebx
je 0x4062d5
mov edx, dword [0x6fff7c]
mov ecx, dword [eax]
push 2
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
call fcn.005ac0b0
lea ebx, [ebx]
call fcn.005ac100
call fcn.005ac0b0
mov ecx, dword [0x7a4bb0]
mov dword [0x7a4ce0], ebx
mov dword [0x7a4ce4], ecx
call fcn.00403e10
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x6fffe4]
push ebx
push 1
call fcn.005b31b0
mov ecx, dword [0x6fffe4]
call fcn.005b14b0
mov ecx, dword [0x6fffe4]
push 0x802
call fcn.005af720
or esi, 0xffffffff
push esi
push ebx
call fcn.005abed0
mov eax, dword [0x6fffe4]
fld dword [eax + 0x4a0]
add esp, 8
push ebx
push ebx
lea edx, [esp + 0x38]
push edx
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x4c], 0xff404040
fld dword [eax + 0x49c]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.005b9cf0
mov eax, dword [esp + 0x20ec4]
add esp, 0x1c
cmp eax, 5
ja case.default.0x40638b
jmp dword [eax*4 + 0x40685c]
lea eax, [esp + 0x24]
push eax
mov eax, dword [0x6fffe4]
fld dword [eax + 0x4a0]
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x38], esi
fld dword [eax + 0x49c]
mov esi, dword [0x7a4c58]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00407fa0
lea eax, [esp + 0xbc]
call fcn.00404f90
jmp 0x4065c4
mov eax, dword [0x6fffe4]
fld dword [eax + 0x4a0]
lea ecx, [esp + 0x38]
push ecx
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x4c], esi
fld dword [eax + 0x49c]
mov esi, dword [0x7a4c60]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00407fa0
lea ecx, [esp + 0xbc]
call fcn.00404c70
jmp 0x4065c4
mov eax, dword [0x6fffe4]
fld dword [eax + 0x4a0]
lea edx, [esp + 0x28]
push edx
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x3c], esi
fld dword [eax + 0x49c]
mov esi, dword [0x7a4c64]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00407fa0
lea eax, [esp + 0xbc]
call fcn.004047d0
jmp 0x4065c4
lea eax, [esp + 0x34]
push eax
mov eax, dword [0x6fffe4]
fld dword [eax + 0x4a0]
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x48], esi
fld dword [eax + 0x49c]
mov esi, dword [0x7a4c6c]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00407fa0
lea edi, [esp + 0xbc]
call fcn.00404a80
jmp 0x4065c4
mov eax, dword [0x6fffe4]
fld dword [eax + 0x4a0]
lea ecx, [esp + 0x1c]
push ecx
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x30], esi
fld dword [eax + 0x49c]
mov esi, dword [0x7a4c5c]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00407fa0
lea edi, [esp + 0xbc]
call fcn.004053c0
mov eax, edi
call fcn.004057a0
mov ecx, edi
call fcn.004056d0
mov ecx, edi
call fcn.00405a00
jmp 0x4065c4
push ebx
push 0x65a
push str..main.cpp
push 0x6ca154
call fcn.005ac680
add esp, 0x10
mov eax, dword [0x6fffe4]
mov dword [esp + 0x20], esi
fld dword [eax + 0x49c]
mov esi, dword [0x7a4c68]
fstp dword [esp + 0x14]
mov edi, dword [esi + 8]
fld dword [eax + 0x4a0]
fstp dword [esp + 0x18]
cmp edi, ebx
je 0x4065c4
push 0x3c
lea edx, [esp + 0x44]
push ebx
push edx
call fcn.005d59e0
fldz
fst dword [esp + 0x48]
add esp, 0xc
fst dword [esp + 0x40]
lea eax, [esp + 0x3c]
fld dword [esi]
push eax
fstp dword [esp + 0x48]
push edi
lea ecx, [esp + 0x28]
push ecx
fst dword [esp + 0x54]
sub esp, 0x10
fld dword [esi]
fstp dword [esp + 0x68]
fld dword [esi + 4]
fstp dword [esp + 0x6c]
fst dword [esp + 0x70]
fld dword [esi + 4]
fstp dword [esp + 0x74]
fld dword [esp + 0x34]
fstp dword [esp + 0xc]
fld dword [esp + 0x30]
fstp dword [esp + 8]
fst dword [esp + 4]
fstp dword [esp]
call fcn.005b9cf0
add esp, 0x1c
lea edi, [esp + 0xbc]
call fcn.00404670
fild dword [0x7a4cd8]
mov dword [esp + 0x2c], 0xffffffff
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [0x6fb3ac]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4066ea
fadd dword [0x6fb3b4]
fcompp
fnstsw ax
test ah, 1
jne 0x4066ee
fild dword [0x7a4cdc]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [0x6fb3b0]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4066ea
fadd dword [0x6fb3b8]
fcompp
fnstsw ax
test ah, 1
jne 0x4066ee
mov esi, dword [0x7a4c88]
mov edi, dword [esi + 8]
cmp edi, ebx
je 0x4066d9
push 0x3c
lea edx, [esp + 0x84]
push ebx
push edx
call fcn.005d59e0
fldz
fst dword [esp + 0x88]
add esp, 0xc
fst dword [esp + 0x80]
lea eax, [esp + 0x7c]
fld dword [esi]
push eax
fstp dword [esp + 0x88]
push edi
lea ecx, [esp + 0x34]
push ecx
fst dword [esp + 0x94]
sub esp, 0x10
fld dword [esi]
fstp dword [esp + 0xa8]
fld dword [esi + 4]
fstp dword [esp + 0xac]
fst dword [esp + 0xb0]
fld dword [esi + 4]
fstp dword [esp + 0xb4]
fld dword [0x6cc378]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x6cc374]
fstp dword [esp]
call fcn.005b9cf0
add esp, 0x1c
cmp dword [0x7a4ce0], ebx
je 0x4066ee
mov byte [0x6fff88], 1
jmp 0x4066ee
fstp st(1)
fstp st(0)
mov ecx, dword [0x6fffe4]
call fcn.005b2280
mov ecx, dword [0x6fffe4]
push 1
call fcn.005b29f0
cmp byte [0x6fff88], bl
jne 0x406757
mov edx, dword [0x7a4c54]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40672e
mov eax, dword [0x6fff7c]
push 1
push eax
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
push ebx
call dword [sym.imp.USER32.dll_ClipCursor]
cmp byte [0x7a4c4d], bl
jne 0x406763
mov eax, dword [esp + 0x20eac]
cmp eax, ebx
je 0x4062e0
cmp eax, 1
je 0x4062e0
jmp 0x406763
lea esi, [esp + 0xbc]
call fcn.0040c0b0
lea eax, [esp + 0xbc]
call fcn.0040c130
mov eax, dword [0x7a4c50]
cmp eax, ebx
je 0x406788
mov edx, dword [0x6fff7c]
mov ecx, dword [eax]
push ebx
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
mov eax, dword [esp + 0x20eac]
sub eax, 1
je 0x4067ca
sub eax, 1
je 0x4067b8
sub eax, 1
je 0x4067d6
push ebx
push 0x6a7
push str..main.cpp
push 0x6ca154
call fcn.005ac680
add esp, 0x10
jmp 0x4067d6
lea ecx, [esp + 0xbc]
push ecx
call fcn.00405d60
add esp, 4
jmp 0x4067d6
lea ecx, [esp + 0xbc]
call fcn.00405e50
mov eax, dword [0x7a5540]
cmp eax, ebx
je 0x406812
push 0x2710
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x406800
mov edx, dword [0x7a5540]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [0x7a5540]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x7a5540], ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esp + 0xbc]
push ecx
mov dword [esp + 0x21dcc], 0xffffffff
call fcn.00408820
mov ecx, dword [esp + 0x21dc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x21da8]
xor ecx, esp
call fcn.005d2287
mov esp, ebp
pop ebp
ret