Function at 0x567980
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ab660
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x5f300c]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], 0
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x50], ecx
cmp edi, dword [esi + 0x12f0]
jne 0x567a15
mov eax, dword [esi + 0x12ec]
cmp byte [eax + 0x88c], 0
jne 0x5679e3
test ebx, ebx
je 0x567a15
jmp 0x567a0b
test ecx, ecx
je 0x567a0b
mov byte [eax + 0x88c], 0
push dword [esi + 0x12f4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esi + 0x12ec]
mov eax, dword [ecx]
call dword [eax + 0x174]
mov ecx, dword [ebp - 0x50]
mov eax, dword [esi + 0x12f0]
test eax, eax
jne 0x567a4a
cmp edi, 0x100
ja 0x567d13
je 0x567d06
lea eax, [edi - 1]
cmp eax, 0x7a
ja case.0x567a3a.4
movzx eax, byte [eax + 0x568064]
jmp dword [eax*4 + 0x568028]
mov ecx, esi
call fcn.0056b700
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0059df64
mov esp, ebp
pop ebp
ret 0xc
push ecx
push ebx
push edi
mov ecx, esi
call fcn.005676d0
jmp 0x567a4a
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x13c]
jmp case.0x567a3a.2
cmp ebx, 1
je case.0x567a3a.2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x158]
jmp case.0x567a3a.2
lea ecx, [esi + 0x7c4]
call fcn.0052b320
jmp case.0x567a3a.2
cmp byte [esi + 0x88d], 0
je case.0x567a3a.4
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x20
call edi
mov esi, eax
push 0
add esi, esi
call edi
mov ebx, dword [ebp - 0x50]
add eax, esi
push 0x21
mov dword [ebx + 8], eax
call edi
mov esi, eax
push 0xf
add esi, esi
call edi
push 4
add esi, eax
call edi
push 1
add esi, eax
call edi
lea ecx, [eax + esi]
mov eax, dword [ebx + 8]
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
jmp case.0x567a3a.2
push ecx
push ebx
push edi
jmp 0x567dd6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x12c]
jmp case.0x567a3a.2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x12c]
mov eax, 1
jmp 0x567a4a
push ecx
push ebx
mov ecx, esi
call fcn.00567110
jmp case.0x567a3a.2
mov eax, dword [esi]
lea ecx, [ebp - 0x54]
push ecx
mov ecx, esi
call dword [eax + 0x5c]
mov ax, word [ebp - 0x54]
cmp byte [esi + 0x88e], al
jne 0x567b46
cmp byte [esi + 0x88f], ah
je 0x567b54
mov ecx, esi
mov word [esi + 0x88e], ax
call fcn.00550e50
push dword [ebp - 0x50]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
push 0x15
push dword [esi + 0x7c0]
call edi
push dword [ebp - 0x50]
push ebx
push 0x15
push dword [esi + 0x7d4]
call edi
jmp case.0x567a3a.2
push 0
lea ecx, [esi + 0xb0c]
push str.selection.always.visible
call fcn.00528190
test eax, eax
jne 0x567ba8
push eax
test ebx, ebx
lea ecx, [esi + 0x7c4]
sete al
push eax
push 0x873
call fcn.00529e10
push ebx
push 0x140
push 0x111
push ecx
mov ecx, esi
call fcn.00563920
add esp, 4
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.0x567a3a.2
test ebx, ebx
je case.0x567a3a.2
cmp byte [esi + 0x142c], 0
je 0x567beb
lea ecx, [esi + 0x13f0]
call fcn.00574ce0
jmp case.0x567a3a.2
cmp byte [esi + 0x148c], 0
je 0x567c04
lea ecx, [esi + 0x1450]
call fcn.00574ce0
jmp case.0x567a3a.2
cmp byte [esi + 0x1528], 0
je 0x567c1d
lea ecx, [esi + 0x14ec]
call fcn.00574ce0
jmp case.0x567a3a.2
cmp byte [esi + 0x13e0], 0
je 0x567c36
lea ecx, [esi + 0x13a4]
call fcn.00576e60
jmp case.0x567a3a.2
push dword [esi + 0x1324]
call dword [sym.imp.USER32.dll_SetFocus]
jmp case.0x567a3a.2
test ecx, ecx
je 0x567cfc
mov ecx, dword [esi + 0x12ec]
push 0
add ecx, 0xb0c
push str.minimize.to.tray
call fcn.00528190
test eax, eax
je 0x567c76
mov ecx, dword [esi + 0x12ec]
call fcn.00567090
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 8]
test edx, edx
je 0x567ce4
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x567c85
sub ecx, edi
je 0x567ce4
lea ecx, [ebp - 0x30]
call fcn.00560450
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x567ca4
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x4c]
call fcn.00565e90
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 5
call fcn.0040ab30
mov ecx, dword [esi + 0x12ec]
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.00540200
mov ecx, dword [esi + 0x12ec]
lea eax, [ebp - 0x4c]
push 1
push eax
call fcn.00540200
lea ecx, [ebp - 0x4c]
call fcn.0040ab30
push 0
push ecx
mov ecx, dword [esi + 0x12ec]
call fcn.00563920
add esp, 4
push eax
call dword [sym.imp.USER32.dll_FlashWindow]
mov eax, 1
jmp 0x567a4a
push ebx
mov ecx, esi
call fcn.00567320
jmp 0x567a4a
cmp edi, 0x233
ja 0x567e28
je 0x567e1b
cmp edi, 0x111
ja 0x567d7b
je 0x567d6d
cmp edi, 0x101
jne case.0x567a3a.4
cmp ebx, 0x11
jne case.0x567a3a.2
mov ecx, dword [esi + 0xbb4]
mov eax, dword [esi + 0xbb8]
push dword [eax + ecx*4]
lea ecx, [esi + 0xbb0]
call fcn.005428a0
mov dword [esi + 0xbb4], 0
jmp case.0x567a3a.2
push ecx
push ebx
mov ecx, esi
call fcn.00563930
jmp case.0x567a3a.2
cmp edi, 0x116
ja 0x567dfc
je 0x567ded
mov eax, edi
sub eax, 0x112
je 0x567da3
sub eax, 1
jne case.0x567a3a.4
mov ecx, esi
call fcn.0053ed30
jmp case.0x567a3a.2
cmp ebx, 0xf020
jne 0x567dcd
push 0
lea ecx, [esi + 0xb0c]
push 0x5d72b8
call fcn.00528190
test eax, eax
je 0x567dcd
mov ecx, esi
call fcn.00566fa0
jmp case.0x567a3a.2
push dword [ebp - 0x50]
push ebx
push 0x112
push ecx
mov ecx, esi
call fcn.00563920
add esp, 4
push eax
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x567a4a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x174]
jmp case.0x567a3a.2
cmp edi, 0x211
jne case.0x567a3a.4
test ebx, ebx
jne case.0x567a3a.2
mov dword [esi + 0x1260], ebx
jmp case.0x567a3a.2
push ebx
mov ecx, esi
call fcn.005665a0
jmp case.0x567a3a.2
cmp edi, 0x8000
ja 0x567ee1
je 0x567ea1
mov eax, edi
sub eax, 0x2e0
je 0x567e8a
sub eax, 0x39
jne case.0x567a3a.4
mov eax, ecx
shr eax, 0x10
and eax, 0xfff
sub eax, 1
je 0x567e79
sub eax, 1
je 0x567e68
push ecx
push ebx
push 0x319
jmp 0x567dd6
push 0xa7
mov ecx, esi
call fcn.00567320
jmp 0x567a4a
push 0xa6
mov ecx, esi
call fcn.00567320
jmp 0x567a4a
push ecx
push ebx
mov ecx, esi
call fcn.005671c0
push dword [ebp - 0x50]
push ebx
push 0x2e0
jmp 0x567dd6
cmp ecx, 0x201
jne case.0x567a3a.2
mov ecx, esi
call fcn.00567090
push 9
push ecx
mov ecx, esi
call fcn.00563920
add esp, 4
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push ecx
mov ecx, esi
call fcn.00563920
add esp, 4
push eax
call dword [sym.imp.USER32.dll_FlashWindow]
jmp case.0x567a3a.2
mov eax, edi
sub eax, 0x8001
je 0x567f20
sub eax, 1
je 0x567f06
sub eax, 1
jne case.0x567a3a.4
push 1
mov ecx, esi
call fcn.00532850
jmp case.0x567a3a.2
mov eax, dword [esi]
push ecx
push ebx
mov ecx, esi
call dword [eax + 0x19c]
jmp case.0x567a3a.2
cmp dword [esi + 0x1274], 0
je case.0x567a3a.2
mov eax, dword [esi + 0x1264]
test eax, eax
je 0x567f39
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [esi + 0x1270]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x30]
push eax
mov dword [ebp - 0x34], vtable.FilePath.0
call fcn.005111c0
mov byte [ebp - 4], 1
mov ecx, dword [esi + 0x126c]
mov eax, dword [esi + 0x1268]
dec ecx
and ecx, dword [esi + 0x1270]
mov ecx, dword [eax + ecx*4]
call fcn.0040ab30
add dword [esi + 0x1274], 0xffffffff
jne 0x567f8d
mov dword [esi + 0x1270], 0
jmp 0x567f93
inc dword [esi + 0x1270]
lea ecx, [ebp - 0x34]
call fcn.005193e0
test al, al
je 0x567fbd
push 0
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
call fcn.0054e6b0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0
call fcn.0040ab30
jmp 0x567f20
cmp dword [ebp - 0x1c], 8
lea eax, [ebp - 0x30]
jb 0x567fc9
mov eax, dword [ebp - 0x30]
push 0
push 0
push eax
push str.Could_not_open_file_0.
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.0055a050
mov byte [ebp - 4], 2
mov ecx, esi
mov eax, dword [esi]
push 0x30
mov edx, dword [eax + 0xbc]
lea eax, [ebp - 0x4c]
push eax
lea eax, [esi + 0x7ac]
push eax
call edx
lea ecx, [ebp - 0x4c]
call fcn.0040ab30
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0
call fcn.0040ab30
jmp 0x567f20