Function at 0x581e40
Capabilities:
Terminate process
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5cc71b
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x22624
call fcn.005b4060
mov eax, dword [0x6c9db0]
xor eax, esp
mov dword [esp + 0x22620], eax
push ebx
push esi
push edi
mov eax, dword [0x6c9db0]
xor eax, esp
push eax
lea eax, [esp + 0x22638]
mov dword fs:[0], eax
push 0x6d1980
push 0x6ccdf0
push str.Starting_updater__v:_s__cmd:_s_n
call fcn.00589b00
add esp, 0xc
lea ecx, [esp + 0x2c]
call fcn.00583fb0
mov dword [esp + 0x22640], 0
lea ecx, [esp + 0x2c]
cmp byte [0x775757], 0
je 0x581ec7
call fcn.00582d10
jmp 0x58267c
call fcn.00587850
mov ecx, dword [0x775c14]
mov dword [0x6cd3f4], 0x776218
mov dword [0x6cd3f0], 0x776218
test ecx, ecx
je 0x581ef8
mov eax, dword [ecx]
push 2
push dword [0x6d1970]
push ecx
call dword [eax + 0x28]
call fcn.00589f10
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call fcn.00589550
call fcn.00589f10
mov eax, dword [0x775b78]
mov dword [0x775b80], 0
mov dword [0x775b7c], eax
call fcn.0057faf0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [0x6d0324]
push 0
push 1
call fcn.00590a70
mov ecx, dword [0x6d0324]
call fcn.005908b0
mov ecx, dword [0x6d0324]
push 0x802
call fcn.0058fef0
push 0xffffffffffffffff
push 0
call fcn.00589df0
add esp, 8
mov dword [esp + 0x24], 0xff404040
lea eax, [esp + 0x24]
push 0
push 0
push eax
mov eax, dword [0x6d0324]
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.00597940
mov eax, dword [esp + 0x20dcc]
add esp, 0x1c
cmp eax, 5
ja case.default.0x581fc0
jmp dword [eax*4 + 0x5826b4]
mov edi, dword [0x775c0c]
mov esi, dword [0x6d0324]
mov dword [esp + 0x18], 0xffffffff
cmp dword [edi + 8], 0
je 0x582098
push 0x3c
lea eax, [esp + 0x21cb4]
push 0
push eax
call fcn.005b2ef0
movss xmm0, dword [edi]
lea eax, [esp + 0x21cb8]
add esp, 0xc
movss dword [esp + 0x21cb4], xmm0
movss dword [esp + 0x21cbc], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21cc0], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x20]
movss dword [esp + 0x21cd0], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21cc8], 0
mov dword [esp + 0x21ccc], 0
mov dword [esp + 0x21cd4], 0
mov dword [esp + 0x21ce0], 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.00597940
add esp, 0x1c
lea ecx, [esp + 0x2c]
call fcn.00580f40
jmp 0x582523
mov edi, dword [0x775c04]
mov esi, dword [0x6d0324]
mov dword [esp + 0x20], 0xffffffff
cmp dword [edi + 8], 0
je 0x582177
push 0x3c
lea eax, [esp + 0x21db4]
push 0
push eax
call fcn.005b2ef0
movss xmm0, dword [edi]
lea eax, [esp + 0x21db8]
add esp, 0xc
movss dword [esp + 0x21db4], xmm0
movss dword [esp + 0x21dbc], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21dc0], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x28]
movss dword [esp + 0x21dd0], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21dc8], 0
mov dword [esp + 0x21dcc], 0
mov dword [esp + 0x21dd4], 0
mov dword [esp + 0x21de0], 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.00597940
add esp, 0x1c
lea ecx, [esp + 0x2c]
call fcn.00580c70
jmp 0x582523
mov edi, dword [0x775c00]
mov esi, dword [0x6d0324]
mov dword [esp + 0x10], 0xffffffff
cmp dword [edi + 8], 0
je 0x582256
push 0x3c
lea eax, [esp + 0x21df4]
push 0
push eax
call fcn.005b2ef0
movss xmm0, dword [edi]
lea eax, [esp + 0x21df8]
add esp, 0xc
movss dword [esp + 0x21df4], xmm0
movss dword [esp + 0x21dfc], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21e00], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x18]
movss dword [esp + 0x21e10], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21e08], 0
mov dword [esp + 0x21e0c], 0
mov dword [esp + 0x21e14], 0
mov dword [esp + 0x21e20], 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.00597940
add esp, 0x1c
lea ecx, [esp + 0x2c]
call fcn.00580710
jmp 0x582523
mov edi, dword [0x775bf8]
mov esi, dword [0x6d0324]
mov dword [esp + 0x14], 0xffffffff
cmp dword [edi + 8], 0
je 0x582335
push 0x3c
lea eax, [esp + 0x21d74]
push 0
push eax
call fcn.005b2ef0
movss xmm0, dword [edi]
lea eax, [esp + 0x21d78]
add esp, 0xc
movss dword [esp + 0x21d74], xmm0
movss dword [esp + 0x21d7c], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21d80], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x1c]
movss dword [esp + 0x21d90], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21d88], 0
mov dword [esp + 0x21d8c], 0
mov dword [esp + 0x21d94], 0
mov dword [esp + 0x21da0], 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.00597940
add esp, 0x1c
lea ecx, [esp + 0x2c]
call fcn.005809e0
jmp 0x582523
mov edi, dword [0x775c08]
mov esi, dword [0x6d0324]
mov dword [esp + 0x1c], 0xffffffff
cmp dword [edi + 8], 0
je 0x582414
push 0x3c
lea eax, [esp + 0x21cf4]
push 0
push eax
call fcn.005b2ef0
movss xmm0, dword [edi]
lea eax, [esp + 0x21cf8]
add esp, 0xc
movss dword [esp + 0x21cf4], xmm0
movss dword [esp + 0x21cfc], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21d00], xmm0
push eax
push dword [edi + 8]
lea eax, [esp + 0x24]
movss dword [esp + 0x21d10], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21d08], 0
mov dword [esp + 0x21d0c], 0
mov dword [esp + 0x21d14], 0
mov dword [esp + 0x21d20], 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.00597940
add esp, 0x1c
lea ecx, [esp + 0x2c]
call fcn.00581510
lea ecx, [esp + 0x2c]
call fcn.00581ae0
lea ecx, [esp + 0x2c]
call fcn.00581a20
jmp 0x582523
push 0
push 0x5bd
push str.main.cpp
push str.0_
call fcn.00589fd0
add esp, 0x10
mov edi, dword [0x775bfc]
mov esi, dword [0x6d0324]
mov dword [esp + 0x28], 0xffffffff
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x58251d
push 0x3c
lea eax, [esp + 0x21d34]
push 0
push eax
call fcn.005b2ef0
movss xmm0, dword [edi]
lea eax, [esp + 0x21d38]
add esp, 0xc
movss dword [esp + 0x21d34], xmm0
movss dword [esp + 0x21d3c], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x21d40], xmm0
push eax
push ebx
lea eax, [esp + 0x30]
movss dword [esp + 0x21d50], xmm0
movss xmm0, dword [esi + 0x4a0]
push eax
sub esp, 0x10
mov dword [esp + 0x21d48], 0
mov dword [esp + 0x21d4c], 0
mov dword [esp + 0x21d54], 0
mov dword [esp + 0x21d60], 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.00597940
add esp, 0x1c
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [esp + 0x2c]
call fcn.00580290
call fcn.005805e0
mov ecx, dword [0x6d0324]
call fcn.0058e040
mov ecx, dword [0x6d0324]
push 1
call fcn.0058e230
cmp byte [0x6d18dc], 0
jne 0x582599
push 0
push dword [0x775c10]
call ebx
test eax, eax
jne 0x58256e
push 1
push dword [0x6d1970]
call dword [sym.imp.USER32.dll_SwitchToThisWindow]
push 0
call dword [sym.imp.USER32.dll_ClipCursor]
cmp byte [0x775756], 0
jne 0x5825a2
mov eax, dword [esp + 0x20db4]
test eax, eax
je 0x581f03
cmp eax, 1
je 0x581f03
jmp 0x5825a2
lea ecx, [esp + 0x2c]
call fcn.005878f0
lea ecx, [esp + 0x2c]
call fcn.00587970
mov ecx, dword [0x775c14]
test ecx, ecx
je 0x5825c3
mov eax, dword [ecx]
push 0
push dword [0x6d1970]
push ecx
call dword [eax + 0x28]
mov eax, dword [esp + 0x20db4]
dec eax
je 0x582628
dec eax
je 0x5825ee
dec eax
je 0x582631
push 0
push 0x609
push str.main.cpp
push str.0_
call fcn.00589fd0
add esp, 0x10
jmp 0x582631
lea eax, [esp + 0x211b9]
push eax
lea eax, [esp + 0x21e30]
push str.There_was_a_problem_updating_the_game_n_s_n_nPlease_retry_later
push eax
call fcn.005826f0
add esp, 0xc
lea eax, [esp + 0x211b9]
push 0x10
push str.Error
push eax
push dword [0x6d1970]
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x582631
lea ecx, [esp + 0x2c]
call fcn.00581c30
mov eax, dword [0x776488]
test eax, eax
je 0x58266d
push 0x2710
push eax
call ebx
cmp eax, 0x102
jne 0x582657
push 0
push dword [0x776488]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [0x776488]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x776488], 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x22640], 0xffffffff
call fcn.005843c0
mov ecx, dword [esp + 0x22638]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x22620]
xor ecx, esp
call fcn.005aede3
mov esp, ebp
pop ebp
ret