Function at 0x4077ff
Capabilities:
Check for time delay via gettickcount
Print debug messages
Resume thread
Terminate process

Disassembly:
push 0x26c
mov eax, 0x53bd58
call fcn.00512b64
mov eax, dword [ebp + 8]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp + 0xc]
mov esi, ecx
mov edi, edx
mov byte [0x5eebad], 1
mov byte [0x5eebae], 1
mov dword [ebp - 0x11c], esi
mov dword [0x5eeb90], eax
call ebx
cmp esi, 0xffffffff
mov dword [ebp - 0x13c], eax
jne 0x407863
push dword [ebp + 0xc]
xor esi, esi
push esi
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x11c], eax
jmp 0x407865
xor esi, esi
call ebx
cmp byte [0x5eebb7], 0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x16c], esi
je 0x407a64
push str.Eyeblaster
lea eax, [ebp - 0x198]
push 0x5922bc
push eax
call fcn.0040dd15
add esp, 0xc
mov dword [ebp - 4], esi
cmp dword [0x592504], 0x10
mov ecx, dword [0x5924f0]
jae 0x4078bc
mov ecx, 0x5924f0
cmp dword [eax + 0x18], 0x10
jb 0x4078c7
mov eax, dword [eax + 4]
jmp 0x4078ca
add eax, 4
push ecx
push eax
call fcn.00410cd1
pop ecx
pop ecx
mov bl, al
neg bl
sbb bl, bl
or dword [ebp - 4], 0xffffffff
push esi
push 1
lea ecx, [ebp - 0x198]
inc bl
call fcn.0040aca3
test bl, bl
je 0x407a5f
push str.FATAL_ERROR
lea ecx, [ebp - 0x198]
call fcn.0040a406
xor ebx, ebx
inc ebx
push str.EyeBlasterFailedTitle
lea ecx, [ebp - 0x1ec]
mov dword [ebp - 4], ebx
call fcn.0040a406
push str.Failed_to_load_the_required_library_EbAdServingT.dll._Please_reinstall.
lea ecx, [ebp - 0x1d0]
mov byte [ebp - 4], 2
call fcn.0040a406
push str.EyeBlasterFailedMessage
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 3
call fcn.0040a406
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x1ec]
push eax
lea edi, [ebp - 0x240]
mov byte [ebp - 4], 4
call fcn.004018d7
push eax
lea eax, [ebp - 0x25c]
push eax
mov byte [ebp - 4], 5
call fcn.00477a50
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1b4]
push eax
lea edi, [ebp - 0x224]
mov byte [ebp - 4], 6
call fcn.004018d7
push eax
lea eax, [ebp - 0x278]
push eax
mov byte [ebp - 4], 7
call fcn.00477a50
mov ecx, dword [ebp - 0x13c]
add esp, 0x20
cmp dword [ecx + 0x18], 8
jb 0x4079b9
mov ecx, dword [ecx + 4]
jmp 0x4079bc
add ecx, 4
cmp dword [eax + 0x18], 8
jb 0x4079c7
mov eax, dword [eax + 4]
jmp 0x4079ca
add eax, 4
push 0x10
push ecx
push eax
push esi
call dword [0x593354]
push esi
push ebx
lea ecx, [ebp - 0x278]
call fcn.0040afb1
push esi
push ebx
lea ecx, [ebp - 0x224]
call fcn.0040afb1
push esi
push ebx
lea ecx, [ebp - 0x25c]
call fcn.0040afb1
push esi
push ebx
lea ecx, [ebp - 0x240]
call fcn.0040afb1
push esi
push ebx
lea ecx, [ebp - 0x1b4]
call fcn.0040afb1
push esi
push ebx
lea ecx, [ebp - 0x1d0]
call fcn.0040afb1
push esi
push ebx
lea ecx, [ebp - 0x1ec]
call fcn.0040afb1
or dword [ebp - 4], 0xffffffff
push esi
push ebx
lea ecx, [ebp - 0x198]
call fcn.0040afb1
push esi
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x407e8f
call fcn.0040775e
push 0x74
call fcn.00509a64
cmp eax, esi
pop ecx
je 0x407a79
mov esi, eax
call fcn.00411451
jmp 0x407a7b
xor eax, eax
cmp byte [eax + 0x30], 0
mov dword [ebp - 0x130], eax
jne 0x407a9f
push dword [eax + 0x20]
mov ecx, dword [ebp + 0xc]
push ecx
push dword [eax + 0x4c]
mov dword [eax + 0x34], ecx
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageA]
cmp edi, 0xffffffff
je 0x407abc
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [0x592270]
cmp eax, 0xffffffff
je 0x407abc
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
or dword [ebp - 0x150], 0xffffffff
cmp byte [0x5ca4d4], 0
jne 0x407b00
mov eax, dword [ebp - 0x134]
cmp dword [eax + 0x18], 0x10
jb 0x407add
mov eax, dword [eax + 4]
jmp 0x407ae0
add eax, 4
xor esi, esi
push esi
push 0x80
push 4
push esi
push esi
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x150], eax
jmp 0x407b02
xor esi, esi
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x178], esi
mov esi, dword [ebp - 0x128]
cmp byte [0x5eeb9a], 0
je 0x407b22
call fcn.004146e4
lea eax, [ebp - 0x144]
push eax
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x407e59
cmp dword [ebp - 0x144], 0x103
jne 0x407e59
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [ebp - 0x130]
call fcn.004115e4
call dword [sym.imp.USER32.dll_GetForegroundWindow]
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x128], edi
je 0x407b86
lea ecx, [ebp - 0x128]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp byte [0x5eeb9a], 0
jne 0x407df4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [0x5eebaa], 0
mov dword [ebp - 0x118], eax
je 0x407bb1
mov esi, eax
mov byte [0x5eebaa], 0
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x407c15
mov eax, dword [ebp - 0x120]
sub eax, dword [ebp - 0x16c]
push eax
call fcn.00509c22
mov ebx, eax
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x174]
pop ecx
push eax
call fcn.00509c22
add ebx, eax
cmp ebx, 4
pop ecx
jl 0x407c15
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp + 0xc]
jne 0x407cc1
cmp byte [0x592259], 0
je 0x407c40
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x170]
cmp eax, 0xea60
jae 0x407c65
cmp byte [0x59225a], 0
je 0x407c57
mov eax, dword [ebp - 0x118]
sub eax, esi
add dword [0x5eebb8], eax
mov eax, dword [ebp - 0x118]
sub eax, esi
add dword [0x5eebbc], eax
mov eax, dword [ebp - 0x178]
cmp dword [ebp - 0x14c], eax
je 0x407cc1
push str.LastGameHWND
lea ecx, [ebp - 0x198]
call fcn.0040a2a0
push 4
lea eax, [ebp - 0x14c]
push eax
push 3
lea ecx, [ebp - 0x198]
mov dword [ebp - 4], 8
call fcn.00402b93
or dword [ebp - 4], 0xffffffff
add esp, 0xc
push edi
push 1
lea ecx, [ebp - 0x198]
call fcn.0040aca3
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x178], eax
mov eax, dword [0x5eebb8]
cdq
mov ecx, 0xea60
idiv ecx
mov esi, dword [0x59226c]
push 0xa
pop ecx
sub esi, eax
sub esi, dword [0x5eeba4]
inc dword [ebp - 0x12c]
mov eax, dword [ebp - 0x12c]
cdq
idiv ecx
test edx, edx
jne 0x407cff
cmp byte [0x5eeb9b], dl
jne 0x407cff
call fcn.004048c3
mov eax, dword [ebp - 0x12c]
push 0x14
cdq
pop ecx
idiv ecx
test edx, edx
jne 0x407d44
mov eax, dword [0x5eebb8]
cdq
mov ecx, 0x3e8
idiv ecx
push dword [0x5eebc0]
push eax
lea eax, [ebp - 0x114]
push str.Session_seconds:__d__Minutes_Left:__d_r_n
push eax
call fcn.0050b433
add esp, 0x10
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x5eeb9b], 0
jne 0x407da8
cmp esi, edi
jg 0x407da8
cmp byte [0x59225b], 0
je 0x407da8
mov eax, dword [0x59226c]
mov ebx, dword [0x5eeba4]
sub eax, esi
cmp eax, edi
mov dword [0x5eeba4], eax
jg 0x407d76
mov dword [0x5eeba4], edi
call fcn.00402df7
mov dword [0x5eeba4], ebx
mov bl, byte [0x5eeba8]
push edi
mov byte [0x5eeb9b], 1
call fcn.0040484e
cmp byte [0x5eebb4], 0
pop ecx
mov byte [0x5eeba8], bl
jne 0x407e44
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x13c]
cmp eax, 0x7530
jb 0x407dee
mov eax, dword [0x59226c]
mov ebx, dword [0x5eeba4]
sub eax, esi
cmp eax, edi
mov dword [0x5eeba4], eax
jg 0x407dd7
mov dword [0x5eeba4], edi
call fcn.00402df7
mov eax, dword [ebp - 0x118]
mov dword [0x5eeba4], ebx
mov dword [ebp - 0x13c], eax
mov esi, dword [ebp - 0x118]
push edi
push edi
push edi
push edi
mov edi, dword [sym.imp.USER32.dll_PeekMessageA]
lea eax, [ebp - 0x1b4]
push eax
call edi
test eax, eax
je 0x407b14
jmp 0x407e2b
lea eax, [ebp - 0x1b4]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x1b4]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x1b4]
push eax
call edi
test eax, eax
jne 0x407e11
jmp 0x407b14
push dword [0x5eebd0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x407e59
call fcn.00401c85
cmp dword [ebp - 0x150], 0xffffffff
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x407e70
push dword [ebp - 0x150]
call esi
mov eax, dword [ebp - 0x130]
call fcn.0041157d
push dword [ebp - 0x130]
call fcn.0050b609
pop ecx
push dword [ebp - 0x11c]
call esi
mov byte [0x5eebae], 0
call fcn.00402df7
call fcn.00402b38
mov eax, dword [ebp - 0x134]
cmp dword [eax + 0x18], 0x10
jb 0x407eb1
mov eax, dword [eax + 4]
jmp 0x407eb4
add eax, 4
push eax
lea ecx, [ebp - 0x198]
call fcn.0040a2a0
lea esi, [ebp - 0x198]
call fcn.0040772f
push 0
push 1
mov ecx, esi
call fcn.0040aca3
call fcn.00402df7
cmp byte [0x5eeb9a], 0
jne 0x407f0d
cmp byte [0x5eeb9b], 0
jne 0x40809c
cmp byte [0x5eeba8], 0
jne 0x40809c
call fcn.00404898
call fcn.0040762d
jmp 0x40809c
lea eax, [ebp - 0x168]
push eax
call fcn.00419fa4
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
lea ecx, [ebp - 0x168]
push ecx
push eax
lea ecx, [ebp - 0x124]
call fcn.0040c32a
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x134], eax
jmp 0x408018
lea ecx, [ebp - 0x138]
call fcn.0040be82
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00419dc4
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
lea ecx, [ebp - 0x15c]
push ecx
push eax
lea ecx, [ebp - 0x17c]
call fcn.0040c32a
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x144], eax
jmp 0x407fd1
lea esi, [ebp - 0x148]
call fcn.0041d49b
mov esi, dword [eax]
push esi
call fcn.00419e4e
cmp dword [eax + 0x54], 3
je 0x40804c
lea esi, [ebp - 0x148]
call fcn.0041dbf0
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x158]
lea ecx, [ebp - 0x124]
call fcn.0040c32a
lea edi, [ebp - 0x124]
lea esi, [ebp - 0x148]
call fcn.0040a8d1
test al, al
jne 0x407fa9
lea esi, [ebp - 0x15c]
mov byte [ebp - 4], 9
call fcn.0040b1c2
lea ecx, [ebp - 0x138]
call fcn.0040b4c4
lea eax, [ebp - 0x168]
push eax
push dword [ebp - 0x164]
lea ecx, [ebp - 0x140]
call fcn.0040c32a
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x138]
call fcn.00415593
test al, al
je 0x407f58
jmp 0x40808d
push str.PurchasedEndScreen
lea ecx, [ebp - 0x208]
mov dword [0x592254], esi
call fcn.0040a2a0
lea eax, [ebp - 0x208]
push eax
mov byte [ebp - 4], 0xb
call fcn.004075d3
pop ecx
push 0
push 1
lea ecx, [ebp - 0x208]
call fcn.0040aca3
lea esi, [ebp - 0x15c]
call fcn.0040b1c2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.0040b46a
call fcn.00512be7
ret