Function at 0x405440
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
sub eax, 0
je 0x405833
sub eax, 1
je 0x4056a1
sub eax, 1
jne 0x405a05
mov edi, dword [ebp + 8]
mov esi, 0x45b5c0
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 0x68
push ecx
push edi
call ebx
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 4]
lea esi, [esi + 4]
test ecx, ecx
jne 0x405477
mov esi, 0x45b5c8
mov eax, 0x69
push eax
push edi
call ebx
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 4]
lea esi, [esi + 4]
test eax, eax
jne 0x405498
mov esi, str.opqrstuv
mov eax, 0x6f
nop dword [eax]
push eax
push edi
call ebx
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 4]
lea esi, [esi + 4]
test eax, eax
jne 0x4054c0
push 1
push 0x79
push edi
call ebx
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call esi
push 1
push 0x7b
push edi
call ebx
push eax
call esi
push 1
push 0x7d
push edi
call ebx
push eax
call esi
push 1
push 0x7e
push edi
call ebx
push eax
call esi
push 1
push 0x81
push edi
call ebx
push eax
call esi
push 1
push 0x82
push edi
call ebx
push eax
call esi
push 1
push 0x83
push edi
call ebx
push eax
call esi
push 1
push 0x84
push edi
call ebx
push eax
call esi
push 1
push 0x85
push edi
call ebx
push eax
call esi
push 1
push 0x8e
push edi
call ebx
push eax
call esi
mov edi, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 0
push 0x7b
push dword [edi + 0x64]
call esi
push 0
push 0x7d
push dword [edi + 0x64]
call esi
push 0
push 0x7e
push dword [edi + 0x64]
call esi
push 0
push 0x79
push dword [edi + 0x68]
call esi
push 0
push 0x81
push dword [edi + 0x68]
call esi
push 0
push 0x82
push dword [edi + 0x68]
call esi
push 0
push 0x83
push dword [edi + 0x68]
call esi
push 0
push 0x84
push dword [edi + 0x68]
call esi
push 0
push 0x85
push dword [edi + 0x68]
call esi
push 0
push 0x96
push dword [edi + 0x6c]
call esi
xor ebx, ebx
cmp byte [edi + 0x1c], bl
push 4
setne bl
add ebx, 2
call fcn.0040b1a0
add esp, 4
xor ecx, ecx
cmp eax, ebx
setne cl
push ecx
push 0x97
push dword [edi + 0x6c]
call esi
push 6
call fcn.0040b1a0
add esp, 4
xor ecx, ecx
cmp eax, ebx
setne cl
push ecx
push 0x98
push dword [edi + 0x6c]
call esi
push 7
call fcn.0040b1a0
add esp, 4
xor ecx, ecx
cmp eax, ebx
setne cl
push ecx
push 0x99
push dword [edi + 0x6c]
call esi
xor bl, bl
mov eax, 1
cmp byte [edi + 0x1c], bl
je 0x405680
mov edx, dword [edi + 0x34]
test edx, edx
je 0x405680
mov edx, dword [edx]
mov al, byte [edx + 0x6c]
test al, al
je 0x405646
mov edx, dword [edx + 0x70]
mov esi, dword [0x45d22c]
setne bl
xor ecx, ecx
lea eax, [ecx + 1]
test esi, esi
je 0x40567a
nop dword [eax + eax]
mov eax, dword [ecx*4 + 0x45d1e8]
cmp dword [eax + 0x70], edx
je 0x405678
inc ecx
cmp ecx, esi
jb 0x405660
mov eax, 1
jmp 0x40567a
xor eax, eax
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push eax
push 0x9a
push dword [edi + 0x68]
call esi
movzx eax, bl
xor eax, 1
push eax
push 0x9b
push dword [edi + 0x68]
call esi
pop edi
pop esi
pop ebx
pop ebp
ret
mov edi, dword [ebp + 8]
mov eax, 0x68
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp + 0x10], 0x45b5c0
nop dword [eax]
push eax
push edi
call ebx
push 0
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x4056c0
mov dword [ebp + 0x10], 0x45b5c8
mov eax, 0x69
push eax
push edi
call ebx
push 5
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x4056e4
mov dword [ebp + 0x10], str.opqrstuv
mov eax, 0x6f
push eax
push edi
call ebx
push 0
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x405708
mov dword [ebp + 0x10], str.klmn
mov eax, 0x6b
nop dword [eax]
push eax
push edi
call ebx
push 0
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x405730
push eax
push 0x79
push edi
call ebx
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call esi
push 0
push 0x7b
push edi
call ebx
push eax
call esi
push 0
push 0x7d
push edi
call ebx
push eax
call esi
push 0
push 0x7e
push edi
call ebx
push eax
call esi
push 0
push 0x81
push edi
call ebx
push eax
call esi
push 0
push 0x82
push edi
call ebx
push eax
call esi
push 0
push 0x83
push edi
call ebx
push eax
call esi
push 0
push 0x84
push edi
call ebx
push eax
call esi
push 0
push 0x85
push edi
call ebx
push eax
call esi
push 0
push 0x8e
push edi
call ebx
push eax
call esi
mov edi, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push 0x7b
push dword [edi + 0x64]
call esi
push 1
push 0x7d
push dword [edi + 0x64]
call esi
push 1
push 0x7e
push dword [edi + 0x64]
call esi
push 1
push 0x79
push dword [edi + 0x68]
call esi
push 1
push 0x81
push dword [edi + 0x68]
call esi
push 1
push 0x82
push dword [edi + 0x68]
call esi
push 1
push 0x83
push dword [edi + 0x68]
call esi
push 1
push 0x84
push dword [edi + 0x68]
call esi
push 1
push 0x85
push dword [edi + 0x68]
call esi
push 1
jmp 0x4059bf
mov edi, dword [ebp + 8]
mov eax, 0x68
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp + 0x10], 0x45b5c0
nop
push eax
push edi
call ebx
push 5
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x405850
mov dword [ebp + 0x10], 0x45b5c8
mov eax, 0x69
push eax
push edi
call ebx
push 0
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x405874
mov dword [ebp + 0x10], str.opqrstuv
mov eax, 0x6f
push eax
push edi
call ebx
push 0
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x405898
mov dword [ebp + 0x10], str.klmn
mov eax, 0x6b
nop dword [eax]
push eax
push edi
call ebx
push 0
push eax
call esi
mov eax, dword [ebp + 0x10]
add eax, 4
mov dword [ebp + 0x10], eax
mov eax, dword [eax]
test eax, eax
jne 0x4058c0
push 1
push 0x79
push edi
call ebx
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call esi
push 1
push 0x7b
push edi
call ebx
push eax
call esi
push 0
push 0x7d
push edi
call ebx
push eax
call esi
push 0
push 0x7e
push edi
call ebx
push eax
call esi
push 1
push 0x81
push edi
call ebx
push eax
call esi
push 1
push 0x82
push edi
call ebx
push eax
call esi
push 1
push 0x83
push edi
call ebx
push eax
call esi
push 1
push 0x84
push edi
call ebx
push eax
call esi
push 1
push 0x85
push edi
call ebx
push eax
call esi
push 1
push 0x8e
push edi
call ebx
push eax
call esi
mov edi, dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_EnableMenuItem]
push 0
push 0x7b
push dword [edi + 0x64]
call esi
push 1
push 0x7d
push dword [edi + 0x64]
call esi
push 1
push 0x7e
push dword [edi + 0x64]
call esi
push 0
push 0x79
push dword [edi + 0x68]
call esi
push 0
push 0x81
push dword [edi + 0x68]
call esi
push 0
push 0x82
push dword [edi + 0x68]
call esi
push 0
push 0x83
push dword [edi + 0x68]
call esi
push 0
push 0x84
push dword [edi + 0x68]
call esi
push 0
push 0x85
push dword [edi + 0x68]
call esi
push 0
push 0x96
push dword [edi + 0x6c]
call esi
push 1
push 0x97
push dword [edi + 0x6c]
call esi
push 1
push 0x98
push dword [edi + 0x6c]
call esi
push 1
push 0x99
push dword [edi + 0x6c]
call esi
push 1
push 0x9a
push dword [edi + 0x68]
call esi
push 1
push 0x9b
push dword [edi + 0x68]
call esi
pop edi
pop esi
pop ebx
pop ebp
ret