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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x596914
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x60f520]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov eax, dword [0x6403e0]
test eax, eax
jne 0x416fb7
push 0x438
call fcn.00551c81
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x18], 0
test eax, eax
je 0x416fa8
mov ecx, eax
call fcn.00485ee0
jmp 0x416faa
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [0x6403e0], eax
push dword [eax + 0x34]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x416fd4
call fcn.0040a110
push 0
push dword [eax + 0x34]
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x640414], 0
jne 0x416ffa
push 4
call fcn.00551c81
add esp, 4
test eax, eax
je 0x416ff3
mov dword [eax], 0x5c0fe0
jmp 0x416ff5
xor eax, eax
mov dword [0x640414], eax
lea ecx, [esp + 4]
call fcn.004699c0
mov dword [esp + 0x18], 1
push dword [esp + 4]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x417022
xor ecx, ecx
call fcn.00428250
jmp 0x417044
lea edx, [esp + 8]
mov dword [esp + 8], 0
lea ecx, [esp + 4]
call fcn.005147f0
test eax, eax
je 0x417044
mov ecx, dword [esp + 8]
call fcn.00514b40
mov dword [esp + 0x18], 0xffffffff
or ecx, 0xffffffff
mov edx, dword [esp + 4]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41706a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x640418]
test eax, eax
jne 0x4170a8
push 0x410
call fcn.00551c81
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x18], 2
test eax, eax
je 0x417099
mov ecx, eax
call fcn.00433df0
jmp 0x41709b
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [0x640418], eax
mov dword [eax + 0x14], 7
add eax, 8
push eax
push 2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
mov eax, dword [0x6403e4]
test eax, eax
jne 0x4170f9
push 0x360
call fcn.00551c81
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x18], 3
test eax, eax
je 0x4170ea
mov ecx, eax
call fcn.00455930
jmp 0x4170ec
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [0x6403e4], eax
push ecx
mov ecx, eax
call fcn.004563e0
mov eax, dword [0x6403e0]
test eax, eax
jne 0x41713f
push 0x438
call fcn.00551c81
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x18], 4
test eax, eax
je 0x417130
mov ecx, eax
call fcn.00485ee0
jmp 0x417132
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [0x6403e0], eax
push dword [eax + 0x34]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x41715a
call fcn.0040a110
push dword [eax + 0x34]
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
call fcn.00556115
add esp, 4
sub eax, dword [0x641710]
sbb edx, dword [0x641714]
push 0
push 0x3c
push edx
push eax
call fcn.00571610
push 0
push 0x1e
push edx
push eax
call fcn.00571610
push edx
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x5b57d4
push 0x5b5810
push 0x5b581c
push 1
call fcn.004faa90
add esp, 0x1c
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov eax, 1
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 8