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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
mov eax, dword [0x11ad127c]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x10]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
push edi
mov edi, ecx
mov dword [esp + 0x1c], eax
push 0x400
and byte [edi + 0xb4], 0xf3
lea eax, [edi + 0x11c]
push eax
mov dword [edi + 0xfc], 0
mov dword [edi + 0x100], 0
mov dword [edi + 0x104], 0
mov dword [edi + 0x10c], 0
mov dword [edi + 0x110], 0
mov dword [edi + 0x114], 0
mov dword [edi + 0x118], 0
call esi
push 0x400
lea eax, [edi + 0x2d4]
mov dword [edi + 0x2c4], 0
push eax
mov dword [edi + 0x2c8], 0
mov dword [edi + 0x2cc], 0
mov dword [edi + 0x2d0], 0
call esi
push 0x105
mov dword [edi + 0x9c4], 0
mov dword [edi + 0x9b8], 0
mov dword [edi + 0x9bc], 0
call fcn.10450898
add esp, 4
mov dword [edi + 0x9c0], eax
test eax, eax
je 0x10203bb4
mov byte [eax], 0
mov dword [edi + 0xa98], 0
xorps xmm0, xmm0
mov dword [edi + 0xa9c], 0
mov dword [edi + 0xaa4], 0
mov dword [edi + 0xaa8], 0
mov dword [edi + 0xaac], 0
mov dword [edi + 0xab0], 0
mov dword [edi + 0x9f8], 0
mov dword [edi + 0x9fc], 0
mov dword [edi + 0xa58], 0
mov dword [edi + 0xa5c], 0
mov dword [edi + 0xa60], 0
mov dword [edi + 0xa68], 0
mov dword [edi + 0xa6c], 0
mov byte [edi + 0xa70], 0
mov dword [edi + 0xa78], 0
mov byte [edi + 0xa55], 0
mov dword [edi + 0xa00], 0
movups xmmword [edi + 0xa04], xmm0
inc dword [0x11d0d904]
movups xmmword [edi + 0xa14], xmm0
movq qword [edi + 0xa24], xmm0
mov dword [edi + 0x1150], 0
mov dword [edi + 0x1160], 0
mov dword [edi + 0x1164], 0
mov dword [edi + 0x1158], 0
mov dword [edi + 0x1160], 0
mov dword [edi + 0x115c], 0
mov dword [edi + 0x1168], 0
mov dword [edi + 0x116c], 0
mov dword [edi + 0x1170], 0
mov dword [edi + 0x117c], 0
mov dword [edi + 0x1180], 0
mov dword [edi + 0x1174], 0
mov dword [edi + 0x117c], 0
mov dword [edi + 0x1178], 0
mov dword [edi + 0x1184], 0
mov dword [edi + 0x1188], 0
mov dword [edi + 0x118c], 0
mov dword [edi + 0x1198], 0
mov dword [edi + 0x119c], 0
mov dword [edi + 0x1190], 0
mov dword [edi + 0x1198], 0
mov dword [edi + 0x1194], 0
mov dword [edi + 0x11a0], 0
mov dword [edi + 0x11a4], 0
mov dword [edi + 0x11a8], 0
mov dword [edi + 0x11b4], 0
mov dword [edi + 0x11b8], 0
mov dword [edi + 0x11ac], 0
mov dword [edi + 0x11b4], 0
mov dword [edi + 0x11b0], 0
mov dword [edi + 0x11bc], 0
mov dword [edi + 0x11c0], 0
mov dword [edi + 0x11c4], 0
mov dword [edi + 0x11d0], 0
mov dword [edi + 0x11d4], 0
mov dword [edi + 0x11c8], 0
mov dword [edi + 0x11d0], 0
mov dword [edi + 0x11cc], 0
mov dword [edi + 0x11d8], 0
mov dword [edi + 0x11dc], 0
mov dword [edi + 0x11e0], 0
mov dword [edi + 0x11ec], 0
mov dword [edi + 0x11f0], 0
mov dword [edi + 0x11e4], 0
mov dword [edi + 0x11ec], 0
mov dword [edi + 0x11e8], 0
mov dword [edi + 0x11f4], 0
mov dword [edi + 0x11f8], 0
mov dword [edi + 0x11fc], 0
mov dword [edi + 0x1208], 0
mov dword [edi + 0x120c], 0
mov dword [edi + 0x1200], 0
mov dword [edi + 0x1208], 0
mov dword [edi + 0x1204], 0
mov dword [edi + 0x1210], 0
mov dword [edi + 0x1214], 0
mov dword [edi + 0x1218], 0
mov dword [edi + 0x1224], 0
mov dword [edi + 0x1228], 0
mov dword [edi + 0x121c], 0
lea eax, [edi + 0x1254]
mov dword [edi + 0x1224], 0
mov dword [edi + 0x1220], 0
mov dword [edi + 0x122c], 0
mov dword [edi + 0x1230], 0
mov dword [edi + 0x1234], 0
push 0x400
push eax
mov byte [edi + 0x123e], 0
mov dword [edi + 0x1244], 0
mov dword [edi + 0x1248], 0
mov dword [edi + 0x124c], 0
mov dword [edi + 0x1250], 0
call esi
push 0x400
lea eax, [edi + 0x127c]
mov dword [edi + 0x126c], 0
push eax
mov dword [edi + 0x1270], 0
mov dword [edi + 0x1274], 0
mov dword [edi + 0x1278], 0
call esi
push 0x400
lea eax, [edi + 0x12a8]
mov dword [edi + 0x1298], 0
push eax
mov dword [edi + 0x129c], 0
mov dword [edi + 0x12a0], 0
mov dword [edi + 0x12a4], 0
call esi
push 0x400
lea eax, [edi + 0x12d4]
mov dword [edi + 0x12c4], 0
push eax
mov dword [edi + 0x12c8], 0
mov dword [edi + 0x12cc], 0
mov dword [edi + 0x12d0], 0
call esi
push 0x400
lea eax, [edi + 0x12fc]
mov dword [edi + 0x12ec], 0
push eax
mov dword [edi + 0x12f0], 0
mov dword [edi + 0x12f4], 0
mov dword [edi + 0x12f8], 0
call esi
push 0x400
lea eax, [edi + 0x1324]
mov dword [edi + 0x1314], 0
push eax
mov dword [edi + 0x1318], 0
mov dword [edi + 0x131c], 0
mov dword [edi + 0x1320], 0
call esi
push 0x400
lea eax, [edi + 0x1350]
mov dword [edi + 0x1340], 0
push eax
mov dword [edi + 0x1344], 0
mov dword [edi + 0x1348], 0
mov dword [edi + 0x134c], 0
call esi
push 0x400
lea eax, [edi + 0x1378]
mov dword [edi + 0x1368], 0
push eax
mov dword [edi + 0x136c], 0
mov dword [edi + 0x1370], 0
mov dword [edi + 0x1374], 0
call esi
push 0x100
lea eax, [edi + 0x13a0]
mov dword [edi + 0x139c], 0
push 0
push eax
call fcn.10425c00
add esp, 0xc
mov dword [edi + 0x2560], 0
push 0x100
push 0
lea eax, [edi + 0x2564]
push eax
call fcn.10425c00
xorps xmm0, xmm0
lea ecx, [edi + 0x37b8]
movups xmmword [edi + 0x372c], xmm0
add esp, 0xc
movq qword [edi + 0x373c], xmm0
mov dword [edi + 0x3738], 0xffffffff
mov dword [edi + 0x373c], 0
call fcn.102394a0
lea eax, [ecx + 0x2d8]
mov dword [ecx + 0x1d8], 0
xorps xmm0, xmm0
mov dword [ecx + 0x1d4], 0
mov dword [ecx + 0x1dc], 0
mov dword [ecx + 0x1e4], 0
mov dword [ecx + 0x1e8], 0
mov dword [ecx + 0x1e0], 0
mov dword [ecx + 0x1ec], 0
mov dword [ecx + 0x1f0], 0
mov dword [ecx], 0x1122b6b8
mov dword [ecx + 0x1d0], 0x1122b6b4
mov byte [ecx + 0x1f4], 0
mov word [ecx + 0x414], 0
mov dword [ecx + 0x1f8], 0
mov dword [ecx + 0x1fc], 0
mov dword [ecx + 0x200], 0
mov dword [ecx + 0x204], 0
mov dword [ecx + 0x208], 0
mov dword [ecx + 0x218], 0
mov dword [ecx + 0x21c], 0
mov dword [ecx + 0x220], 0
mov dword [ecx + 0x224], 0
mov dword [ecx + 0x228], 0
mov dword [ecx + 0x22c], 0
mov byte [ecx + 0x230], 0
mov dword [ecx + 0x2b0], 6
mov dword [ecx + 0x2b4], 0x42960000
mov dword [ecx + 0x2b8], 0x42c80000
mov dword [ecx + 0x3fc], 0xf0000000
mov dword [ecx + 0x2bc], 0x3f800000
mov dword [ecx + 0x2c0], 0x3f800000
mov dword [ecx + 0x2c4], 0x3f800000
mov dword [ecx + 0x2c8], 0
mov dword [ecx + 0x2cc], 0x3f800000
mov dword [ecx + 0x2d0], 0x3f800000
mov dword [ecx + 0x2d4], 0
mov dword [ecx + 0x40c], 0
mov word [ecx + 0x3f8], 0
mov byte [ecx + 0x400], 0
mov dword [ecx + 0x410], 0
push eax
movq qword [ecx + 0x404], xmm0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ecx, [edi + 0x3bd8]
call fcn.102379f0
lea esi, [edi + 0x4438]
mov ecx, esi
call fcn.102394a0
mov dword [esi + 0x1dc], 0
lea eax, [esi + 0x218]
mov dword [esi + 0x1e0], 0
xor ecx, ecx
mov dword [esi + 0x1e4], 0x280
mov dword [esi + 0x1e8], 0x1e0
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x1fc], 0x44200000
mov dword [esi + 0x200], 0x43f00000
mov byte [esi + 0xa9], 1
mov dword [esi], 0x1122b630
mov dword [esi + 0x1d0], 0x1e
mov dword [esi + 0x1d4], 0x40
mov dword [esi + 0x20c], 0
mov dword [eax - 8], ecx
lea eax, [eax + 0x10]
inc ecx
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
cmp ecx, 0x17
jl 0x10204353
mov dword [esi + 0x3c8], 0
mov dword [esi + 0x3d4], 0
mov dword [esi + 0x3d0], 1
mov dword [esi + 0x3dc], 0
mov dword [esi + 0x3e0], 0
mov dword [esi + 0x3e4], 0
mov dword [esi + 0x3b8], 0x4eff0000
mov dword [esi + 0x3bc], 0
lea esi, [edi + 0x4abc]
push 0x800
push 0
push esi
mov dword [edi + 0x5334], 0
mov dword [edi + 0x5338], 0
mov dword [edi + 0x533c], 0x10000
call fcn.10425c00
add esp, 0xc
lea eax, [edi + 0x52bc]
push 0x78
push 0
push eax
call fcn.10425c00
mov dword [edi + 0x4ab8], esi
add esp, 0xc
sub dword [ebp + 0xc], 2
mov dword [edi + 0x53f0], 0
mov dword [edi + 0x5740], 0
mov dword [edi + 0x57a0], 0
mov dword [edi + 0x59b0], 0
mov byte [edi + 0xf4c], 0
mov byte [edi + 0xfcc], 0
je 0x1020444a
xor eax, eax
jmp 0x1020444f
mov eax, 2
push dword [ebp + 8]
mov ecx, edi
mov dword [edi + 0x53e8], eax
call fcn.10204c40
cmp dword [0x11d0c744], 0
mov esi, dword [edi]
mov dword [esp + 0x14], esi
je 0x10204497
cmp dword [esi + 4], 0x58544e43
jne 0x10204497
mov eax, dword fs:[0x2c]
mov ecx, dword [0x11d0c5b8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi]
mov dword [ecx + 0x10], eax
mov dword [esi + 8], 0
jmp 0x1020449d
xor esi, esi
mov dword [esp + 0x14], esi
push 0x4c
lea eax, [esp + 0x60]
push 0
push eax
call fcn.10425c00
xor ecx, ecx
xorps xmm0, xmm0
mov dword [esp + 0x3c], ecx
add esp, 0xc
mov dword [esp + 0x3c], ecx
and ecx, 0xfffffffe
movaps xmmword [esp + 0x40], xmm0
mov eax, dword [esi + 0x11cc]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], 0x50
mov dword [esp + 0x68], 0x5000024
mov dword [esp + 0x58], 0x4e564441
mov dword [esp + 0x5c], 0x10002
mov dword [esp + 0x64], 0x4e564458
mov dword [esp + 0x60], 0x50
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0xff030000
mov dword [esp + 0x90], 0x20801801
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0x10
mov edx, dword [esi + 0x10b4]
test edx, edx
je 0x102045f6
mov eax, dword [esi]
test eax, eax
je 0x102045f6
mov ecx, dword [eax + 0xbe28]
test ecx, ecx
je 0x102045f6
mov ecx, dword [ecx + 0x14]
test ecx, ecx
je 0x102045f6
cmp dword [eax + 0xd45c], 1
jne 0x102045ea
lea eax, [esi + 0x1428]
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push eax
call esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [eax + 0x10b4]
mov eax, dword [eax]
mov eax, dword [eax + 0xbe28]
push dword [eax + 0x14]
call ecx
mov dword [esp + 0x18], eax
xorps xmm0, xmm0
lea eax, [esp + 0x20]
movlpd qword [esp + 0x20], xmm0
push eax
call esi
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
sub ecx, dword [edx + 0x1428]
sbb eax, dword [edx + 0x142c]
add dword [edx + 0x1420], ecx
adc dword [edx + 0x1424], eax
mov eax, dword [esp + 0x18]
jmp 0x102045f2
lea eax, [esp + 0x2c]
push eax
push ecx
call edx
test eax, eax
jne 0x10204614
mov eax, dword [esp + 0x40]
mov dword [edi + 0x4a94], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0x4a98], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x4aa0], eax
mov edx, dword [ebp + 8]
and byte [edi + 0xaa], 0x7f
and byte [edi + 0xb3], 0x78
and byte [edi + 0xb4], 0xfd
mov dword [edi], edx
mov dword [edi + 0x4a5c], edx
mov dword [edi + 0x59e0], 0
mov dword [edi + 0x59e4], 0
mov dword [edi + 0x59d8], 0
mov dword [edi + 0x59dc], 0
mov dword [edi + 0x59d4], 0
mov byte [edi + 0xf0], 0
mov word [edi + 0x5784], 1
mov dword [edi + 0x5788], 0
mov dword [edi + 0x5408], 0
mov dword [edi + 0xc0], 0
mov byte [edi + 0x59ae], 0
mov byte [edi + 0x59c4], 0
cmp dword [0x11d0c744], 0
je 0x102047ac
cmp dword [edx + 4], 0x58544e43
jne 0x102047ac
mov eax, dword fs:[0x2c]
mov esi, dword [0x11d0c5b8]
mov ecx, dword [eax + esi*4]
mov eax, dword [edx]
mov dword [ecx + 0x10], eax
mov dword [edx + 8], 0
mov eax, dword [0x11d0c744]
mov edx, dword [edi]
test eax, eax
je 0x1020470d
cmp dword [edx + 4], 0x58544e43
jne 0x1020470d
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [edx]
mov dword [ecx + 0x10], eax
mov dword [edx + 8], 0
mov eax, dword [0x11d0c744]
jmp 0x1020470f
xor edx, edx
cmp dword [edx], 0
je 0x102047ac
mov edx, dword [edi]
test eax, eax
je 0x10204741
cmp dword [edx + 4], 0x58544e43
jne 0x10204741
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [edx]
mov dword [ecx + 0x10], eax
mov dword [edx + 8], 0
jmp 0x10204743
xor edx, edx
mov ecx, dword [edx]
xor eax, eax
mov dword [esp + 0x14], ecx
mov esi, dword [ecx + 0xfd48]
test esi, esi
je 0x102047ac
add ecx, 0xf968
mov edx, ecx
nop dword [eax]
cmp dword [edx], 1
je 0x1020476f
inc eax
add edx, 0x20
cmp eax, esi
jb 0x10204760
jmp 0x102047ac
cmp eax, 0x1f
jne 0x10204785
xor eax, eax
cmp dword [ecx], 1
je 0x1020478f
inc eax
add ecx, 0x20
cmp eax, esi
jb 0x10204776
jmp 0x102047ac
cmp eax, 0xffffffff
je 0x102047ac
cmp eax, 0x1f
jae 0x102047ac
mov ecx, dword [esp + 0x14]
shl eax, 5
cmp dword [eax + ecx + 0xf96c], 0
setne al
test al, al
je 0x102047ac
mov byte [edi + 0x59c4], 1
cmp byte [edi + 0x59c4], 0
mov ecx, 1
mov word [edi + 0x59c5], 0
movzx eax, byte [edi + 0x59c5]
cmovne eax, ecx
mov ecx, dword fs:[0x2c]
mov byte [edi + 0x59c5], al
mov eax, dword [0x11d0c5b8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x10204813
mov ecx, dword [ecx + 0xbe28]
lea eax, [ecx + 0x26e4]
test eax, eax
je 0x10204813
cmp dword [ecx + 0x3b55], 0xa
jb 0x10204813
cmp dword [ecx + 0x3b5d], 0x3f86
jb 0x10204813
mov al, 1
jmp 0x10204815
xor al, al
mov esi, dword [esp + 0x1c]
mov byte [edi + 0x59c8], al
mov dword [edi + 0x59d0], 0
mov dword [edi + 0x59cc], 0
test esi, esi
je 0x10204874
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10204840
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.10450898
add esp, 4
mov dword [edi + 0x1150], eax
test eax, eax
je 0x10204874
mov cl, byte [esi]
test cl, cl
je 0x10204871
mov byte [eax], cl
lea esi, [esi + 1]
mov cl, byte [esi]
inc eax
test cl, cl
jne 0x10204865
mov byte [eax], 0
mov ecx, dword [esp + 0xac]
mov eax, edi
pop edi
pop esi
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0xc