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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46a148
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
push ebx
push esi
push edi
mov eax, dword [0x48700c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x452c48
call fcn.00452290
test al, al
je 0x452798
mov dword [esi + 0x250], 0
mov dword [esi + 0x254], 0
mov dword [esi + 0x258], 0
mov dword [esi + 0x25c], 0
mov dword [esi + 0x238], 0
mov dword [esi + 0x23c], 0
mov dword [esi + 0x240], 0
mov dword [esi + 0x244], 0
mov dword [esi + 0x248], 0
mov dword [esi + 0x24c], 0
push ebx
lea ecx, [esi + 0x130]
call fcn.0040a540
mov eax, dword [esi + 0x250]
or eax, dword [esi + 0x254]
mov edi, dword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov ebx, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
jne 0x452a0d
xorps xmm0, xmm0
push 1
movlpd qword [ebp - 0x20], xmm0
call eax
push eax
call edi
cmp dword [0x48b398], 0
mov dword [ebp - 0x14], eax
jne 0x4528b0
cmp dword [0x48b39c], 0
jne 0x4528b0
push 0x48b398
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x4528b0
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x476fd0]
mulsd xmm0, qword [0x476f78]
call fcn.00462a20
mov bl, byte [0x48b173]
lea ecx, [ebp - 0xe8]
sub esp, 8
mov dword [ebp - 0x10], edx
mov edi, eax
call fcn.00402c10
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0xe8]
push 0
push 0
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov byte [ebp - 0x37], bl
mov dword [ebp - 0x30], 4
mov byte [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], 1
push 0x47538c
push eax
call fcn.00403720
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe8]
call fcn.0042c650
jmp 0x4529cb
xor edi, edi
lea eax, [ebp - 0x28]
push eax
call ebx
test eax, eax
jne 0x45298c
cmp edi, 0xa
je 0x4528d9
inc edi
cmp edi, 0xa
jle 0x4528b2
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
jmp 0x4529cb
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x476fd0]
mulsd xmm0, qword [0x476f78]
call fcn.00462a20
mov bl, byte [0x48b173]
lea ecx, [ebp - 0x1a8]
sub esp, 8
mov dword [ebp - 0x10], edx
mov edi, eax
call fcn.00402c10
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x1a8]
mov eax, dword [ebp - 0x1a8]
push 0
push 0
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov byte [ebp - 0xf7], bl
mov dword [ebp - 0xf0], 4
mov byte [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
lea eax, [ebp - 0x198]
mov dword [ebp - 4], 3
push 0x4753b0
push eax
call fcn.00403720
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a8]
call fcn.0042c650
jmp 0x4529cb
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
call fcn.00462b80
mulsd xmm0, qword [0x476f80]
mov edx, dword [0x48b39c]
mov ecx, dword [0x48b398]
movsd qword [ebp - 0x20], xmm0
call fcn.00462b80
movsd xmm1, qword [ebp - 0x20]
divsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.00462a20
mov edi, eax
mov dword [ebp - 0x10], edx
push dword [ebp - 0x14]
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call eax
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
call eax
push 0x1f3
push 0xfffffc18
push dword [ebp - 0x10]
push edi
call fcn.00462780
mov ebx, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edi, dword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov dword [esi + 0x250], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [esi + 0x254], edx
xorps xmm0, xmm0
push 1
movlpd qword [ebp - 0x28], xmm0
call eax
push eax
call edi
cmp dword [0x48b398], 0
mov dword [ebp - 0x14], eax
jne 0x452afa
cmp dword [0x48b39c], 0
jne 0x452afa
push 0x48b398
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x452afa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x476fd0]
mulsd xmm0, qword [0x476f78]
call fcn.00462a20
mov bl, byte [0x48b173]
lea ecx, [ebp - 0x268]
sub esp, 8
mov dword [ebp - 0x10], edx
mov edi, eax
call fcn.00402c10
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x268]
mov eax, dword [ebp - 0x268]
push 0
push 0
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov byte [ebp - 0x1b7], bl
mov dword [ebp - 0x1b0], 4
mov byte [ebp - 0x1b8], 0
mov dword [ebp - 0x1b4], 0
lea eax, [ebp - 0x258]
mov dword [ebp - 4], 5
push 0x47538c
push eax
call fcn.00403720
add esp, 8
lea ecx, [ebp - 0x268]
call fcn.0042c650
jmp 0x452c11
xor edi, edi
nop dword [eax]
lea eax, [ebp - 0x20]
push eax
call ebx
test eax, eax
jne 0x452bd2
cmp edi, 0xa
je 0x452b27
inc edi
cmp edi, 0xa
jle 0x452b00
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
jmp 0x452c11
call dword [sym.imp.KERNEL32.dll_GetTickCount]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x476fd0]
mulsd xmm0, qword [0x476f78]
call fcn.00462a20
mov bl, byte [0x48b173]
lea ecx, [ebp - 0x328]
sub esp, 8
mov dword [ebp - 0x10], edx
mov edi, eax
call fcn.00402c10
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x328]
mov eax, dword [ebp - 0x328]
push 0
push 0
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov byte [ebp - 0x277], bl
mov dword [ebp - 0x270], 4
mov byte [ebp - 0x278], 0
mov dword [ebp - 0x274], 0
lea eax, [ebp - 0x318]
mov dword [ebp - 4], 7
push 0x4753b0
push eax
call fcn.00403720
add esp, 8
lea ecx, [ebp - 0x328]
call fcn.0042c650
jmp 0x452c11
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
call fcn.00462b80
mulsd xmm0, qword [0x476f80]
mov edx, dword [0x48b39c]
mov ecx, dword [0x48b398]
movsd qword [ebp - 0x28], xmm0
call fcn.00462b80
movsd xmm1, qword [ebp - 0x28]
divsd xmm1, xmm0
movaps xmm0, xmm1
call fcn.00462a20
mov edi, eax
mov dword [ebp - 0x10], edx
push dword [ebp - 0x14]
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call eax
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
call eax
push 0x1f3
push 0xfffffc18
push dword [ebp - 0x10]
push edi
call fcn.00462780
mov dword [esi + 0x258], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x25c], edx
mov eax, dword [eax + 0x10]
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