Function at 0x404540
Capabilities:
Terminate process

Disassembly:
sub esp, 0x24
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push eax
call sub.MFC42.DLL_CTime::GetTickCount
lea ecx, [esp + 0x14]
call fcn.00403030
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
cmp ebp, 0xf
ja 0x404825
cmp ebp, 0xf
je 0x40482d
mov eax, ebp
dec eax
je 0x404614
dec eax
jne 0x404848
mov ecx, dword [0x43fcdc]
test ecx, ecx
je 0x4045a4
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov ecx, dword [0x43fcdc]
test ecx, ecx
je 0x4045a4
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov ecx, dword [0x43fcb8]
test ecx, ecx
je 0x4045b4
mov eax, dword [ecx]
push 3
call dword [eax]
mov eax, dword [0x43fce8]
test eax, eax
je 0x4045c6
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [0x43fce0]
test ecx, ecx
je 0x4045d6
mov edx, dword [ecx]
push 3
call dword [edx]
mov ecx, dword [0x43fce4]
test ecx, ecx
je 0x4045e6
mov eax, dword [ecx]
push 3
call dword [eax]
mov eax, dword [0x40a020]
test eax, eax
jle 0x4045ff
mov ecx, dword [0x43fcd8]
test ecx, ecx
je 0x4045ff
mov edx, dword [ecx]
push 3
call dword [edx]
mov eax, dword [esp + 0x38]
push 1
push eax
call dword [sym.imp.USER32.dll_KillTimer]
push 0
call dword [sym.imp.MSVCRT.dll_exit]
call fcn.00403ac0
lea ecx, [esp + 0x14]
call fcn.00403080
lea ecx, [esp + 0x24]
mov dword [0x43fcdc], eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00403270
mov edx, dword [eax]
mov esi, dword [0x40a03c]
mov dword [0x43fcc0], edx
mov ecx, dword [eax + 4]
mov dword [0x43fcc4], ecx
mov edx, dword [eax + 8]
mov dword [0x43fcc8], edx
mov eax, dword [eax + 0xc]
test esi, esi
mov dword [0x43fccc], eax
jle 0x404698
mov ecx, esi
shl ecx, 6
add ecx, 4
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
test eax, eax
je 0x404690
push fcn.00402450
push 0x402430
lea edi, [eax + 4]
push esi
push 0x40
push edi
mov dword [eax], esi
call fcn.0040721c
jmp 0x404692
xor edi, edi
mov dword [0x43fcb8], edi
mov esi, dword [0x40a040]
test esi, esi
jle 0x4046dc
mov edx, esi
shl edx, 7
add edx, 4
push edx
call sub.MFC42.DLL_operatornew
add esp, 4
test eax, eax
je 0x4046d4
push fcn.00404ac0
push 0x404a00
lea edi, [eax + 4]
push esi
push 0x80
push edi
mov dword [eax], esi
call fcn.0040721c
jmp 0x4046d6
xor edi, edi
mov dword [0x43fce0], edi
mov esi, dword [0x40a044]
test esi, esi
jle 0x404727
lea eax, [esi + esi*2]
shl eax, 4
sub eax, esi
lea ecx, [eax*4 + 4]
push ecx
call sub.MFC42.DLL_operatornew
add esp, 4
test eax, eax
je 0x40471f
push fcn.00401020
push entry0
lea edi, [eax + 4]
push esi
push 0xbc
push edi
mov dword [eax], esi
call fcn.0040721c
jmp 0x404721
xor edi, edi
mov dword [0x43fce4], edi
mov esi, dword [0x40a020]
test esi, esi
jle 0x40476f
lea edx, [esi + esi*2]
shl edx, 4
add edx, 4
push edx
call sub.MFC42.DLL_operatornew
add esp, 4
test eax, eax
je 0x404761
push fcn.004062b0
push 0x406280
lea edi, [eax + 4]
push esi
push 0x30
push edi
mov dword [eax], esi
call fcn.0040721c
jmp 0x404763
xor edi, edi
mov esi, dword [0x40a020]
mov dword [0x43fcd8], edi
xor edi, edi
test esi, esi
jle 0x4047c6
xor esi, esi
mov ecx, dword [0x43fcc0]
mov edx, dword [0x43fcc4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [0x43fcc8]
mov dword [eax + 4], edx
mov edx, dword [0x43fccc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [0x43fcd8]
lea ecx, [esi + eax]
call fcn.004065f0
mov ecx, dword [0x43fcd8]
add ecx, esi
call fcn.00406620
mov eax, dword [0x40a020]
inc edi
add esi, 0x30
cmp edi, eax
jl 0x404777
lea ecx, [esp + 0x14]
call fcn.004032c0
push eax
mov dword [0x43fce8], eax
call fcn.00403540
add esp, 4
lea ecx, [esp + 0x10]
push 0
call sub.MFC42.DLL_CTime::GetLocalTm
mov esi, dword [eax + 0xc]
push 0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edi, dword [eax + 4]
push 0
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax]
imul eax, edi
imul eax, esi
push eax
call dword [sym.imp.MSVCRT.dll_srand]
add esp, 4
push 0
push 1
push 1
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x404848
cmp ebp, 0x113
jne 0x404848
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push esi
push ebx
call fcn.00404120
add esp, 8
push esi
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
push edx
push eax
push ebp
push ebx
call fcn.004068ed
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.00403070
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0x10