Function at 0x402eb0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4047de
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x407018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
sub eax, 0x438
mov esi, ecx
mov dword [ebp - 0x48], esi
je 0x402f15
dec eax
jne 0x40310e
push 0x439
push esi
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push 0x3e8
push 0x438
push esi
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x40310e
mov edx, dword [0x408a84]
mov eax, dword [0x408a80]
sub edx, eax
xor edi, edi
sar edx, 2
xor ecx, ecx
mov dword [ebp - 0x5c], edi
test edx, edx
je 0x40310e
jmp 0x402f3b
mov esi, dword [ebp - 0x48]
xor ecx, ecx
mov ebx, dword [eax + edi*4]
cmp dword [ebx + 0x80], esi
jne 0x4030f2
cmp dword [ebx + 0x14], 0x10
mov dword [ebp - 0x44], ecx
jb 0x402f57
mov esi, dword [ebx]
jmp 0x402f59
mov esi, ebx
test byte [0x408aa4], 1
jne 0x402f7d
or dword [0x408aa4], 1
mov dword [ebp - 4], ecx
call fcn.00401f40
mov dword [0x408aa0], eax
mov dword [ebp - 4], 0xffffffff
cmp dword [0x408aa0], 0
push esi
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x58]
je 0x402f94
call fcn.00401c10
jmp 0x402f99
call fcn.004018d0
add esp, 4
test eax, eax
je 0x4030e6
mov esi, dword [ebp - 0x50]
mov eax, dword [ebx + 0x78]
sub esi, dword [ebp - 0x58]
sub eax, dword [ebx + 0x70]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x68], esi
cmp esi, eax
jne 0x402fd0
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 0x4c]
sub ecx, dword [ebx + 0x74]
sub eax, edi
mov dword [ebp - 0x44], eax
cmp eax, ecx
je 0x403095
cmp dword [ebx + 0x84], 0
jne 0x402fe7
push 0
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx + 0x84], eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x4c]
sub eax, edi
mov dword [ebp - 0x44], eax
mov edx, 0x20
mov word [ebp - 0x32], dx
cdq
mov edi, eax
xor edi, edx
sub edi, edx
mov eax, edi
neg eax
mov dword [ebp - 0x38], eax
mov eax, esi
cdq
mov esi, eax
push 0
xor esi, edx
push 0
sub esi, edx
lea edx, [ebp - 0x60]
push edx
push 0
lea eax, [ebp - 0x40]
push eax
mov ecx, 1
push 0
mov dword [ebp - 0x3c], esi
mov word [ebp - 0x34], cx
mov dword [ebp - 0x40], 0x28
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov ecx, dword [ebx + 0x84]
push eax
push ecx
mov dword [ebx + 0x88], eax
call dword [sym.imp.GDI32.dll_SelectObject]
imul esi, edi
mov edx, dword [ebp - 0x60]
add esi, esi
add esi, esi
push esi
push 1
push edx
mov dword [ebp - 0x64], eax
call sub.MSVCR100.dll_memset
mov eax, dword [ebp - 0x64]
add esp, 0xc
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x70], ecx
mov dword [ebx + 0x74], edi
mov dword [ebx + 0x78], edx
mov dword [ebx + 0x7c], eax
mov ebx, dword [ebp - 0x48]
push ebx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4030ce
push 5
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0xf
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x58]
push 0
push ecx
push esi
push edi
push edx
push ebx
call dword [sym.imp.USER32.dll_MoveWindow]
mov edi, dword [ebp - 0x5c]
jmp 0x4030f2
mov eax, dword [ebp - 0x48]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x408a84]
mov eax, dword [0x408a80]
sub ecx, eax
inc edi
sar ecx, 2
mov dword [ebp - 0x5c], edi
cmp edi, ecx
jb 0x402f36
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004034b4
mov esp, ebp
pop ebp
ret