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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
xor eax, eax
push ebx
cmp edx, 0xffffffff
push esi
cmove edx, eax
mov esi, ecx
mov ecx, dword [0x11d0c5b8]
mov eax, dword fs:[0x2c]
push edi
mov eax, dword [eax + ecx*4]
or ecx, 0xffffffff
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x11c], eax
mov ebx, dword [eax + 0xbe28]
xor eax, eax
mov edi, dword [ebx + 0xb719]
test edi, edi
je 0x101d8316
lea ecx, [ebx + 0xa835]
nop dword [eax]
cmp dword [ecx], edx
je 0x101d8314
inc eax
add ecx, 0xf0
cmp eax, edi
jb 0x101d8300
or ecx, 0xffffffff
jmp 0x101d8316
mov ecx, eax
xor eax, eax
mov edx, dword [esi + 0x10b4]
cmp ecx, 0xffffffff
mov dword [ebp - 0x108], eax
xorps xmm0, xmm0
cmove ecx, eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x100], ecx
xor ecx, ecx
mov dword [ebp - 0x114], ecx
and ecx, 0xfffffffe
mov eax, dword [eax + 0xbe2c]
mov eax, dword [eax + 0x11cc]
mov dword [ebp - 0x114], ecx
imul ecx, dword [ebp - 0x100], 0xf0
mov dword [ebp - 0x118], eax
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x68], 0
movlpd qword [ebp - 0x60], xmm0
mov dword [ebp - 0x58], 0
movlpd qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x84], 0x4e564441
mov dword [ebp - 0x80], 0x10002
mov dword [ebp - 0x7c], 0x40
mov dword [ebp - 0x78], 0x4e564458
mov dword [ebp - 0x74], 0x100007e
mov dword [ebp - 0x64], 0
mov eax, dword [ecx + ebx + 0xa82d]
mov dword [ebp - 0x54], eax
mov eax, dword [ecx + ebx + 0xa829]
mov ebx, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], 0x40
test edx, edx
je 0x101d8483
mov eax, dword [esi]
test eax, eax
je 0x101d8483
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x101d8483
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x101d8483
cmp dword [eax + 0xd45c], 1
jne 0x101d846f
lea eax, [esi + 0x1428]
push eax
call ebx
mov ecx, dword [esi + 0x10b4]
lea eax, [ebp - 0x118]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov edi, eax
xorps xmm0, xmm0
lea eax, [ebp - 0x104]
movlpd qword [ebp - 0x104], xmm0
push eax
call ebx
mov ecx, dword [ebp - 0x104]
sub ecx, dword [esi + 0x1428]
mov eax, dword [ebp - 0x100]
sbb eax, dword [esi + 0x142c]
add dword [esi + 0x1420], ecx
adc dword [esi + 0x1424], eax
jmp 0x101d847b
lea eax, [ebp - 0x118]
push eax
push ecx
call edx
mov edi, eax
test edi, edi
js 0x101d86a9
mov eax, dword [ebp - 0x48]
xor edi, edi
mov edx, dword [esi + 0x10b4]
xorps xmm0, xmm0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x40]
movlpd qword [ebp - 0x2c], xmm0
mov dword [ebp - 0x24], 0
movlpd qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x40], 0x4e564441
mov dword [ebp - 0x3c], 0x10002
mov dword [ebp - 0x38], 0x38
mov dword [ebp - 0x34], 0x4e564458
mov dword [ebp - 0x30], 0x7000143
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], 0x38
test edx, edx
je 0x101d858e
mov eax, dword [esi]
test eax, eax
je 0x101d858e
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x101d858e
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x101d858e
cmp dword [eax + 0xd45c], 1
jne 0x101d8577
lea eax, [esi + 0x1428]
push eax
call ebx
mov ecx, dword [esi + 0x10b4]
lea eax, [ebp - 0x118]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov edi, eax
xorps xmm0, xmm0
lea eax, [ebp - 0x104]
movlpd qword [ebp - 0x104], xmm0
push eax
call ebx
mov ecx, dword [ebp - 0x104]
sub ecx, dword [esi + 0x1428]
mov eax, dword [ebp - 0x100]
sbb eax, dword [esi + 0x142c]
add dword [esi + 0x1420], ecx
adc dword [esi + 0x1424], eax
jmp 0x101d8583
lea eax, [ebp - 0x118]
push eax
push ecx
call edx
mov edi, eax
test edi, edi
js 0x101d86a9
mov edi, dword [ebp - 0xc]
push 0x74
lea eax, [ebp - 0xfc]
push 0
push eax
call fcn.10425c00
or dword [ebp - 0xc4], 8
lea eax, [ebp - 0xfc]
mov edx, dword [esi + 0x10b4]
add esp, 0xc
mov dword [ebp - 0xfc], 0x4e564441
mov dword [ebp - 0xf8], 0x10002
mov dword [ebp - 0xf4], 0x74
mov dword [ebp - 0xf0], 0x4e564458
mov dword [ebp - 0xec], 0x70001be
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], 0x74
test edx, edx
je 0x101d86be
mov eax, dword [esi]
test eax, eax
je 0x101d86be
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x101d86be
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x101d86be
cmp dword [eax + 0xd45c], 1
jne 0x101d8699
lea eax, [esi + 0x1428]
push eax
call ebx
mov ecx, dword [esi + 0x10b4]
lea eax, [ebp - 0x118]
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov edi, eax
xorps xmm0, xmm0
lea eax, [ebp - 0x104]
movlpd qword [ebp - 0x104], xmm0
push eax
call ebx
mov ecx, dword [ebp - 0x104]
sub ecx, dword [esi + 0x1428]
mov eax, dword [ebp - 0x100]
sbb eax, dword [esi + 0x142c]
add dword [esi + 0x1420], ecx
adc dword [esi + 0x1424], eax
jmp 0x101d86a5
lea eax, [ebp - 0x118]
push eax
push ecx
call edx
mov edi, eax
test edi, edi
jns 0x101d86be
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 8]
movzx eax, word [ebp - 0xae]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 4