Function at 0x606b50
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x60725b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 0x10
jne 0x606ba5
mov eax, dword [ebp - 4]
test byte [eax + 0x3cc], 4
je 0x606ba5
lea edx, [ebp - 0x44]
mov eax, dword [0x74a01c]
call fcn.0040e928
mov ecx, dword [ebp - 0x44]
mov dl, 1
mov eax, dword [0x47090c]
call fcn.00427734
call fcn.0040869c
mov eax, dword [0x753a54]
call fcn.0060d1c0
mov eax, dword [ebp - 4]
or byte [eax + 0x3cc], 4
xor edx, edx
push ebp
push 0x60723e
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 0x10
jne 0x6071f8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x221], 0
je 0x6070ec
xor eax, eax
push ebp
push 0x606c08
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov si, 0xffa7
call fcn.004075bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x606c1f
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d7], 4
je 0x606c4b
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d7], 6
jne 0x606d3a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d6], 1
jne 0x606d3a
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d6], 1
jne 0x606c91
mov eax, dword [0x753a54]
mov eax, dword [eax + 0x58]
call fcn.004fc1f4
mov esi, eax
mov eax, dword [ebp - 4]
sub esi, dword [eax + 0x54]
sar esi, 1
jns 0x606c73
adc esi, 0
mov eax, dword [0x753a54]
mov eax, dword [eax + 0x58]
call fcn.004fc234
mov edi, eax
mov eax, dword [ebp - 4]
sub edi, dword [eax + 0x58]
sar edi, 1
jns 0x606ccf
adc edi, 0
jmp 0x606ccf
mov eax, dword [ebp - 4]
call fcn.00603b74
lea edx, [ebp - 0x14]
call fcn.00608814
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
sub esi, eax
mov edx, dword [ebp - 4]
sub esi, dword [edx + 0x54]
sar esi, 1
jns 0x606cb6
adc esi, 0
add esi, eax
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
sub edi, eax
mov edx, dword [ebp - 4]
sub edi, dword [edx + 0x58]
sar edi, 1
jns 0x606ccd
adc edi, 0
add edi, eax
mov eax, dword [0x753a58]
call fcn.00608cc8
cmp esi, eax
jge 0x606ce9
mov eax, dword [0x753a58]
call fcn.00608cc8
mov esi, eax
mov eax, dword [0x753a58]
call fcn.00608cc0
cmp edi, eax
jge 0x606d03
mov eax, dword [0x753a58]
call fcn.00608cc0
mov edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
push eax
mov ecx, edi
mov edx, esi
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc4]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x65], 0
je 0x606ff8
mov eax, dword [ebp - 4]
call fcn.00604380
jmp 0x606ff8
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x2d7]
mov edx, eax
add dl, 0xfa
sub dl, 2
jae 0x606efd
mov eax, dword [0x753a54]
mov ebx, dword [eax + 0x58]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d7], 7
jne 0x606d81
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [0x5f94a4]
call fcn.0040751c
test al, al
je 0x606d81
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d2], 2
jne 0x606daf
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x308]
mov eax, dword [ebp - 4]
call fcn.006027c0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x30c]
mov eax, dword [ebp - 4]
call fcn.006027ec
test ebx, ebx
je 0x606df0
cmp ebx, dword [ebp - 4]
je 0x606df0
mov eax, ebx
call fcn.00602354
mov esi, eax
mov eax, dword [ebx + 0x54]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x54]
sar eax, 1
jns 0x606dd1
adc eax, 0
add esi, eax
mov eax, ebx
call fcn.00602374
mov edi, eax
mov eax, dword [ebx + 0x58]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x58]
sar eax, 1
jns 0x606dec
adc eax, 0
add edi, eax
jmp 0x606e22
mov eax, dword [0x753a58]
call fcn.00608cb8
mov esi, eax
mov eax, dword [ebp - 4]
sub esi, dword [eax + 0x54]
sar esi, 1
jns 0x606e09
adc esi, 0
mov eax, dword [0x753a58]
call fcn.00608cb0
mov edi, eax
mov eax, dword [ebp - 4]
sub edi, dword [eax + 0x58]
sar edi, 1
jns 0x606e22
adc edi, 0
mov eax, dword [0x753a58]
call fcn.00608cc8
cmp esi, eax
jge 0x606e3c
mov eax, dword [0x753a58]
call fcn.00608cc8
mov esi, eax
mov eax, dword [0x753a58]
call fcn.00608cc0
cmp edi, eax
jge 0x606e56
mov eax, dword [0x753a58]
call fcn.00608cc0
mov edi, eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d2], 2
jne 0x606ec6
mov eax, dword [ebp - 4]
call fcn.00505dc8
test al, al
je 0x606ec6
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.00607fc4
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.00608000
mov dword [ebp - 0x40], 0x2c
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
push eax
call sub.user32.dll_GetWindowPlacement
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.004fc190
lea esi, [ebp - 0x54]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
push eax
call sub.user32.dll_SetWindowPlacement
jmp 0x606ee3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
push eax
mov ecx, edi
mov edx, esi
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc4]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x65], 0
je 0x606ff8
mov eax, dword [ebp - 4]
call fcn.00604380
jmp 0x606ff8
cmp al, 5
jne 0x606ff8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d6], 1
jne 0x606f4b
mov eax, dword [0x753a54]
mov eax, dword [eax + 0x58]
call fcn.004fc1f4
mov esi, eax
mov eax, dword [ebp - 4]
sub esi, dword [eax + 0x54]
sar esi, 1
jns 0x606f2d
adc esi, 0
mov eax, dword [0x753a54]
mov eax, dword [eax + 0x58]
call fcn.004fc234
mov edi, eax
mov eax, dword [ebp - 4]
sub edi, dword [eax + 0x58]
sar edi, 1
jns 0x606fa7
adc edi, 0
jmp 0x606fa7
mov eax, dword [0x753a58]
call fcn.00608cd8
mov esi, eax
sar esi, 1
jns 0x606f5e
adc esi, 0
mov eax, dword [0x753a58]
call fcn.00608cc8
add esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
sar eax, 1
jns 0x606f77
adc eax, 0
sub esi, eax
mov eax, dword [0x753a58]
call fcn.00608cd0
mov edi, eax
sar edi, 1
jns 0x606f8c
adc edi, 0
mov eax, dword [0x753a58]
call fcn.00608cc0
add edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
sar eax, 1
jns 0x606fa5
adc eax, 0
sub edi, eax
mov eax, dword [0x753a58]
call fcn.00608cc8
cmp esi, eax
jge 0x606fc1
mov eax, dword [0x753a58]
call fcn.00608cc8
mov esi, eax
mov eax, dword [0x753a58]
call fcn.00608cc0
cmp edi, eax
jge 0x606fdb
mov eax, dword [0x753a58]
call fcn.00608cc0
mov edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
push eax
mov ecx, edi
mov edx, esi
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0xc4]
mov eax, dword [ebp - 4]
mov byte [eax + 0x2d7], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d6], 1
jne 0x6070c7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d2], 2
jne 0x607054
push 0
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
push 0x223
mov eax, dword [0x753a54]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0x3c4]
push eax
call sub.user32.dll_SendMessageW
push 3
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
call sub.user32.dll_ShowWindow
jmp 0x6070a5
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x2d2]
mov eax, dword [eax*4 + 0x6a6ba8]
push eax
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x58]
shl edx, 0x10
or eax, edx
push eax
push 0
push 5
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
push 0x412c98
call sub.user32.dll_CallWindowProcW
mov eax, dword [ebp - 4]
call fcn.004fcd14
push 0
push 0
push 0x234
mov eax, dword [0x753a54]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0x3c4]
push eax
call sub.user32.dll_SendMessageW
jmp 0x607226
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x2d2]
mov eax, dword [eax*4 + 0x6a6ba8]
push eax
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
call sub.user32.dll_ShowWindow
jmp 0x607226
xor eax, eax
push ebp
push 0x607110
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov si, 0xffa8
call fcn.004075bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x607127
mov eax, dword [0x753a58]
mov eax, dword [eax + 0x74]
cmp eax, dword [ebp - 4]
jne 0x60713e
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.006058a8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2d6], 1
jne 0x60715a
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + pe_nt_image_headers32]
jmp 0x607226
mov eax, dword [ebp - 4]
test byte [eax + 0x3cc], 8
je 0x607188
push 0x97
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
call sub.user32.dll_SetWindowPos
jmp 0x607226
xor ebx, ebx
mov eax, dword [ebp - 4]
call fcn.005059f4
mov esi, eax
call sub.user32.dll_GetActiveWindow
cmp esi, eax
jne 0x6071bd
mov eax, dword [ebp - 4]
call fcn.005059f4
call fcn.005ff8bc
test eax, eax
jne 0x6071bd
mov eax, dword [ebp - 4]
call fcn.005059f4
call fcn.005ffbec
mov ebx, eax
test ebx, ebx
je 0x6071e6
push 0x97
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
call sub.user32.dll_SetWindowPos
push ebx
call sub.user32.dll_SetActiveWindow
jmp 0x607226
push 0
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
call sub.user32.dll_ShowWindow
jmp 0x607226
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 0x10
je 0x607226
mov eax, dword [ebp - 4]
cmp dword [eax + 0x40], 0
je 0x607226
mov eax, dword [ebp - 4]
cmp byte [eax + 0x221], 0
je 0x607226
push 1
mov eax, dword [ebp - 4]
call fcn.005059f4
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x607245
mov eax, dword [ebp - 4]
and byte [eax + 0x3cc], 0xfb
ret