Function at 0x4b1160
Capabilities:
Check if file exists
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5638a0
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x5c5244]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [ebp + 0x1c], 0
jne 0x4b153e
mov ebx, dword [ebp + 0x18]
mov esi, dword [edi + 0x28]
push 0
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004b0d60
mov dword [edi + 0x28], esi
test eax, eax
jne 0x4b12f9
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x4b1312
mov dword [edi + 0x60], eax
call fcn.0042df90
mov ecx, eax
call fcn.0044a780
test eax, eax
je 0x4b121c
mov ecx, dword [eax]
lea edx, [ebp + 0xc]
push edx
push 0x572a0c
push eax
mov dword [ebp + 0xc], 0
call dword [ecx]
mov ecx, dword [edi + 0x78]
mov esi, eax
xor eax, eax
test esi, esi
cmovns eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
test ecx, ecx
je 0x4b1207
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x78], eax
test esi, esi
jns 0x4b1230
cmp esi, 0x80004002
jne 0x4b1554
jmp 0x4b1230
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x4b1230
mov dword [edi + 0x78], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, edi
call fcn.004af870
call fcn.0042df90
mov ecx, eax
call fcn.0044a770
mov esi, eax
test esi, esi
je 0x4b12e9
mov ecx, esi
call fcn.00447730
test eax, eax
je 0x4b12df
lea eax, [ebp + 0x14]
mov dword [edi + 0x8c], 1
push eax
mov ecx, esi
call fcn.00445220
mov dword [ebp - 4], 0
push dword [ebp + 0x14]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4b129b
push 0x20001
push 0
push dword [ebp + 0x14]
mov dword [edi + 0x90], 0
jmp 0x4b12b5
push 0x40005
mov dword [edi + 0x90], 1
push dword [0x5ce344]
push 0xe0
call dword [sym.imp.WINMM.dll_PlaySoundW]
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp + 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4b12e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4b12e9
mov dword [edi + 0x8c], 0
mov dword [ebx], 0
cmp dword [edi + 0x60], 0
je 0x4b153e
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x10
jne 0x4b1359
cmp dword [edi + 0x8c], 0
mov dword [edi + 0x60], 1
je 0x4b134c
cmp dword [edi + 0x90], 0
jne 0x4b1339
push 0x20040
push 0
jmp 0x4b1344
push 0x40044
push dword [0x5ce344]
push 0
call dword [sym.imp.WINMM.dll_PlaySoundW]
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4b12e9
cmp eax, 0x1401
jne 0x4b136f
mov ecx, edi
call fcn.004b0870
mov dword [ebx], 0
jmp 0x4b12f9
cmp eax, 0x111
jne 0x4b153e
mov eax, dword [ebp + 0x10]
mov esi, 1
movzx ecx, ax
cmp si, cx
jne 0x4b13f9
call fcn.0042df90
mov ecx, eax
call fcn.0044a770
mov esi, eax
test esi, esi
je 0x4b13b5
push dword [edi + 0x7c]
mov ecx, esi
call fcn.00444aa0
push 0xffffffffffffffff
push dword [edi + 0x88]
mov ecx, esi
call fcn.00449730
cmp dword [edi + 0x8c], 0
je 0x4b13e3
cmp dword [edi + 0x90], 0
jne 0x4b13d0
push 0x20040
push 0
jmp 0x4b13db
push 0x40044
push dword [0x5ce344]
push 0
call dword [sym.imp.WINMM.dll_PlaySoundW]
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebx], 0
jmp 0x4b12f9
mov edx, 8
cmp dx, cx
jne 0x4b14d2
cmp dword [edi + 0x80], 0
je 0x4b14c7
push edx
lea ecx, [edi + 0x34]
call fcn.004669c0
mov esi, eax
test esi, esi
je 0x4b14c7
mov eax, dword [edi + 0x84]
cmp eax, 1
jne 0x4b1471
mov ecx, dword [esi]
push 0x57da30
push esi
call dword [ecx + 0x28]
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x2c]
mov eax, dword [edi + 0x80]
push str._PowerSave1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
push 1
push 1
call fcn.0046f370
mov ecx, eax
call fcn.0042e9b0
mov dword [ebx], 0
jmp 0x4b12f9
cmp eax, 2
jne 0x4b14b5
mov eax, dword [esi]
push 0x57da5c
push esi
call dword [eax + 0x28]
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0x2c]
mov eax, dword [edi + 0x80]
push str._PowerSave2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
push 1
push 1
call fcn.0046f370
mov ecx, eax
call fcn.0042e9b0
mov dword [ebx], 0
jmp 0x4b12f9
push 0
push 1
push 0x111
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebx], 0
jmp 0x4b12f9
mov edx, 9
cmp dx, cx
jne 0x4b1508
lea ecx, [ebp + 0xc]
shr eax, 0x10
push ecx
mov ecx, dword [ebp + 0x14]
push ecx
push edx
push eax
mov ecx, edi
call fcn.004b01a0
mov dword [ebx], eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov edx, 0xa
cmp dx, cx
jne 0x4b153e
lea ecx, [ebp + 0xc]
shr eax, 0x10
push ecx
mov ecx, dword [ebp + 0x14]
push ecx
push edx
push eax
mov ecx, edi
call fcn.004b0430
mov dword [ebx], eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push esi
call fcn.004cc830
int3