Function at 0x101611e0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10187e54
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x140
mov eax, dword [0x101ac080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x10210ab8
call fcn.10011c00
movzx eax, al
test eax, eax
jne 0x10161242
push 0x10210a88
call fcn.100c8390
add esp, 4
cmp eax, 2
jae 0x10161247
jmp 0x1016167a
mov ecx, dword [0x101d6658]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [0x1021a144]
cmp ecx, dword [eax + 4]
jle 0x10161345
push 0x1021a144
call fcn.100bc602
add esp, 4
cmp dword [0x1021a144], 0xffffffff
jne 0x10161345
xor edx, edx
mov byte [ebp - 0x101], dl
xor eax, eax
mov byte [ebp - 0x102], al
xor ecx, ecx
mov byte [ebp - 0xf1], cl
movzx edx, byte [ebp - 0x101]
push edx
movzx eax, byte [ebp - 0x102]
push eax
movzx ecx, byte [ebp - 0xf1]
push ecx
lea edx, [ebp - 0xf0]
push edx
call fcn.100a4550
add esp, 0x10
mov ecx, eax
call fcn.100a4730
mov dword [ebp - 0x134], eax
xor eax, eax
mov byte [ebp - 0xf2], al
xor ecx, ecx
mov byte [ebp - 0xf3], cl
xor edx, edx
mov byte [ebp - 0x100], dl
movzx eax, byte [ebp - 0xf2]
push eax
movzx ecx, byte [ebp - 0xf3]
push ecx
movzx edx, byte [ebp - 0x100]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.100a4540
add esp, 0x10
mov ecx, eax
call fcn.100a4670
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x12c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1021a140], eax
push 0x1021a144
call fcn.100bc5b1
add esp, 4
lea eax, [ebp - 0x140]
push eax
mov ecx, dword [0x10209cb8]
call fcn.10126cb0
mov ecx, dword [0x101d6658]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [0x1021a148]
cmp ecx, dword [eax + 4]
jle 0x101613b6
push 0x1021a148
call fcn.100bc602
add esp, 4
cmp dword [0x1021a148], 0xffffffff
jne 0x101613b6
push 0
push 0x15180
mov edx, dword [0x10210aac]
push edx
mov eax, dword [0x10210aa8]
push eax
call fcn.100bd3c0
mov dword [0x1021a13c], eax
push 0x1021a148
call fcn.100bc5b1
add esp, 4
mov dword [ebp - 0x150], 0
lea ecx, [ebp - 0x2c]
call fcn.10003ff0
mov dword [ebp - 4], 0
cmp dword [0x1021a13c], 0
jge 0x101613f3
push 0x45
call fcn.100cb523
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.10003e30
jmp 0x1016167a
cmp dword [0x101ccc68], 0xffffffff
jne 0x1016148b
mov ecx, 0x10213bc0
call fcn.10003ac0
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c8]
mov dword [ebp - 0x130], eax
xor ecx, ecx
mov byte [ebp - 0xf4], cl
xor edx, edx
mov byte [ebp - 0xf5], dl
xor eax, eax
mov byte [ebp - 0xf6], al
movzx ecx, byte [ebp - 0xf4]
push ecx
movzx edx, byte [ebp - 0xf5]
push edx
movzx eax, byte [ebp - 0xf6]
push eax
lea ecx, [ebp - 0x50]
push ecx
call fcn.100a4560
add esp, 0x10
mov ecx, eax
call fcn.100a4670
mov dword [ebp - 0x128], eax
mov edx, dword [ebp - 0x128]
push edx
mov ecx, dword [ebp - 0x108]
call dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101ccc68], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101ccc68]
cmp eax, 0x1f4
jbe 0x1016166b
cmp dword [0x101ccc68], 0xffffffff
je 0x1016166b
movzx eax, byte [0x10215400]
test eax, eax
jne 0x1016166b
mov ecx, dword [0x1021a140]
mov dword [ebp - 0x10c], ecx
xor edx, edx
mov byte [ebp - 0xf7], dl
xor eax, eax
mov byte [ebp - 0xf8], al
xor ecx, ecx
mov byte [ebp - 0xf9], cl
movzx edx, byte [ebp - 0xf7]
push edx
movzx eax, byte [ebp - 0xf8]
push eax
movzx ecx, byte [ebp - 0xf9]
push ecx
lea edx, [ebp - 0x70]
push edx
call fcn.100a4570
add esp, 0x10
mov ecx, eax
call fcn.100a45d0
mov dword [ebp - 0x138], eax
push 0xff
push 0x45
push 0x64
push 0xff
lea ecx, [ebp - 0x144]
call fcn.10036a70
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x138]
push eax
mov ecx, dword [ebp - 0x13c]
push ecx
call dword [ebp - 0x10c]
add esp, 8
mov edx, dword [0x1021a140]
mov dword [ebp - 0x118], edx
xor eax, eax
mov byte [ebp - 0xfa], al
xor ecx, ecx
mov byte [ebp - 0xfb], cl
xor edx, edx
mov byte [ebp - 0xfc], dl
movzx eax, byte [ebp - 0xfa]
push eax
movzx ecx, byte [ebp - 0xfb]
push ecx
movzx edx, byte [ebp - 0xfc]
push edx
lea eax, [ebp - 0x90]
push eax
call fcn.100a4580
add esp, 0x10
mov ecx, eax
call fcn.100a45d0
mov dword [ebp - 0x110], eax
push 0xff
push 0x45
push 0x64
push 0xff
lea ecx, [ebp - 0x148]
call fcn.10036a70
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x110]
push ecx
mov edx, dword [ebp - 0x114]
push edx
call dword [ebp - 0x118]
add esp, 8
mov eax, dword [0x1021a140]
mov dword [ebp - 0x124], eax
xor ecx, ecx
mov byte [ebp - 0xfd], cl
xor edx, edx
mov byte [ebp - 0xfe], dl
xor eax, eax
mov byte [ebp - 0xff], al
movzx ecx, byte [ebp - 0xfd]
push ecx
movzx edx, byte [ebp - 0xfe]
push edx
movzx eax, byte [ebp - 0xff]
push eax
lea ecx, [ebp - 0xc0]
push ecx
call fcn.100a4590
add esp, 0x10
mov ecx, eax
call fcn.100a4730
mov dword [ebp - 0x11c], eax
push 0xff
push 0x45
push 0x64
push 0xff
lea ecx, [ebp - 0x14c]
call fcn.10036a70
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0x11c]
push edx
mov eax, dword [ebp - 0x120]
push eax
call dword [ebp - 0x124]
add esp, 8
mov byte [0x10215400], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.10003e30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100bc578
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret