Function at 0x405300
Capabilities:
Resolve function by parsing pe exports
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ddb1d
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x21fb4
call fcn.00592d30
mov eax, dword [0x6ade1c]
xor eax, esp
mov dword [esp + 0x21fb0], eax
push ebx
push esi
push edi
mov eax, dword [0x6ade1c]
xor eax, esp
push eax
lea eax, [esp + 0x21fc8]
mov dword fs:[0], eax
push 0x6b47b0
push str.1.0.7
push str.Starting_updater__v:_s__cmd:_s_n
call fcn.00568410
add esp, 0xc
lea eax, [esp + 0xb4]
push eax
call fcn.004073e0
xor esi, esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x21fd0], esi
push ecx
mov dword [esp + 0x1c], esi
call fcn.004051c0
mov ebx, dword [esp + 0x1c]
add esp, 4
mov edi, eax
test ebx, ebx
jle 0x4053dc
lea ecx, [ecx]
mov eax, dword [edi + esi*4]
mov ecx, str._steam
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4053b8
test dl, dl
je 0x4053b4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4053b8
add eax, 2
add ecx, 2
test dl, dl
jne 0x405398
xor eax, eax
jmp 0x4053bd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4053d7
cmp esi, ebx
jge 0x4053d7
push str.Trying_to_init_steam_n
call fcn.00568410
add esp, 4
call fcn.00406ca0
inc esi
cmp esi, ebx
jl 0x405390
cmp byte [0x759cdc], 0
je 0x4053fe
lea ecx, [esp + 0xb4]
call fcn.004060f0
lea edx, [esp + 0xb4]
push edx
jmp 0x4058f4
lea esi, [esp + 0xb4]
call fcn.0040a8f0
mov eax, 0x759c48
mov dword [0x6b049c], eax
mov dword [0x6b04a0], eax
mov eax, dword [0x759ce0]
xor ebx, ebx
cmp eax, ebx
je 0x405435
mov edx, dword [0x6b4bdc]
mov ecx, dword [eax]
push 2
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
call fcn.00568150
lea ebx, [ebx]
call fcn.005681a0
call fcn.00568150
mov ecx, dword [0x759c3c]
mov dword [0x759d78], ebx
mov dword [0x759d7c], ecx
call fcn.00403e70
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x6b4c44]
push ebx
push 1
call fcn.0056f220
mov ecx, dword [0x6b4c44]
call fcn.0056d4f0
mov ecx, dword [0x6b4c44]
push 0x802
call fcn.0056b7d0
or esi, 0xffffffff
push esi
push ebx
call fcn.00567f70
mov eax, dword [0x6b4c44]
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.00575e60
mov eax, dword [esp + 0x20ebc]
add esp, 0x1c
cmp eax, 5
ja case.0x4054eb.1
jmp dword [eax*4 + 0x405928]
lea eax, [esp + 0x20]
push eax
mov eax, dword [0x6b4c44]
fld dword [eax + 0x4a0]
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x34], esi
fld dword [eax + 0x49c]
mov esi, dword [0x759cec]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00406f70
lea edi, [esp + 0xb4]
call fcn.00404840
jmp 0x405689
mov eax, dword [0x6b4c44]
fld dword [eax + 0x4a0]
lea ecx, [esp + 0x2c]
push ecx
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x40], esi
fld dword [eax + 0x49c]
mov esi, dword [0x759cfc]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00406f70
lea edi, [esp + 0xb4]
call fcn.004046d0
jmp 0x405695
mov eax, dword [0x6b4c44]
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 [0x759cec]
fstp dword [esp + 8]
fldz
fst dword [esp + 4]
fstp dword [esp]
call fcn.00406f70
lea edi, [esp + 0xb4]
call fcn.00404840
mov eax, edi
call fcn.00404bd0
mov ecx, edi
call fcn.00404b10
jmp 0x405695
push ebx
push 0x723
push str..main.cpp
push 0x680a40
call fcn.00568720
add esp, 0x10
mov eax, dword [0x6b4c44]
mov dword [esp + 0x1c], esi
fld dword [eax + 0x49c]
mov esi, dword [0x759cf8]
fstp dword [esp + 0x14]
mov edi, dword [esi + 8]
fld dword [eax + 0x4a0]
fstp dword [esp + 0x18]
cmp edi, ebx
je 0x405689
push 0x3c
lea eax, [esp + 0x3c]
push ebx
push eax
call fcn.00591e60
fldz
fst dword [esp + 0x40]
add esp, 0xc
fst dword [esp + 0x38]
lea ecx, [esp + 0x34]
fld dword [esi]
push ecx
fstp dword [esp + 0x40]
push edi
lea edx, [esp + 0x24]
push edx
fst dword [esp + 0x4c]
sub esp, 0x10
fld dword [esi]
fstp dword [esp + 0x60]
fld dword [esi + 4]
fstp dword [esp + 0x64]
fst dword [esp + 0x68]
fld dword [esi + 4]
fstp dword [esp + 0x6c]
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.00575e60
add esp, 0x1c
lea eax, [esp + 0xb4]
call fcn.00404bd0
lea edi, [esp + 0xb4]
call fcn.00404570
fild dword [0x759d70]
mov dword [esp + 0x24], 0xffffffff
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [0x6b03dc]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4057b5
fadd dword [0x6b03e4]
fcompp
fnstsw ax
test ah, 1
jne 0x4057b9
fild dword [0x759d74]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [0x6b03e0]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x4057b5
fadd dword [0x6b03e8]
fcompp
fnstsw ax
test ah, 1
jne 0x4057b9
mov esi, dword [0x759d24]
mov edi, dword [esi + 8]
cmp edi, ebx
je 0x4057a4
push 0x3c
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.00591e60
fldz
fst dword [esp + 0x80]
add esp, 0xc
fst dword [esp + 0x78]
lea ecx, [esp + 0x74]
fld dword [esi]
push ecx
fstp dword [esp + 0x80]
push edi
lea edx, [esp + 0x2c]
push edx
fst dword [esp + 0x8c]
sub esp, 0x10
fld dword [esi]
fstp dword [esp + 0xa0]
fld dword [esi + 4]
fstp dword [esp + 0xa4]
fst dword [esp + 0xa8]
fld dword [esi + 4]
fstp dword [esp + 0xac]
fld dword [0x6822fc]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [0x6822f8]
fstp dword [esp]
call fcn.00575e60
add esp, 0x1c
cmp dword [0x759d78], ebx
je 0x4057b9
mov byte [0x6b4be8], 1
jmp 0x4057b9
fstp st(1)
fstp st(0)
mov ecx, dword [0x6b4c44]
call fcn.0056e2e0
mov ecx, dword [0x6b4c44]
push 1
call fcn.0056ea50
cmp byte [0x6b4be8], bl
jne 0x405822
mov eax, dword [0x759ce4]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x4057f9
mov ecx, dword [0x6b4bdc]
push 1
push ecx
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
push ebx
call dword [sym.imp.USER32.dll_ClipCursor]
cmp byte [0x759cdd], bl
jne 0x40582e
mov eax, dword [esp + 0x20ea4]
cmp eax, ebx
je 0x405440
cmp eax, 1
je 0x405440
jmp 0x40582e
lea esi, [esp + 0xb4]
call fcn.0040a9a0
lea eax, [esp + 0xb4]
call fcn.0040aa20
mov eax, dword [0x759ce0]
cmp eax, ebx
je 0x405853
mov ecx, dword [0x6b4bdc]
mov edx, dword [eax]
mov edx, dword [edx + 0x28]
push ebx
push ecx
push eax
call edx
mov eax, dword [esp + 0x20ea4]
sub eax, 1
je 0x405892
sub eax, 1
je 0x405883
sub eax, 1
je 0x4058a2
push ebx
push 0x77b
push str..main.cpp
push 0x680a40
call fcn.00568720
add esp, 0x10
jmp 0x4058a2
lea eax, [esp + 0xb4]
push eax
call fcn.00404d80
jmp 0x40589f
lea ecx, [esp + 0xb4]
push ecx
call fcn.00405050
add esp, 4
mov eax, dword [0x75a5c8]
cmp eax, ebx
je 0x4058de
push 0x2710
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4058cc
mov edx, dword [0x75a5c8]
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [0x75a5c8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x75a5c8], ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0x21fd4], 0xffffffff
call fcn.00407830
mov ecx, dword [esp + 0x21fc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x21fb0]
xor ecx, esp
call fcn.0058e447
mov esp, ebp
pop ebp
ret