Function at 0x4cac60
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x5fc150]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x214], esi
call fcn.0040baa0
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x218], ebx
sub eax, 0x110
je 0x4cb06b
sub eax, 1
jne 0x4cb056
mov ecx, dword [ebp + 0x10]
mov eax, 0x300
mov edx, ecx
shr edx, 0x10
cmp dx, ax
jne 0x4cad2a
movzx eax, cx
sub eax, 0x18b1
je 0x4cacf7
sub eax, 0xf
jne 0x4cad2a
lea eax, [ebp - 0x20c]
push eax
push 0x104
push 0xd
push 0x18c0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebx + 0x278]
call fcn.00403ef0
jmp 0x4cb33e
lea eax, [ebp - 0x20c]
push eax
push 0x104
push 0xd
push 0x18b1
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebx + 0x260]
call fcn.00403ef0
jmp 0x4cb33e
lea eax, [ecx - 0x17e2]
cmp eax, 0xea
ja case.0x4cad42.6115
movzx eax, byte [eax + 0x4cb390]
jmp dword [eax*4 + 0x4cb358]
push 0x18a9
mov ecx, esi
call fcn.004443c0
push 0x18b5
mov ecx, esi
mov byte [ebp - 0x20d], al
call fcn.004443c0
push 0
push 0
push 0x147
push 0x18cb
push dword [esi + 0xc]
mov byte [ebp - 0x20e], al
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
xor ecx, ecx
test eax, eax
je 0x4cad93
cmp eax, 1
jne 0x4cadb0
mov ecx, eax
jmp 0x4cad98
mov ecx, 2
cmp byte [ebp - 0x20d], 0
je 0x4cada4
or ecx, 4
cmp byte [ebp - 0x20e], 0
je 0x4cadb0
or ecx, 8
mov dword [ebx + 0x70], ecx
jmp 0x4cb33e
push 0x18af
mov ecx, esi
call fcn.004443c0
mov byte [ebp - 0x20d], al
test al, al
jne 0x4cadeb
push 0
push 0
push 0xf1
push 0x18b0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov al, byte [ebp - 0x20d]
movzx eax, al
push eax
push 0x18b0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
movzx eax, byte [ebp - 0x20d]
neg eax
sbb eax, eax
and eax, 2
mov dword [ebx + 0xc8], eax
jmp 0x4cb33e
push 0x18b0
mov ecx, esi
call fcn.004443c0
movzx eax, al
neg eax
sbb eax, eax
add eax, 2
mov dword [ebx + 0xc8], eax
jmp 0x4cb33e
push ecx
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0x2a8], al
jmp 0x4cb33e
push ecx
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0x99], al
jmp 0x4cb33e
push ecx
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0x9c], al
jmp 0x4cb33e
cmp byte [ebx + 0x9d], 0
sete al
mov byte [ebx + 0x9d], al
test al, al
je 0x4cae8f
push 1
jmp 0x4caeaf
push 0
push 0
push 0xf1
push 0x17e5
mov byte [ebx + 0xa8], 0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 0x17e5
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x4cb33e
push 0x18cc
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0xad], al
jmp 0x4cb33e
push 0x17e5
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0xa8], al
jmp 0x4cb33e
push 0x18bb
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0x2c9], al
push dword [esi + 8]
call dword [sym.imp.USER32.dll_GetParent]
push 0
push 0
push 0x417
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4cb33e
push 0x18aa
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0xae], al
jmp 0x4cb33e
push 0x18c9
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0x73d], al
jmp 0x4cb33e
push 0x18ca
mov ecx, esi
call fcn.004443c0
mov byte [ebx + 0x73e], al
jmp 0x4cb33e
cmp dx, 1
jne 0x4cb056
mov eax, 0x18cb
cmp cx, ax
jne 0x4cb056
push 0
push 0
push 0x147
push eax
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov edi, eax
test edi, edi
je 0x4cafe7
cmp edi, 1
je 0x4cafe7
cmp edi, 2
jne 0x4cb33e
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x18a9
push dword [esi + 0xc]
call edi
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call esi
mov eax, dword [ebp - 0x214]
push 0
push 0x18b5
push dword [eax + 0xc]
call edi
push eax
call esi
mov dword [ebx + 0x70], 0
jmp 0x4cb33e
push 0x18a9
mov ecx, esi
call fcn.004443c0
push 0x18b5
mov ecx, esi
mov bl, al
call fcn.004443c0
xor ecx, ecx
cmp edi, 1
setne cl
inc ecx
test bl, bl
je 0x4cb011
or ecx, 4
test al, al
je 0x4cb018
or ecx, 8
mov eax, dword [ebp - 0x218]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push 0x18a9
mov dword [eax + 0x70], ecx
push dword [esi + 0xc]
call edi
mov esi, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call esi
mov eax, dword [ebp - 0x214]
push 1
push 0x18b5
push dword [eax + 0xc]
call edi
push eax
call esi
jmp 0x4cb33e
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052c233
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0x5ba3a8
push 0
push 0x143
push 0x18cb
push dword [esi + 0xc]
call edi
push str.Enable_for_all_opened_files
push 0
push 0x143
push 0x18cb
push dword [esi + 0xc]
call edi
push str.Disable
push 0
push 0x143
push 0x18cb
push dword [esi + 0xc]
call edi
mov ecx, dword [ebx + 0x70]
test cl, 1
je 0x4cb0c2
mov eax, 1
jmp 0x4cb0fe
test cl, 2
je 0x4cb0cb
xor eax, eax
jmp 0x4cb0fe
push 0
push 0x18a9
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x18b5
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, 2
push 0
push eax
push 0x14e
push 0x18cb
push dword [esi + 0xc]
call edi
mov eax, dword [ebx + 0x70]
push 0
shr eax, 2
and eax, 1
push eax
push 0xf1
push 0x18a9
push dword [esi + 0xc]
call edi
mov eax, dword [ebx + 0x70]
push 0
shr eax, 3
and eax, 1
push eax
push 0xf1
push 0x18b5
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0x99]
push 0
push eax
push 0xf1
push 0x18a4
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0x9c]
push 0
push eax
push 0xf1
push 0x18be
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0x2a8]
push 0
push eax
push 0xf1
push 0x18b3
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0xae]
push 0
push eax
push 0xf1
push 0x18aa
push dword [esi + 0xc]
call edi
xor eax, eax
cmp byte [ebx + 0x73d], al
push 0
setne al
push eax
push 0xf1
push 0x18c9
push dword [esi + 0xc]
call edi
xor eax, eax
cmp byte [ebx + 0x73e], al
push 0
setne al
push eax
push 0xf1
push 0x18ca
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0x2bc]
neg eax
sbb eax, eax
and eax, 5
push eax
push 0x18b3
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
mov ecx, dword [ebx + 0xc8]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x218], eax
cmp ecx, 1
jne 0x4cb22b
mov eax, ecx
mov dword [ebp - 0x218], eax
jmp 0x4cb23f
cmp ecx, 2
jne 0x4cb245
mov eax, 1
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], eax
push 0
push eax
push 0xf1
push 0x18af
push dword [esi + 0xc]
call edi
push 0
push dword [ebp - 0x218]
push 0xf1
push 0x18b0
push dword [esi + 0xc]
call edi
push dword [ebp - 0x214]
push 0x18b0
push dword [esi + 0xc]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [ebx + 0x274], 8
lea eax, [ebx + 0x260]
jb 0x4cb29a
mov eax, dword [eax]
push eax
push 0
push 0xc
push 0x18b1
push dword [esi + 0xc]
call edi
cmp dword [ebx + 0x28c], 8
lea eax, [ebx + 0x278]
jb 0x4cb2ba
mov eax, dword [eax]
push eax
push 0
push 0xc
push 0x18c0
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0x9d]
push 0
push eax
push 0xf1
push 0x17e2
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0xad]
push 0
push eax
push 0xf1
push 0x18cc
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0xa8]
push 0
push eax
push 0xf1
push 0x17e5
push dword [esi + 0xc]
call edi
movzx eax, byte [ebx + 0x2c9]
push 0
push eax
push 0xf1
push 0x18bb
push dword [esi + 0xc]
call edi
mov eax, dword [ebx + 0x231dc]
test eax, eax
je 0x4cb33e
push 6
push dword [esi + 0xc]
call eax
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0052c233
mov esp, ebp
pop ebp
ret 0x10