Function at 0x40670d
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0xc
push esi
push edi
mov edi, eax
movzx eax, word [edi + 0x1c4]
xor esi, esi
cmp ax, si
je 0x406991
cmp ax, 3
push ebx
push ebp
push esi
jne 0x4067f8
push dword [edi + 0x1bc]
mov ebx, dword [sym.imp.USER32.dll_ShowWindow]
call ebx
push esi
push dword [edi + 0x1c0]
call ebx
call fcn.004065d6
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [edi + 0x108]
mov dword [esp + 0x18], eax
lea esi, [edi + 0x204]
mov eax, dword [esi]
xor ebp, ebp
mov dword [eax + 8], ecx
mov eax, dword [esi]
inc ebp
push ebp
call fcn.004076c6
mov eax, dword [esi]
push ebp
push 0
call fcn.004076df
xor esi, esi
push esi
push 0xffffffffffffffec
push dword [edi + 0x108]
mov eax, 0x20000
call fcn.00404e98
push esi
push 0xfffffffffffffff0
push dword [edi + 0x108]
mov eax, 0x800000
call fcn.00404e98
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], esi
push eax
lea esi, [esp + 0x2c]
call fcn.00404d3d
mov eax, dword [edi + 0x174]
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
push 0
push eax
push dword [edi + 0x170]
sub ecx, eax
sub ecx, 0x32
push ecx
push 0x19
push 0xffffffffffffffff
push dword [edi + 0x108]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 5
push dword [edi + 0x108]
call ebx
jmp 0x406964
push 0xffffffffffffffec
push dword [edi + 0x108]
push 0x20
pop eax
call fcn.00404e98
xor ebp, ebp
inc ebp
push ebp
push 0xffffffffffffffec
push dword [edi + 0x108]
mov eax, 0x20000
call fcn.00404e98
push ebp
push 0xfffffffffffffff0
push dword [edi + 0x108]
mov eax, 0x800000
call fcn.00404e98
movzx eax, word [edi + 0x1c4]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
add esp, 0x24
cmp ax, bp
jne 0x40685f
push 5
lea ebx, [edi + 0x1bc]
push dword [ebx]
call esi
push 5
push dword [edi + 0x1c0]
call esi
push ebp
jmp 0x40687d
cmp ax, 2
jne 0x40688c
push 5
lea ebx, [edi + 0x1bc]
push dword [ebx]
call esi
push 5
push dword [edi + 0x1c0]
call esi
push 0
push 0xfffffffffffffff0
push dword [ebx]
push 2
pop eax
call fcn.00404e98
add esp, 0xc
call fcn.004065d6
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [esp + 0x18], eax
call fcn.00404cce
test eax, eax
je 0x4068e4
mov eax, dword [edi + 0x204]
mov ecx, dword [edi + 0x108]
mov dword [eax + 8], ecx
mov eax, dword [edi + 0x204]
lea ebx, [edi + 0x1cc]
cmp byte [ebx], 0
je 0x4068dd
push ebp
call fcn.004076c6
movzx eax, byte [ebx]
push 2
push eax
mov eax, dword [edi + 0x204]
call fcn.004076df
jmp 0x4068e4
push 0
call fcn.004076c6
mov ebx, dword [sym.imp.USER32.dll_SetWindowPos]
push 0x44
push dword [edi + 0x17c]
push dword [edi + 0x180]
push dword [edi + 0x188]
push dword [edi + 0x184]
push 0
push dword [edi + 0x1bc]
call ebx
push 0x44
push 0xf
push 0x19
push dword [edi + 0x18c]
push dword [edi + 0x190]
push 0
push dword [edi + 0x1c0]
call ebx
mov eax, dword [edi + 0x1c8]
neg eax
sbb eax, eax
and eax, 5
push eax
push dword [edi + 0x1c0]
call esi
push 0x40
push dword [edi + 0x174]
push dword [edi + 0x170]
push dword [edi + 0x1d8]
push dword [edi + 0x1d4]
push 0xffffffffffffffff
push dword [edi + 0x108]
call ebx
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0
push dword [edi + 0x1dc]
mov dword [edi + 0x198], ebp
push ebp
push dword [edi + 0x108]
mov dword [edi + 0x19c], ebp
call dword [sym.imp.USER32.dll_SetTimer]
pop ebp
pop ebx
pop edi
pop esi
add esp, 0xc
ret