Function at 0x40c530
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x60
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
cmp eax, 7
je 0x40c700
ja 0x40c6d8
cmp eax, 2
je 0x40c750
cmp eax, 5
jne 0x40c580
cmp edx, 1
jne 0x40c720
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 1
jne 0x40c730
mov eax, dword [0x40e33c]
mov dword [esp + 4], 0x40e620
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._CreatePanedWindow
test eax, eax
je 0x40c9b0
mov eax, dword [0x40e33c]
mov esi, dword [sym.imp.user32.dll_CreateWindowExW]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0x7d3
mov dword [esp + 0x28], eax
mov eax, dword [0x40e620]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x50000007
mov dword [esp + 8], 0
mov dword [esp + 4], 0x40f33c
mov dword [esp], 0x200
call esi
mov dword [0x40e624], eax
mov eax, dword [0x40e33c]
sub esp, 0x30
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], eax
mov eax, dword [0x40e620]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x50300804
mov dword [esp + 8], 0
mov dword [esp + 4], str.Edit
mov dword [esp], 0x200
call esi
mov dword [0x40e628], eax
mov eax, dword [0x40e624]
sub esp, 0x30
mov dword [esp + 4], eax
mov eax, dword [0x40e620]
mov dword [esp], eax
call sym._SetLeft
mov eax, dword [0x40e628]
mov dword [esp + 4], eax
mov eax, dword [0x40e620]
mov dword [esp], eax
call sym._SetRight
call sym._PopulateTree
test eax, eax
je 0x40c700
mov dword [esp], ebx
call dword [sym.imp.user32.dll_DestroyWindow]
xor eax, eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp eax, 0x111
je 0x40c930
cmp eax, 0x11f
jne 0x40c730
movzx eax, dx
call sym._UpdateTypeLibStatusBar
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov eax, dword [0x40e624]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetFocus]
xor eax, eax
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
call sym._TypeLibResizeChild
jmp 0x40c56b
mov dword [ebp + 8], ebx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x10], edx
mov dword [ebp + 0xc], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp dword [sym.imp.user32.dll_DefWindowProcW]
mov eax, dword [0x40e624]
mov dword [ebp - 0x34], 4
mov dword [esp + 0xc], 0xffff0000
mov edi, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 8], 4
mov dword [esp + 4], 0x110a
mov dword [esp], eax
call edi
sub esp, 0x10
mov ebx, eax
lea esi, [esi]
mov eax, dword [0x40e624]
mov dword [ebp - 0x38], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 4
mov dword [esp + 4], 0x110a
mov dword [esp], eax
call edi
sub esp, 0x10
mov esi, eax
test eax, eax
je 0x40c810
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [0x40e624]
mov dword [ebp - 0x30], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113e
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x10]
sub esp, 0x10
test eax, eax
jne 0x40c8d0
mov eax, dword [0x40e624]
mov dword [esp + 0xc], ebx
mov ebx, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1101
mov dword [esp], eax
call edi
sub esp, 0x10
jmp 0x40c788
mov eax, dword [0x40e624]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x110a
mov dword [esp], eax
call edi
sub esp, 0x10
mov esi, eax
test eax, eax
jne 0x40c8f0
mov eax, dword [0x40e624]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 3
mov dword [esp + 4], 0x110a
mov dword [esp], eax
call edi
mov dword [ebp - 0x30], ebx
sub esp, 0x10
mov dword [ebp - 0x3c], eax
mov esi, eax
lea eax, [ebp - 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [0x40e624]
mov ebx, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113e
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x10]
sub esp, 0x10
test eax, eax
jne 0x40c8d0
mov eax, dword [ebp - 0x38]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1101
mov dword [esp + 0xc], eax
mov eax, dword [0x40e624]
mov dword [esp], eax
call edi
sub esp, 0x10
test ebx, ebx
jne 0x40c788
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov ebx, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x40c891
lea eax, [ebp - 0x34]
mov dword [ebp - 0x30], ebx
mov dword [esp + 0xc], eax
mov eax, dword [0x40e624]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x113e
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x10]
sub esp, 0x10
test eax, eax
je 0x40c7e7
mov ebx, esi
jmp 0x40c8d3
movzx eax, dx
cmp dx, 0xbb9
je 0x40c9c8
cmp eax, 0xbba
je 0x40c6bb
cmp eax, 0x7b
jne 0x40c56b
mov eax, dword [0x40e62c]
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsWindowVisible]
sub esp, 4
test eax, eax
je 0x40c9d8
mov eax, dword [0x40e62c]
mov dword [esp + 4], 0
xor esi, esi
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
mov dword [esp], ebx
call dword [sym.imp.user32.dll_GetMenu]
sub esp, 4
mov dword [esp + 8], esi
mov dword [esp + 4], 0x7b
mov dword [esp], eax
call dword [sym.imp.user32.dll_CheckMenuItem]
sub esp, 0xc
call sym._TypeLibResizeChild
jmp 0x40c56b
mov dword [esp], ebx
call dword [sym.imp.user32.dll_DestroyWindow]
sub esp, 4
jmp 0x40c5aa
call sym._GetSaveIdlAsPath
jmp 0x40c56b
mov eax, dword [0x40e62c]
mov dword [esp + 4], 5
mov esi, 8
mov dword [esp], eax
call dword [sym.imp.user32.dll_ShowWindow]
sub esp, 8
jmp 0x40c982