Function at 0x40da00
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4728e0
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x49c00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0x3e8], 0
jle 0x40dc03
nop word [eax + eax]
xor edi, edi
cmp byte [esi + 0xc7], 0
jne 0x40dc4a
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x64
jl 0x40da42
dec dword [esi + 0x3e8]
call fcn.0040a540
mov ecx, eax
test ecx, ecx
je 0x40dc66
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40dc70
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x4c]
push dword [esi + 0x3e8]
push 0x487aec
push eax
call fcn.00409d20
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov edi, dword [esi + 0x224]
sub edi, 0x10
lea ebx, [eax - 0x10]
cmp ebx, edi
je 0x40db32
cmp dword [edi + 0xc], 0
jl 0x40db23
mov ecx, dword [ebx]
cmp ecx, dword [edi]
jne 0x40db23
mov ecx, ebx
call fcn.00409890
mov dword [ebp - 0x50], eax
lea edx, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40db15
mov edx, dword [edi]
push edi
mov ecx, dword [edx]
mov eax, dword [ecx + 4]
cmp ecx, vtable.ATL::CAtlStringMgr.0
jne 0x40dc77
mov eax, dword [edx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [ebp - 0x50]
add eax, 0x10
mov dword [esi + 0x224], eax
jmp 0x40db32
mov eax, dword [ebp - 0x50]
add eax, 0x10
mov dword [esi + 0x224], eax
jmp 0x40db32
push dword [eax - 0xc]
lea ecx, [esi + 0x224]
push eax
call fcn.00409900
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
cmp eax, vtable.CNsMsgBox.0
jne 0x40dc80
cmp byte [esi + 0x5c], 0
je 0x40db59
push 0
push 0
push 0xf
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x40dbc1
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [ebp - 0x48]
call sym.Install_rocket.exe_public:_void___thiscall_CNsDC::constructor_void_
mov byte [ebp - 4], 1
lea eax, [ebp - 0x20]
cmp byte [esi + 0x5c], 0
lea ecx, [ebp - 0x48]
je 0x40db90
push dword [esi + 0x54]
push 1
jmp 0x40db94
push 0
push 0
push 0
push eax
push edi
call sym.Install_rocket.exe_public:_void___thiscall_CNsDC::CreateMemDC_struct_HDC_____struct_tagRECT___bool__bool__struct_HWND____
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x48]
call dword [eax + 0xc]
lea ecx, [ebp - 0x48]
call sym.Install_rocket.exe_public:_void___thiscall_CNsDC::Draw_void_
push edi
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_ReleaseDC]
lea ecx, [ebp - 0x48]
call sym.Install_rocket.exe_public:_void___thiscall_CNsDC::destructor_void_
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x40dbf6
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x40dc89
mov eax, dword [ecx + 4]
push 0
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esi + 0x3e8], 0
jg 0x40da40
mov eax, dword [esi]
mov ecx, esi
push dword [esi + 0x3e4]
call dword [eax + 0x5c]
push 0
push dword [esi + 0x54]
mov dword [esi + 0x68], 1
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0x200
push dword [esi + 0x54]
mov byte [esi + 0xc7], 1
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004298d0
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040a640
call edx
jmp 0x40da89
mov ecx, edx
call eax
jmp 0x40db15
mov ecx, esi
call edx
jmp 0x40dbc1
call edx
jmp 0x40dbf6