Function at 0x404f00
Capabilities:
Check for peb ntglobalflag flag
Check for time delay via gettickcount
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4378d8
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x44a728]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44a728]
xor eax, esp
push eax
lea eax, [esp + 0x84]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x94]
push str.CPatchExpClientDlg::ExecuteGame___begins.
call fcn.00402210
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x54], eax
xor ebx, ebx
mov eax, 7
mov dword [esp + 0x5c], vtable.CIniManagerW.0
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
mov dword [esp + 0x8c], ebx
push 0xb
push 0x43f6d8
lea esi, [esp + 0x1c]
mov dword [esp + 0x38], 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], bx
call fcn.004017b0
lea eax, [esp + 0x30]
push eax
mov edi, esi
lea ecx, [esp + 0x60]
mov byte [esp + 0x90], 1
call fcn.004012e0
mov edi, 8
mov byte [esp + 0x8c], bl
cmp dword [esp + 0x2c], edi
jb 0x404fd2
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00406d00
add esp, 4
push 0xd
push str.QQLoginUpdate
lea esi, [esp + 0x1c]
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], bx
call fcn.004017b0
mov byte [esp + 0x8c], 2
push 7
push str.VERSION
lea esi, [esp + 0x3c]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
call fcn.004017b0
cmp dword [esp + 0x78], edi
mov edx, dword [esp + 0x64]
jae 0x40502a
lea edx, [esp + 0x64]
cmp dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x18]
jae 0x405038
lea ecx, [esp + 0x18]
cmp dword [esp + 0x4c], edi
mov eax, dword [esp + 0x38]
jae 0x405046
lea eax, [esp + 0x38]
push edx
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, eax
neg esi
sbb esi, esi
neg esi
cmp dword [esp + 0x4c], edi
jb 0x40506b
mov edx, dword [esp + 0x38]
push edx
call fcn.00406d00
add esp, 4
mov byte [esp + 0x8c], bl
cmp dword [esp + 0x2c], edi
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], ebx
mov word [esp + 0x38], bx
jb 0x405096
mov eax, dword [esp + 0x18]
push eax
call fcn.00406d00
add esp, 4
cmp esi, ebx
je 0x4050b7
push str.Execute_QQLogin__ExecuteGame_
call fcn.00402210
mov ecx, dword [ebp + 0x20]
add esp, 4
push ecx
mov edx, 0x43ed84
mov ecx, str.qqlogin.exe
jmp 0x4050d3
push str.Execute_Game_Client__ExecuteGame_
call fcn.00402210
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x80]
add esp, 4
push eax
mov ecx, str.crossfire.exe
call fcn.00402b60
add esp, 4
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x54]
xor ecx, ecx
cmp esi, 1
setne cl
mov edx, ebp
mov dword [ebp + 0x30c], eax
lea ecx, [ecx*8 + 1]
mov dword [ebp + 0x310], ecx
call fcn.00405230
push str.CPatchExpClientDlg::ExecuteGame___finished.
call fcn.00402210
add esp, 4
cmp dword [esp + 0x78], edi
mov dword [esp + 0x5c], vtable.CIniManagerW.0
jb 0x405131
mov edx, dword [esp + 0x64]
push edx
call fcn.00406d00
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.004217b9
add esp, 0x7c
ret 4