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

Disassembly:
sub esp, 0x20
mov eax, dword [0x100782d8]
xor eax, esp
mov dword [esp + 0x1c], eax
push esi
xor esi, esi
cmp dword [0x1007c8a0], esi
je 0x100072ef
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1007991c]
add ecx, 0xc8
cmp ecx, eax
jae 0x100073f2
mov dword [0x1007991c], eax
mov eax, dword [0x1007c8b8]
sub eax, esi
je 0x10007265
sub eax, 1
je 0x100071c3
sub eax, 1
jne 0x100073f2
mov edx, dword [0x1007c8ac]
push edx
call fcn.10006ef0
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
mov eax, dword [0x1006f508]
push eax
push 0xc
call fcn.1003d5d0
mov esi, eax
test esi, esi
je 0x100073f2
mov eax, dword [0x1007c8ac]
cmp eax, 0x1d
jne 0x1000723a
push 0x75a4
call fcn.10034820
test eax, eax
je 0x10007219
mov ecx, dword [0x1007c8ac]
push ecx
push esi
call fcn.10028540
mov dword [0x1007c8b8], 2
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push 0
push 0x10058098
call fcn.10001160
call fcn.10042010
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push eax
push esi
call fcn.10028540
test eax, eax
jne 0x100071ff
push eax
push 0x10058080
call fcn.10001160
call fcn.10042010
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
mov edx, dword [0x1007c8a8]
add edx, 0xc394
push edx
call fcn.10034820
test eax, eax
jne 0x1000729b
push esi
push 0x1005806c
call fcn.10001160
call fcn.10042010
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
call fcn.1003ca90
cmp eax, 0xffffffff
mov dword [0x1006f508], eax
jne 0x100072ca
push esi
push 0x10058060
call fcn.10001160
call fcn.10042010
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
mov eax, dword [0x1007c8a8]
push eax
call fcn.10006d10
mov dword [0x1007c8b8], 4
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
cmp dword [0x1007cb8c], esi
push ebx
je 0x100077ee
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x10079918]
mov edx, dword [0x1006f504]
add edx, ecx
cmp edx, eax
jae 0x100073f1
push ebp
mov dword [0x10079918], eax
mov eax, dword [0x1007cb90]
xor ebx, ebx
xor ebp, ebp
cmp eax, esi
push edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], esi
mov edi, 1
jne 0x10007351
mov ebx, 0x23
mov dword [esp + 0x14], 0xeaf8
mov dword [esp + 0x10], ebx
mov ebp, 0x24
jmp 0x1000738c
cmp eax, edi
jne 0x1000736d
mov ebx, 0x14
mov dword [esp + 0x14], 0xeaf7
mov dword [esp + 0x10], ebx
mov ebp, 0x19
jmp 0x1000738c
cmp eax, 2
jne 0x1000738c
mov dword [esp + 0x14], 0xeaf6
mov ebx, 5
mov dword [esp + 0x10], 0xa
mov ebp, 0xf
mov eax, dword [0x1007cb98]
sub eax, esi
je 0x10007717
sub eax, edi
je 0x1000759c
sub eax, edi
jne 0x100073ef
push 0x32
push 0x67
push 0x52
call fcn.1003d7f0
test eax, eax
je 0x100073ef
push 0x55
call fcn.10007000
cmp eax, esi
jne 0x10007402
push 0x32cc
call fcn.10034870
mov eax, dword [0x10079914]
add eax, edi
cmp eax, dword [0x1007cb94]
mov dword [0x10079914], eax
jb 0x100073e9
mov dword [0x10079914], esi
mov dword [0x1007cb98], esi
mov dword [0x1007cb9c], esi
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
cmp eax, 0x24
jae 0x10007421
push esi
push eax
call fcn.1003fa00
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
cmp dword [0x1007cb9c], esi
jne 0x100073ef
xor edi, edi
xor esi, esi
lea ecx, [ecx]
push esi
push 0xc
call fcn.1003d5d0
test eax, eax
jne 0x10007444
add edi, 1
cmp edi, 2
je 0x1000746e
add esi, 1
cmp esi, 0x24
jb 0x10007430
cmp edi, 2
jae 0x1000746e
pop edi
pop ebp
pop ebx
mov dword [0x1007cb9c], 1
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
mov edi, dword [esp + 0x14]
push edi
call fcn.10034820
test eax, eax
jne 0x100074a3
mov dword [0x10079914], eax
mov dword [0x1007cb98], 2
call fcn.10042010
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push 0x802
call fcn.10034820
xor esi, esi
cmp eax, ebx
jae 0x100074ce
push esi
call fcn.10030fb0
push 0xa8
call fcn.1003f870
test eax, eax
je 0x100074ce
push 0x802
jmp 0x10007520
push 0x801
call fcn.10034820
cmp eax, dword [esp + 0x10]
jae 0x100074f9
push esi
call fcn.10030fb0
push 0xa8
call fcn.1003f870
test eax, eax
je 0x100074f9
push 0x801
jmp 0x10007520
push 0xc375
call fcn.10034820
cmp eax, ebp
jae 0x1000754c
push esi
call fcn.10030fb0
push 0xa8
call fcn.1003f870
test eax, eax
je 0x1000754c
push 0xc375
call fcn.1003d770
test eax, eax
jne 0x100073ef
pop edi
pop ebp
pop ebx
mov dword [0x10079914], esi
mov dword [0x1007cb98], esi
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push esi
call fcn.10007000
cmp eax, 0x23
jbe 0x10007583
call fcn.1003ca90
cmp eax, 0x24
jae 0x10007579
call fcn.10007050
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
mov dword [0x1007cb9c], 1
push edi
call fcn.10034870
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push 0x13
lea eax, [esp + 0x1c]
push eax
call fcn.10034910
push 4
lea ecx, [esp + 0x1c]
push 0x100573d8
push ecx
call fcn.10042c2a
add esp, 0xc
test eax, eax
je 0x1000760a
push 0x32
push 0x167
push 0xad
call fcn.1003d7f0
test eax, eax
je 0x100073ef
call fcn.1003af60
test eax, eax
je 0x100073ef
push 5
push 0x100573d8
push 0x10057cf0
call fcn.10032410
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push 0xa
push 0x53
push 0x42
call fcn.1003d7f0
test eax, eax
je 0x100073ef
mov edx, dword [0x10057cfc]
mov eax, dword [0x10057d00]
mov cx, word [0x10057d04]
mov dword [0x1007c8e8], edx
mov dl, byte [0x10057d06]
mov dword [0x1007c8ec], eax
mov word [0x1007c8f0], cx
mov byte [0x1007c8f2], dl
call fcn.100397e0
mov esi, eax
test esi, esi
mov dword [0x1006f504], 0xbb8
je 0x100073ef
push 4
lea edi, [esi + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100073ef
mov ecx, dword [esi + 0x14]
mov edx, dword [0x10079910]
mov esi, dword [0x1007cb94]
cmp edx, esi
mov eax, dword [edi]
jae 0x100076b6
push ebx
push 0x802
push ecx
push eax
call fcn.100283b0
add dword [0x10079910], 1
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
add esi, esi
cmp edx, esi
jae 0x100076e7
mov edx, dword [esp + 0x10]
push edx
push 0x801
push ecx
push eax
call fcn.100283b0
add dword [0x10079910], 1
pop edi
pop ebp
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
pop edi
xor eax, eax
pop ebp
pop ebx
mov dword [0x10079910], eax
add dword [0x10079910], 1
mov dword [0x1007cb98], 2
mov dword [0x1007c648], eax
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
cmp dword [0x1007c648], esi
jne 0x10007725
mov dword [0x1007c648], edi
push 5
push 0x10057460
call fcn.10004050
test eax, eax
je 0x100073ef
push 0x32
push 0x178
push 0xc2
call fcn.1003d7f0
test eax, eax
je 0x100073ef
mov eax, dword [0x10058054]
mov ecx, dword [0x10058058]
mov dl, byte [0x1005805c]
mov dword [0x1007c8e8], eax
mov dword [0x1007c8ec], ecx
mov byte [0x1007c8f0], dl
call fcn.100397e0
mov esi, eax
test esi, esi
mov dword [0x1006f504], 0xbb8
je 0x100073ef
push 4
lea ebx, [esi + 0x10]
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100073ef
mov eax, dword [esi + 0x14]
mov ecx, dword [ebx]
push ebp
push 0xc375
push eax
push ecx
call fcn.100283b0
mov eax, dword [0x1007990c]
add eax, edi
cmp eax, dword [0x1007cb94]
mov dword [0x1007990c], eax
jb 0x100073ef
mov dword [0x1007cb98], edi
pop edi
pop ebp
pop ebx
mov dword [0x1007990c], 0
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
cmp dword [0x1007c8a4], esi
je 0x100078fb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x10079908]
add edx, 0xc8
cmp edx, eax
jae 0x100073f1
mov dword [0x10079908], eax
mov eax, dword [0x1007c8b8]
sub eax, esi
je 0x10007847
sub eax, 1
jne 0x100073f1
mov eax, dword [0x1007c8ac]
push eax
call fcn.10006ef0
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
mov eax, dword [0x1007c8bc]
cmp eax, dword [0x1007c8b4]
je 0x100078e5
push eax
push 0xc
call fcn.1003d5d0
mov esi, eax
test esi, esi
mov ebx, 1
je 0x10007896
mov eax, dword [0x1007c8ac]
cmp eax, 0x1d
jne 0x100078cf
push 0x75a4
call fcn.10034820
test eax, eax
je 0x100078ad
mov ecx, dword [0x1007c8ac]
push ecx
push esi
call fcn.10028540
mov dword [0x1007c8b8], ebx
add dword [0x1007c8bc], ebx
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push 0
push 0x10058098
call fcn.10001160
call fcn.10042010
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push eax
push esi
call fcn.10028540
test eax, eax
jne 0x10007890
push eax
push 0x10058080
call fcn.10001160
call fcn.10042010
pop ebx
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
cmp dword [0x1007c8c4], esi
je 0x100073f1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x10079904]
add edx, 0x12c
cmp edx, eax
jae 0x100073f1
mov dword [0x10079904], eax
mov eax, dword [0x1007c8d0]
sub eax, esi
je 0x10007965
sub eax, 1
jne 0x100073f1
mov eax, dword [0x1007c8cc]
mov ecx, dword [0x10079900]
push eax
push ecx
call fcn.10006f50
pop ebx
mov dword [0x1007c8d0], 2
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1004309b
add esp, 0x20
ret
push esi
push 0xc
call fcn.1003d5d0
mov esi, eax
test esi, esi
je 0x100078e5
push esi
call fcn.1003d6d0
movzx eax, al
cmp eax, dword [0x1007c8c8]
mov dword [0x10079900], eax
jae 0x100078e5
push esi
call fcn.100285a0
mov ecx, dword [esp + 0x24]
pop ebx
pop esi
xor ecx, esp
mov dword [0x1007c8d0], 1
call fcn.1004309b
add esp, 0x20
ret