Function at 0x4bc1d1
Capabilities:
Check for unmoving mouse cursor
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x5c4e68]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
xor eax, eax
lea edi, [ebp - 0x114]
push 0x103
mov dword [ebp - 0x118], ebx
stosd dword es:[edi], eax
lea eax, [ebp - 0x10f]
push ebx
push eax
mov byte [ebp - 0x110], bl
call fcn.005117f0
xor eax, eax
mov word [ebp - 0x128], bx
lea edi, [ebp - 0x126]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
stosw word es:[edi], ax
call fcn.00415b8f
test eax, eax
jne 0x4bc237
xor eax, eax
jmp 0x4bc461
push ebx
push ebx
call fcn.0048a119
push eax
push str._sLastTimeTG.dat
lea eax, [ebp - 0x110]
push 0x104
push eax
call fcn.004c53b7
add esp, 0x18
cmp dword [0x5c57a0], 0xffffffff
mov esi, 0x6d3adc
jne 0x4bc2cb
push 0x177e
push str..ServerPAULA.c
mov edx, 0x530488
lea ecx, [ebp - 0x110]
mov dword [0x5c57a0], ebx
call fcn.0042d2c6
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x4bc2a9
push edi
push 1
lea eax, [ebp - 0x128]
push 0x10
push eax
call fcn.00511c63
add esp, 0x10
mov ecx, edi
call fcn.0042d70e
movzx eax, word [ebp - 0x122]
cmp eax, ebx
mov dword [0x5c57a0], eax
jge 0x4bc2bf
mov dword [0x5c57a0], ebx
push 8
push ebx
push esi
call fcn.005117f0
add esp, 0xc
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
cmp dword [0x6d3ae4], ebx
je 0x4bc305
push 8
push ebx
push esi
call fcn.005117f0
movzx eax, word [ebp - 0x122]
add esp, 0xc
cmp dword [0x5c57a0], eax
je 0x4bc230
mov dword [0x6d3ae4], ebx
movzx eax, word [ebp - 0x122]
cmp eax, dword [0x5c57a0]
jne 0x4bc32f
push 8
push ebx
push esi
mov dword [0x6d3ae4], 1
call fcn.005117f0
add esp, 0xc
jmp 0x4bc230
cmp dword [0x6d3adc], ebx
jne 0x4bc33f
cmp dword [0x6d3ae0], ebx
je 0x4bc351
call fcn.004f16be
sub eax, dword [0x6d3ae8]
cmp eax, 0x927c0
jbe 0x4bc367
call fcn.004f16be
push esi
mov dword [0x6d3ae8], eax
call dword [sym.imp.USER32.dll_GetCursorPos]
jmp 0x4bc230
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x118]
sub eax, dword [0x6d3adc]
push eax
call fcn.0051209e
cmp eax, 0x64
pop ecx
jg 0x4bc3a8
mov eax, dword [ebp - 0x114]
sub eax, dword [0x6d3ae0]
push eax
call fcn.0051209e
cmp eax, 0x64
pop ecx
jle 0x4bc230
movzx eax, word [ebp - 0x122]
push 8
xor edi, edi
push ebx
inc edi
push esi
mov dword [0x6d3ae4], edi
mov dword [0x5c57a0], eax
call fcn.005117f0
push 0x17a8
push str..ServerPAULA.c
mov edx, 0x530484
lea ecx, [ebp - 0x110]
call fcn.0042d2c6
mov esi, eax
add esp, 0x14
cmp esi, ebx
je 0x4bc403
push esi
push edi
lea eax, [ebp - 0x128]
push 0x10
push eax
call fcn.005110f1
add esp, 0x10
mov ecx, esi
call fcn.0042d70e
push 0xd
mov eax, edi
call fcn.004603fd
cmp eax, 7
pop ecx
jne 0x4bc42a
push ebx
push ebx
call fcn.00489f49
push eax
push str._sSoundsPraiseBigPraise.wav
push ebx
call fcn.004c5467
add esp, 0x14
jmp 0x4bc443
push eax
push ebx
push ebx
call fcn.00489f49
pop ecx
pop ecx
push eax
push str._sSoundsIntroToddStart_d.wav
push ebx
call fcn.004c5467
add esp, 0x10
mov esi, eax
push esi
push str.:2:Last_Windows_Startup_Sound_Played_for_Todd_Franks:___s_
call fcn.00426c01
pop ecx
pop ecx
push 0x20001
push ebx
push esi
call dword [sym.imp.WINMM.dll_PlaySoundA]
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051291c
leave
ret