Function at 0x40b51a
Capabilities:
Hide graphical window

Disassembly:
mov eax, 0x43c178
call fcn.0043a940
sub esp, 0xb8
and dword [ebp - 0x10], 0
push ebx
push esi
push edi
mov edi, 0x4561c0
mov ecx, edi
call fcn.00436139
mov ecx, 0x455e50
call fcn.0042c36a
push 0x88
push dword [ebp + 8]
call fcn.00431eca
pop ecx
pop ecx
push dword [ebp + 8]
call sub.MFC42u.DLL_CWnd::FromHandle
push 1
mov ebx, eax
push dword [0x456278]
mov ecx, ebx
push dword [0x456274]
push dword [0x45626c]
push dword [0x456270]
call sub.MFC42u.DLL_CWnd::MoveWindow
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x44f
push dword [ebp + 8]
call esi
push eax
call fcn.0040f081
mov dword [esp], 0x440
push dword [ebp + 8]
call esi
push eax
mov ecx, 0x4562a8
call fcn.0040f9a9
push 0x3f9
push dword [ebp + 8]
call esi
push eax
mov ecx, edi
call fcn.00435f88
push 0
push 1
push dword [ebp + 8]
call esi
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push eax
call edi
push 0
push 2
push dword [ebp + 8]
call esi
push eax
call edi
lea ecx, [ebp - 0x34]
call dword [sym.imp.FtUiKit_u.dll_public:_void___thiscall_DuiLib::CDuiRect::constructor_void_]
lea eax, [ebp - 0x34]
push eax
push 1
push dword [ebp + 8]
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0x34]
push eax
push dword [ebp + 8]
call edi
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call edi
push 0x394
call sub.MFC42u.DLL_operatornew
pop ecx
mov dword [ebp - 0x14], eax
and dword [ebp - 4], 0
test eax, eax
je 0x40b686
push 1
lea eax, [ebp - 0x24]
pop edi
push 0x4503ec
push edi
push eax
mov dword [ebp - 0x10], edi
call fcn.00431e3b
add esp, 0xc
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 1
call dword [sym.imp.FtUiKit_u.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_unsigned_short_int_const___int_]
mov dword [ebp - 0x10], 3
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x34]
push edi
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 4], 2
push eax
push str.ePassManager_2003_inner_btn.xml
call fcn.0040ecef
jmp 0x40b688
xor eax, eax
test byte [ebp - 0x10], 2
mov dword [0x456304], eax
mov dword [ebp - 4], 3
je 0x40b6aa
and dword [ebp - 0x10], 0xfffffffd
lea ecx, [ebp - 0xc4]
call dword [sym.imp.FtUiKit_u.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x10], 1
je 0x40b6d7
and dword [ebp - 0x10], 0xfffffffe
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 4], 5
sar eax, 1
push eax
push dword [ebp - 0x24]
call fcn.0040acc0
or dword [ebp - 4], 0xffffffff
mov edi, 0x80000000
push 0
push edi
push edi
mov ecx, dword [0x456304]
push edi
push edi
push 0
push 0x56000000
push str.DuiButtons
push dword [ebp + 8]
call dword [sym.imp.FtUiKit_u.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____unsigned_short_int_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
mov ecx, dword [0x456304]
push 0
mov eax, dword [ecx]
call dword [eax + 0x9c]
lea ecx, [ebp - 0x34]
call dword [sym.imp.FtUiKit_u.dll_public:_void___thiscall_DuiLib::CDuiRect::Empty_void_]
lea eax, [ebp - 0x34]
push eax
push 2
push dword [ebp + 8]
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x34]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0x394
call sub.MFC42u.DLL_operatornew
pop ecx
mov dword [ebp - 0x14], eax
test eax, eax
mov dword [ebp - 4], 6
je 0x40b7ac
or dword [ebp - 0x10], 4
push str.Cancel
lea eax, [ebp - 0x24]
push 2
push eax
call fcn.00431e3b
add esp, 0xc
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 7
call dword [sym.imp.FtUiKit_u.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_unsigned_short_int_const___int_]
push 8
pop eax
or dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x34]
push 2
push eax
lea eax, [ebp - 0xc4]
push eax
push str.ePassManager_2003_inner_btn.xml
call fcn.0040ecef
jmp 0x40b7ae
xor eax, eax
test byte [ebp - 0x10], 8
mov dword [0x456308], eax
mov dword [ebp - 4], 9
je 0x40b7d0
and dword [ebp - 0x10], 0xfffffff7
lea ecx, [ebp - 0xc4]
call dword [sym.imp.FtUiKit_u.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
or dword [ebp - 4], 0xffffffff
test byte [ebp - 0x10], 4
je 0x40b7f9
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 4], 0xb
sar eax, 1
push eax
push dword [ebp - 0x24]
call fcn.0040acc0
or dword [ebp - 4], 0xffffffff
push 0
push edi
push edi
mov ecx, dword [0x456308]
push edi
push edi
push 0
push 0x56000000
push str.DuiButtons
push dword [ebp + 8]
call dword [sym.imp.FtUiKit_u.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____unsigned_short_int_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
mov eax, dword [0x456240]
xor edi, edi
cmp eax, edi
jle 0x40b896
mov ecx, dword [0x456248]
sub ecx, dword [0x456244]
sar ecx, 1
cmp ecx, eax
jge 0x40b857
push edi
push 1
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::EnableWindow
mov ecx, dword [0x456304]
cmp ecx, edi
je 0x40b87d
mov eax, dword [ecx]
push edi
jmp 0x40b877
push 1
push 1
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::EnableWindow
mov ecx, dword [0x456304]
cmp ecx, edi
je 0x40b87d
mov eax, dword [ecx]
push 1
call dword [eax + 0x9c]
mov eax, dword [0x45623c]
mov ecx, dword [0x456240]
cmp eax, ecx
jg 0x40b89b
lea eax, [ecx + 1]
mov dword [0x45623c], eax
jmp 0x40b89b
mov eax, dword [0x45623c]
cmp eax, edi
jle 0x40b8fd
mov ecx, dword [0x456248]
sub ecx, dword [0x456244]
sar ecx, 1
cmp ecx, eax
jle 0x40b8f8
push eax
push edi
lea eax, [ebp - 0x40]
mov edi, 0x456244
push eax
mov ecx, edi
call fcn.0040bc4d
cmp eax, edi
mov dword [ebp - 4], 0xc
je 0x40b8e0
mov ecx, dword [eax + 4]
mov eax, dword [eax]
lea edx, [ebp - 0x15]
push edx
push ecx
push eax
mov ecx, edi
call fcn.0040bdaa
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xd
call fcn.0040212c
or dword [ebp - 4], 0xffffffff
mov eax, dword [0x45623c]
mov dword [0x4562c0], eax
mov edi, 0x456b58
mov ecx, edi
call fcn.00438f13
test al, al
jne 0x40b918
mov ecx, edi
call fcn.00438ee0
test al, al
je 0x40b948
and dword [0x456238], 0
mov edi, 0x44f
push 0
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::EnableWindow
push 0
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::ShowWindow
jmp 0x40b94d
mov edi, 0x44f
cmp byte [0x456adc], 0
jne 0x40b97f
and dword [0x456238], 0
push 0
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::EnableWindow
push 0
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::ShowWindow
cmp dword [0x456238], 0
je 0x40ba94
mov eax, dword [0x456274]
mov ecx, dword [0x45627c]
cmp eax, ecx
mov dword [ebp - 0x10], eax
ja 0x40b9a1
mov dword [ebp - 0x10], ecx
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
push 6
call edi
mov ecx, dword [0x456280]
shl eax, 1
sub ecx, eax
add ecx, dword [0x456278]
push ecx
mov ecx, ebx
push dword [ebp - 0x10]
push dword [0x45626c]
push dword [0x456270]
call sub.MFC42u.DLL_CWnd::MoveWindow
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x456228
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
push 6
call edi
mov ecx, dword [0x45622c]
push 4
shl eax, 1
sub ecx, eax
mov eax, dword [0x456278]
add ecx, eax
mov dword [ebp - 0x14], ecx
call edi
mov ecx, dword [ebp - 0x14]
mov edi, 0x455e50
sub ecx, eax
mov dword [0x45622c], ecx
mov ecx, edi
call fcn.0042c343
mov ecx, edi
call fcn.0042bf8e
push 0x456228
push ebx
mov ecx, edi
call fcn.0042bc92
mov ecx, edi
call fcn.0042b781
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0x3f9
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::ShowWindow
push 5
push 0x440
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::ShowWindow
mov ecx, dword [0x456248]
mov eax, dword [0x456244]
sub ecx, eax
mov edi, 0x4562a8
sar ecx, 1
push ecx
push eax
mov ecx, edi
call fcn.0040fecf
push 1
mov ecx, edi
call fcn.0041018d
jmp 0x40bb0e
mov ecx, 0x455e50
call fcn.0042c343
push 1
mov ecx, ebx
push dword [0x456278]
push dword [0x456274]
push dword [0x45626c]
push dword [0x456270]
call sub.MFC42u.DLL_CWnd::MoveWindow
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0x440
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::ShowWindow
mov edi, 0x3f9
push 5
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::ShowWindow
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::SetFocus
push 0
push dword [ebp + 8]
call fcn.0040af98
pop ecx
pop ecx
push dword [0x456250]
mov ecx, ebx
push 0x41c
call sub.MFC42u.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42u.DLL_CWnd::SetWindowTextW
push dword [0x45625c]
mov ecx, ebx
call sub.MFC42u.DLL_CWnd::SetWindowTextW
push 0
push dword [ebp + 8]
call fcn.0040af98
mov eax, dword [0x456284]
pop ecx
test eax, eax
pop ecx
je 0x40bb5e
push 0
push dword [ebp + 8]
call eax
test eax, eax
je 0x40bb5e
mov dword [0x456290], 1
push 0x3f9
push dword [ebp + 8]
call esi
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0xc]
push 1
pop eax
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret