Function at 0x40f360
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x475554
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
mov eax, dword [0x49e044]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x14], 0
push 0x98
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.004549a0
add esp, 8
lea ecx, [ebp - 0xb0]
call fcn.00413c20
mov edx, str.trySuspend_result
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb0]
call fcn.0041a0d0
push esi
mov ecx, eax
call fcn.004140b0
mov edx, 0x48c990
mov ecx, eax
call fcn.0041a0d0
mov esi, dword [ebp + 0xc]
mov edx, str.SUCCESS
test esi, esi
jne 0x40f40c
mov edx, str.FAILURE
mov ecx, eax
call fcn.0041a0d0
mov edx, 0x48c12c
mov ecx, eax
call fcn.0041a0d0
mov eax, dword [0x4a6bdc]
cmp eax, 3
ja case.default.0x40f42d
jmp dword [eax*4 + 0x40f6b8]
mov edx, str.chilling
lea ecx, [ebp - 0xb0]
call fcn.0041a0d0
test esi, esi
je 0x40f45c
mov dword [0x4a6bdc], 2
mov edx, str._to_frozen
jmp 0x40f611
mov edx, str._to_melting
mov dword [0x4a6bdc], 3
lea ecx, [ebp - 0xb0]
call fcn.0041a0d0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xac]
call fcn.00416ab0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 2
push eax
mov ecx, 0x49eb4c
call fcn.0040a5a0
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x40f4db
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f4d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f6a3
push edx
push ecx
call fcn.00452f08
add esp, 8
mov ecx, dword [edi]
call fcn.0040f6d0
mov eax, dword [0x4a6bd4]
test eax, eax
jne 0x40f56f
push 0x32
mov dword [ebp - 0xc8], eax
lea ecx, [ebp - 0xc8]
push str.WARNING:_Attempt_to_disable_turned_off_pause_cover
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], al
call fcn.00417240
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 3
push eax
mov ecx, 0x49eb4c
call fcn.0040a5a0
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x40f679
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f66f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f6a8
jmp 0x40f66f
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x40f679
mov edx, str.frozen
jmp 0x40f611
mov edx, str.melting
lea ecx, [ebp - 0xb0]
call fcn.0041a0d0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xac]
call fcn.00416ab0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 4
push eax
mov ecx, 0x49eb4c
call fcn.0040a5a0
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x40f5fc
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f5f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f6ad
push edx
push ecx
call fcn.00452f08
add esp, 8
mov ecx, dword [edi]
call fcn.0040f6d0
jmp 0x40f679
mov edx, str.thawed
jmp 0x40f611
mov edx, 0x48c9e4
lea ecx, [ebp - 0xb0]
call fcn.0041a0d0
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0xac]
call fcn.00416ab0
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 5
push eax
mov ecx, 0x49eb4c
call fcn.0040a5a0
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x40f679
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f66f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f6b2
push edx
push ecx
call fcn.00452f08
add esp, 8
lea ecx, [ebp - 0xb0]
call fcn.00409c70
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004528ff
mov esp, ebp
pop ebp
ret 8
call fcn.0045e090
call fcn.0045e090
call fcn.0045e090
call fcn.0045e090
nop
add eax, 0x340040f6
hlt