Function at 0x417380
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x598e6d
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x601018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [edi + 4], vtable.RequestBase.0
mov dword [edi + 8], vtable.WorkBase.0
mov dword [edi + 0xc], vtable.RenderBase.0
lea esi, [edi + 0x10]
mov dword [edi], vtable.ConnectionComponent.0
mov dword [edi + 4], vtable.ConnectionComponent.1.0
mov dword [edi + 8], vtable.ConnectionComponent.2.0
mov dword [edi + 0xc], vtable.ConnectionComponent.3.0
call fcn.0042af70
or eax, 0xffffffff
mov dword [edi + 0x28b8], ebx
mov dword [edi + 0x28bc], ebx
mov dword [edi + 0x28c0], ebx
mov dword [edi + 0x28c4], eax
mov dword [edi + 0x28c8], eax
mov dword [edi + 0x28cc], ebx
mov byte [edi + 0x28d0], bl
mov byte [edi + 0x2cd0], bl
mov byte [edi + 0x30d0], bl
mov byte [edi + 0x34d0], bl
mov dword [edi + 0x38d0], ebx
mov dword [edi + 0x38d4], ebx
mov dword [edi + 0x38d8], ebx
lea esi, [edi + 0x38e4]
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push ebx
push ebx
push ebx
push ebx
mov dword [edi + 0x3900], esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [edi + 0x38fc], eax
mov dword [edi + 0x3904], ebx
mov dword [edi + 0x390c], ebx
mov dword [edi + 0x3908], ebx
push 1
lea eax, [edi + 0x3910]
call fcn.004fa870
push 1
lea eax, [edi + 0x8924]
call fcn.004fa870
lea esi, [edi + 0xd938]
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push ebx
push ebx
push ebx
push ebx
mov dword [esi + 0x1c], esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push ebx
push ebx
push ebx
mov dword [esi + 0x18], eax
push ebx
mov dword [esi + 0x24], esi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push esi
mov dword [esi + 0x20], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 4], 0xc
push 0x18
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x4174e7
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x4174e9
xor esi, esi
mov eax, 0x7270e00
mov dword [edi + 0xd968], esi
mov dword [edi + 0xd96c], ebx
mov dword [edi + 0xd970], ebx
mov dword [edi + 0xd974], ebx
mov dword [edi + 0xd978], ebx
mov dword [edi + 0xd97c], 0xffffffff
mov dword [edi + 0xd980], ebx
mov dword [edi + 0xd984], eax
mov dword [edi + 0xd988], eax
mov dword [edi + 0xd98c], ebx
mov byte [ebp - 4], 0xd
push 0x18
mov dword [edi + 0xd9e0], ebx
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
cmp eax, ebx
je 0x41764e
mov dword [edi + 0xd9dc], eax
mov dword [eax], eax
mov eax, dword [edi + 0xd9dc]
mov dword [eax + 4], eax
mov eax, dword [edi + 0xd9dc]
mov dword [eax + 8], eax
mov eax, dword [edi + 0xd9dc]
mov byte [eax + 0x14], 1
mov ecx, dword [edi + 0xd9dc]
lea esi, [edi + 0xd9e8]
push esi
mov byte [ecx + 0x15], 1
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x41758f
mov dword [esi], ebx
mov dword [esi + 4], ebx
lea esi, [edi + 0xd9f0]
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x4175a5
mov dword [esi], ebx
mov dword [esi + 4], ebx
push 0x404
lea eax, [edi + 0x438]
lea edx, [edi + 0xda04]
push ebx
push eax
mov dword [edi + 0xd9fc], edx
mov dword [edi + 0xda00], 0x100
mov dword [edi + 0xdb0c], ebx
mov dword [edi + 0xdb04], ebx
mov dword [edi + 0xdb08], ebx
mov dword [edi + 0xdb10], ebx
mov dword [edi + 0xdb14], ebx
mov byte [edi + 0xdb18], bl
call sub.MSVCR100.dll_memset
xor eax, eax
mov dword [edi + 0x83c], eax
mov dword [edi + 0x840], eax
push 0x104c
mov dword [edi + 0x844], eax
lea ecx, [edi + 0x1850]
push ebx
mov dword [edi + 0x848], eax
push ecx
mov dword [edi + 0x84c], eax
call sub.MSVCR100.dll_memset
push 0x1000
lea edx, [edi + 0x850]
push ebx
push edx
call sub.MSVCR100.dll_memset
add esp, 0x24
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x10], ebx
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x5f190c
lea ecx, [ebp - 0x1c]
push ecx
mov dword [ebp - 0x1c], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
int3