Function at 0x40a966
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0x1c], 0
push ebx
push esi
push edi
mov edi, ecx
jne 0x40a9d3
mov eax, dword [ebp + 0xc]
cmp eax, 0x110
jne 0x40a795
sub esp, 0x10
call fcn.0040ade0
mov ecx, dword [ebp + 0x18]
pop edi
pop esi
pop ebx
mov dword [ecx], eax
mov eax, 1
pop ebp
ret 0x18
cmp eax, 2
jne 0x40a7d7
push dword [edi + 0x28]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
call esi
push dword [edi + 0x68]
call esi
push dword [edi + 0xa0]
call esi
push dword [edi + 0x108]
call esi
push dword [edi + 0x610]
call esi
mov eax, dword [ebp + 0x18]
pop edi
pop esi
pop ebx
mov dword [eax], 0
mov eax, 1
pop ebp
ret 0x18
cmp eax, 0x10
jne 0x40a7fc
push 2
push dword [edi + 4]
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, dword [ebp + 0x18]
pop edi
pop esi
pop ebx
mov dword [eax], 0
mov eax, 1
pop ebp
ret 0x18
mov ebx, 1
cmp eax, 0x111
jne 0x40a8e4
mov eax, dword [ebp + 0x10]
movzx ecx, ax
cmp bx, cx
jne 0x40a84b
xor esi, esi
nop dword [eax]
push esi
mov ecx, edi
call fcn.0040c370
inc esi
cmp esi, 4
jle 0x40a820
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_EndDialog]
mov ecx, dword [ebp + 0x18]
mov eax, ebx
pop edi
pop esi
pop ebx
mov dword [ecx], 0
pop ebp
ret 0x18
mov edx, 2
cmp dx, cx
jne 0x40a871
push edx
push dword [edi + 4]
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
shr eax, 0x10
test eax, eax
jne case.default.0x40a946
mov eax, ecx
sub eax, 0x3f7
je 0x40a8b8
sub eax, 1
jne case.default.0x40a946
push eax
push eax
push 0x130b
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
mov ecx, edi
call fcn.0040cca0
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
push 0
push 0
push 0x130b
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
mov ecx, edi
call fcn.0040c370
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
cmp eax, 0x4e
jne 0x40a9d3
mov eax, dword [ebp + 0x14]
cmp dword [eax + 8], 0xfffffdd9
jne 0x40a9d3
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push dword [edi + 0x28]
call esi
push 0
push dword [edi + 0x68]
call esi
push 0
push dword [edi + 0xa0]
call esi
push 0
push dword [edi + 0x108]
call esi
push 0
push dword [edi + 0x610]
call esi
push 0
push 0
push 0x130b
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 4
ja case.default.0x40a946
jmp dword [eax*4 + 0x40a9dc]
push 5
push dword [edi + 0x28]
call esi
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
push 5
push dword [edi + 0x68]
call esi
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
push 5
push dword [edi + 0xa0]
call esi
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
push 5
push dword [edi + 0x108]
call esi
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
push 5
push dword [edi + 0x610]
call esi
mov eax, dword [ebp + 0x18]
pop edi
pop esi
mov dword [eax], 0
mov eax, ebx
pop ebx
pop ebp
ret 0x18
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret 0x18