Function at 0x489950
Capabilities:
Hide graphical window
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fdc0b
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x17c0
call fcn.004c0e30
mov eax, dword [0x54c040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x17c4], edi
call fcn.0041e8c0
lea ecx, [ebp - 0xa58]
call fcn.00420010
lea eax, [ebp - 0xa58]
push eax
call dword [0x555a0c]
add esp, 4
test al, al
je 0x489b51
mov eax, dword [ebp - 0xa58]
cmp eax, 6
je 0x489b51
cmp eax, 7
je 0x489b51
test eax, eax
je 0x489b51
push 0x529478
lea ecx, [ebp - 0x17bc]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 4], 0
call fcn.0041e8c0
lea ecx, [ebp - 0x17b8]
call fcn.0041f370
lea eax, [ebp - 0x17b8]
push eax
call dword [0x555a24]
add esp, 4
test al, al
je 0x489a41
mov eax, dword [ebp - 0xbb2]
test eax, eax
je 0x489a41
cmp eax, 2
jne 0x489a41
push 0x529400
lea ecx, [ebp - 0x17bc]
call dword [sym.imp.utilities.dll_public:_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_____thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::operator_wchar_t_const__]
push ecx
mov ecx, esp
mov dword [ebp - 0x17c8], esp
push 0x50d9a4
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
mov byte [ebp - 4], 1
mov ecx, esp
mov dword [ebp - 0x17cc], esp
push 0x50d9a4
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push 0
push 1
push ecx
mov byte [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x17d0], esp
push 0x5293ec
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
lea eax, [ebp - 0x17bc]
mov byte [ebp - 4], 3
mov ecx, esp
push eax
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits__const__]
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0
call fcn.00464540
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3e8]
push dword [edi + 0x248]
call fcn.00464170
cmp eax, 1
je 0x489ae2
lea ecx, [ebp - 0x3e8]
call fcn.00464690
lea ecx, [ebp - 0x17bc]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
jmp 0x48a06f
push 0
push dword [edi + 0x248]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.0041e8c0
call dword [0x5558c0]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 0
push 0x806
push dword [edi + 0x248]
call esi
push 0
push 0
push 0x7fd
push dword [edi + 0x248]
call esi
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x3e8]
call fcn.00464690
lea ecx, [ebp - 0x17bc]
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
jmp 0x489c51
call fcn.0041e8c0
lea ecx, [ebp - 0x17b8]
call fcn.0041f370
lea eax, [ebp - 0x17b8]
push eax
call dword [0x555a24]
add esp, 4
test al, al
je 0x489c38
mov eax, dword [ebp - 0xbb2]
test eax, eax
je 0x489c38
cmp eax, 2
jne 0x489c38
push ecx
mov ecx, esp
mov dword [ebp - 0x17c0], esp
push 0x50d9a4
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
mov dword [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x17d0], esp
push 0x50d9a4
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push 0
push 1
push ecx
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x17cc], esp
push 0x5293ec
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
push ecx
mov ecx, esp
mov byte [ebp - 4], 7
push 0x529400
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
lea ecx, [ebp - 0x3e8]
mov dword [ebp - 4], 0xffffffff
call fcn.00464540
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x3e8]
push dword [edi + 0x248]
call fcn.00464170
lea ecx, [ebp - 0x3e8]
cmp eax, 1
je 0x489c2c
call fcn.00464690
jmp 0x48a06f
mov dword [ebp - 4], 0xffffffff
call fcn.00464690
push 0
push dword [edi + 0x248]
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.0041e8c0
call dword [0x5558c0]
call fcn.0041e8c0
push edi
call dword [0x5558e0]
add esp, 4
call fcn.00464b10
mov esi, dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SHostWnd::KillTimer_unsigned_int_]
mov edi, eax
push 0x2710
mov ecx, edi
call esi
push 0x2711
mov ecx, edi
mov byte [edi + 0x39c], 0
call esi
push 0x2712
mov ecx, edi
call esi
push 0x2714
mov ecx, edi
call esi
mov dword [edi + 0x390], 0
mov ecx, edi
mov dword [edi + 0x394], 0
mov dword [edi + 0x398], 0
mov dword [edi + 0x3a0], 0
mov dword [edi + 0x3a4], 0
mov edi, dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SHostWnd::DestroyWindow_void_]
call edi
call fcn.00467810
mov ecx, eax
call edi
call fcn.0045bd90
mov ecx, eax
call edi
call fcn.0045a2b0
mov ecx, eax
call edi
call fcn.0046cb80
mov esi, eax
call fcn.00459550
mov ecx, eax
call edi
mov ecx, esi
call edi
call fcn.004581a0
mov ecx, eax
call edi
mov edi, dword [0x555dc0]
test edi, edi
jne 0x489d5e
push 0x1c
call fcn.004c04db
mov edi, eax
add esp, 4
mov dword [ebp - 0x17c0], edi
mov dword [0x555dc0], edi
mov dword [edi], vtable.SOUI::SClientBubbleDlgManage.0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov eax, dword [edi + 8]
mov esi, dword [edi + 4]
mov dword [ebp - 0x17bc], eax
cmp esi, eax
je 0x489d8b
nop
mov ecx, dword [esi]
test ecx, ecx
je 0x489d84
mov eax, dword [ecx]
call dword [eax + 0x94]
mov eax, dword [ebp - 0x17bc]
add esi, 4
cmp esi, eax
jne 0x489d70
mov eax, dword [edi + 4]
cmp eax, dword [edi + 8]
je 0x489d96
mov dword [edi + 8], eax
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 0x14]
je 0x489da1
mov dword [edi + 0x14], eax
mov esi, dword [ebp - 0x17c4]
mov ecx, esi
mov dword [0x555c6c], 0
lea eax, [esi + 0x388]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
call eax
mov ecx, eax
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SMessageLoop::RemoveIdleHandler_struct_SOUI::IIdleHandler__]
call dword [0x555ac0]
test al, al
je 0x489df8
call dword [0x555abc]
cmp eax, 1
jg 0x489df8
push 0x529438
push 1
push 0x426
push str.MainDlg.cpp
call dword [0x555ac4]
add esp, 0x10
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.client_exit
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.004197f0
mov dword [ebp - 4], 9
call fcn.0041e8c0
cmp dword [ebp - 0x18], 7
lea eax, [ebp - 0x2c]
push 0
cmova eax, dword [ebp - 0x2c]
push eax
push 0
call dword [0x5559b8]
mov dword [ebp - 4], 0xffffffff
add esp, 0xc
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x489e82
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x489e78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48a08d
push ecx
push edx
call fcn.004c04a1
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x17bc], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
sub esp, 0x18
mov dword [ebp - 4], 0xa
mov ecx, esp
xorps xmm0, xmm0
push 0xe
movups xmmword [ecx], xmm0
push str.subprocess.exe
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.004197f0
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x17bc]
call fcn.0041d1b0
mov edi, dword [ebp - 0x20]
add esp, 0x18
test al, al
je 0x489f83
mov eax, edi
mov dword [ebp - 0x17bc], eax
cmp eax, dword [ebp - 0x1c]
je 0x489f54
nop dword [eax + eax]
mov esi, eax
lea edi, [ebp - 0x268]
mov ecx, 0x8b
rep movsd dword es:[edi], dword [esi]
push dword [ebp - 0x260]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x489f35
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x17bc]
add eax, 0x22c
mov dword [ebp - 0x17bc], eax
cmp eax, dword [ebp - 0x1c]
jne 0x489f00
mov esi, dword [ebp - 0x17c4]
mov edi, dword [ebp - 0x20]
call dword [0x555ac0]
test al, al
je 0x489f83
call dword [0x555abc]
cmp eax, 1
jg 0x489f83
push 0x529748
push 1
push 0x435
push str.MainDlg.cpp
call dword [0x555ac4]
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x489fd2
mov ecx, dword [ebp - 0x18]
mov eax, 0x75ded953
sub ecx, edi
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x22c
mov eax, edi
cmp ecx, 0x1000
jb 0x489fc8
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48a092
push ecx
push edi
call fcn.004c04a1
add esp, 8
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x555e6c]
cmp eax, dword [ecx + 4]
jle 0x48a02a
push 0x555e6c
call fcn.004c0595
add esp, 4
cmp dword [0x555e6c], 0xffffffff
jne 0x48a02a
mov dword [ebp - 4], 0xb
call fcn.0041e2e0
push 0x5013d0
call fcn.004c0b4a
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x555e6c
call fcn.004c0544
add esp, 4
mov ecx, 0x555e70
call fcn.0041e950
call dword [0x555ac0]
test al, al
je 0x48a063
call dword [0x555abc]
cmp eax, 1
jg 0x48a063
push 0x529aec
push 1
push 0x43b
push str.MainDlg.cpp
call dword [0x555ac4]
add esp, 0x10
push dword [esi + 0x248]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004c048e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004cfc7c
call fcn.004cfc7c
int3