Function at 0x40f130
Capabilities:
Terminate process

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4c1f94
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
push edi
mov esi, ecx
mov ecx, dword [esi + 0x198]
mov edx, dword [esi]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 0x48]
mov ecx, dword [esi + 0x198]
mov edx, dword [esi]
mov eax, dword [ecx]
push edx
call dword [eax + 0x58]
mov ecx, esi
call fcn.0040baa0
mov ecx, esi
call fcn.0040b9b0
test eax, eax
je 0x40f189
call fcn.0040b9b0
mov ecx, eax
call fcn.0048baf0
call fcn.00471b70
mov ecx, eax
call dword [sym.imp.engine.dll_public:_struct_AccountInfo_s____thiscall_IScavengerWorldNet::GetAccountInfo_void_]
mov ecx, dword [0x4ff170]
mov edi, eax
call fcn.0043a210
cmp dword [esi + 0x180], 0x1d
jne 0x40f3fc
mov eax, dword [esi + 0x198]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x40f1c8
mov ecx, dword [0x4ff170]
call fcn.0043a220
mov ecx, edi
call dword [sym.imp.engine.dll_public:_enum_EVOTE___thiscall_AccountInfo_s::GetVote_void_]
test eax, eax
je 0x40f3fc
push ebp
lea ecx, [esp + 0x10]
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::constructor_void_]
mov dword [esp + 0x24], 0
call dword [sym.imp.winmm.dll_timeGetTime]
mov ebp, 0xea60
mov ecx, edi
sub ebp, eax
call dword [sym.imp.engine.dll_public:_unsigned_long_int___thiscall_AccountInfo_s::GetRestVoteTime_void_]
add ebp, eax
cmp ebp, 0x1388
jae 0x40f2a1
mov al, byte [edi + 0x2d74]
mov bl, 2
cmp al, bl
jne 0x40f3e9
lea eax, [esp + 0x18]
push 0x2b7
push eax
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
push 5
mov ecx, eax
mov byte [esp + 0x28], 1
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
lea ecx, [esp + 0x1c]
push 0
push ecx
call dword [sym.imp.engine.dll_public:_void___cdecl_CTString::constructor_long_int__char_const__]
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], bl
call dword [0x4d04f4]
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], 1
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esp + 0x18]
mov byte [esp + 0x24], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov edx, dword [sym.imp.engine.dll_class_CTimer___pTimer]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x10]
push 1
mov edx, ecx
push edx
push eax
mov dword [esp + 0x24], ecx
push 0x4d1f96
jmp 0x40f3d6
cmp ebp, 0x2710
jae 0x40f33d
cmp byte [edi + 0x2d74], 1
jne 0x40f3e9
lea ecx, [esp + 0x14]
push 0x2b7
push ecx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov bl, 3
push 0xa
mov ecx, eax
mov byte [esp + 0x28], bl
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
lea edx, [esp + 0x20]
push 0
push edx
call dword [sym.imp.engine.dll_public:_void___cdecl_CTString::constructor_long_int__char_const__]
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 4
call dword [0x4d04f4]
lea ecx, [esp + 0x18]
mov byte [esp + 0x24], bl
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov eax, dword [sym.imp.engine.dll_class_CTimer___pTimer]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, dword [esp + 0x10]
push 1
mov eax, edx
push eax
push ecx
mov dword [esp + 0x24], edx
push 0x4d1f97
jmp 0x40f3d6
cmp ebp, 0x7530
jae 0x40f3e9
mov al, byte [edi + 0x2d74]
test al, al
jne 0x40f3e9
lea edx, [esp + 0x14]
push 0x2b7
push edx
call dword [sym.imp.entitiesmp.dll_class_CTString___cdecl_GetLanguageStr_unsigned_long_int_]
add esp, 8
mov bl, 5
push 0x1e
mov ecx, eax
mov byte [esp + 0x28], bl
call dword [sym.imp.engine.dll_public:_char_const____thiscall_CTString::operator_char_const__void_const]
push eax
lea eax, [esp + 0x20]
push 0
push eax
call dword [sym.imp.engine.dll_public:_void___cdecl_CTString::constructor_long_int__char_const__]
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 6
call dword [0x4d04f4]
lea ecx, [esp + 0x18]
mov byte [esp + 0x24], bl
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
lea ecx, [esp + 0x14]
mov byte [esp + 0x24], 0
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
mov ecx, dword [sym.imp.engine.dll_class_CTimer___pTimer]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x10]
push 1
mov ecx, eax
push ecx
push edx
mov dword [esp + 0x24], eax
push 0x4d1f98
lea ecx, [esi + 0x468c]
push 1
call fcn.0040d9f0
inc byte [edi + 0x2d74]
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], 0xffffffff
call dword [sym.imp.engine.dll_public:_void___thiscall_CTString::destructor_void_]
pop ebp
call fcn.004bc8f0
mov eax, dword [eax + 8]
mov edi, dword [sym.imp.kernel32.dll_GetExitCodeThread]
lea ecx, [esp + 0x14]
push ecx
push eax
call edi
test eax, eax
je 0x40f4c9
mov eax, dword [esp + 0x14]
mov ebx, 0x103
cmp eax, ebx
jne 0x40f4c9
call dword [sym.imp.engine.dll_class_Xenesis2::Foundation::Memory::xEncryptMemory____cdecl_Xenesis2::Foundation::Memory::theEncryptMemory_void_]
lea edx, [esp + 0x14]
push edx
mov ecx, eax
call dword [sym.imp.engine.dll_public:_void__const___thiscall_ThreadBase_0__10_::getThreadHandle_void_const]
push eax
call edi
test eax, eax
je 0x40f4c9
cmp dword [esp + 0x14], ebx
jne 0x40f4c9
mov ecx, esi
call fcn.0040ef30
mov ecx, esi
call fcn.0040cd80
mov eax, dword [esi + 0x190]
push eax
call dword [sym.imp.user32.dll_IsIconic]
test eax, eax
jne 0x40f47b
mov ecx, dword [esi + 0x19c]
push eax
call dword [sym.imp.engine.dll_public:_void___thiscall_CViewPort::SwapBuffers_int_]
mov ecx, dword [esi + 0x198]
mov eax, dword [ecx + 0x490]
test eax, eax
je 0x40f4a2
mov eax, dword [ecx]
call dword [eax + 0x4c]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret
mov ecx, esi
call fcn.0040a840
mov ecx, dword [sym.imp.engine.dll_class_CNetworkLibrary___pNetwork]
mov ecx, dword [ecx]
call dword [sym.imp.engine.dll_public:_void___thiscall_CNetworkLibrary::GameInactive_void_]
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret
push 1
call dword [sym.imp.msvcr71.dll_exit]
int3