Function at 0x40bff0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47092a
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x56fda8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
push 2
mov ecx, dword [ebp - 0x18]
call fcn.004111f0
push 3
mov ecx, dword [ebp - 0x18]
call fcn.004111f0
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x18]
add eax, 0x53f8
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
push 0x3e8
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043ffc7
push 0
push 0x452
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043ffc7
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0xc8], 0
mov edx, dword [ebp - 0x18]
mov dword [edx + 0xc4], 0xff
push 0x4747ce
push 0x41f
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043fee3
push 0x4747cf
push 0x41c
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043fee3
mov ecx, dword [ebp - 0x18]
call fcn.004098c0
mov ecx, dword [ebp - 0x18]
call fcn.00404550
test eax, eax
jne 0x40c145
mov ecx, dword [ebp - 0x18]
call fcn.00408440
push 0
push 0x64
push 2
mov ecx, dword [ebp - 0x18]
call fcn.004111c0
push 0
push 0x32
push 3
mov ecx, dword [ebp - 0x18]
call fcn.004111c0
push 0x32
push 0x258
call dword [sym.imp.KERNEL32.dll_Beep]
push 0x475ab4
push 0x3e9
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043fee3
push 0x2c
mov eax, dword [ebp - 0x18]
add eax, 0x1f4
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x1c8
push ecx
call fcn.00455a00
add esp, 0xc
push 0
mov ecx, dword [ebp - 0x18]
call fcn.0043c8ac
jmp 0x40c277
push 0
mov ecx, dword [ebp - 0x18]
call fcn.0043c8ac
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x278], 0
push 0x4747d6
lea ecx, [ebp - 0x10]
call fcn.00401870
mov dword [ebp - 4], 0
push str.STOP
lea eax, [ebp - 0x10]
push eax
call fcn.004115c0
add esp, 8
lea ecx, [ebp - 0x10]
call fcn.00401d50
push eax
push 0x3e8
mov ecx, dword [ebp - 0x18]
call fcn.0043fe22
mov ecx, dword [ebp - 0x18]
call fcn.0040dd70
test eax, eax
je 0x40c210
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x2c8], eax
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x2cc], eax
mov eax, dword [ebp - 0x18]
push eax
push 0
push 0x418880
call fcn.0045606e
add esp, 0xc
mov ecx, dword [ebp - 0x18]
push ecx
push 0
push 0x418af0
call fcn.0045606e
add esp, 0xc
push 0
push 0x64
push 2
mov ecx, dword [ebp - 0x18]
call fcn.004111c0
push 0
push 0x32
push 3
mov ecx, dword [ebp - 0x18]
call fcn.004111c0
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0x53d4]
call fcn.0041af30
movzx eax, ax
cmp eax, 0x32a
jl 0x40c252
mov dword [ebp - 0x14], 0
jmp 0x40c23a
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0x28
jge 0x40c252
mov ecx, dword [ebp - 0x18]
call fcn.00409910
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40c231
push 0
push 0x3ea
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043ffc7
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.004018f0
push 1
push 0x3e8
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043ffc7
push 1
push 0x452
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043ffc7
push 0x3e8
mov ecx, dword [ebp - 0x18]
call fcn.0043fdcf
mov ecx, eax
call fcn.0043ffee
mov edx, dword [ebp - 0x18]
add edx, 0x53f8
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret