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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100ab200
push 0x1008690a
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x100ae8c8]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
cmp dword [0x1011d1bc], 0
jne 0x10077983
mov eax, dword [0x1012d3cc]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100783bc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 4], 0
cmp byte [0x1012d408], 0
jne 0x100779df
cmp dword [0xe7b850], 0
jne 0x100779df
push 0
push 0x1389
push 0x1389
mov ecx, dword [0x100eaf2c]
push ecx
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
push 0
push 0
push 0x2710
mov edx, dword [0x1011d1bc]
mov eax, dword [edx + 0x20]
push eax
call esi
jmp 0x100783b5
push 0
push 0
push 0xfb1
mov ecx, dword [0x100eaf2c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0x2710
je 0x10077a15
push 0x10034f60
push 0xfffffffffffffffc
mov edx, dword [0x100eaf2c]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x101a46f0], eax
xor edi, edi
mov dword [ebp - 0x84], edi
mov ecx, 0x101a20c0
call fcn.10001240
cmp edi, eax
jge 0x10077d2c
mov eax, dword [0x101a20c0]
mov ecx, dword [eax + edi*4]
mov edx, ebx
sub edx, dword [ecx]
cmp edx, 0xbb8
ja 0x10077d13
mov edx, dword [0x101a20b4]
mov eax, dword [edx + edi*4]
mov eax, dword [eax]
add eax, 2
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10077a58
sub eax, esi
je 0x10077dcc
mov ecx, dword [edx + edi*4]
mov eax, dword [ecx]
lea edx, [eax + 0x15]
push edx
movzx ecx, byte [eax + 0x28]
push ecx
add eax, 2
push eax
push 0x100a15c4
lea edx, [ebp - 0x80]
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0x14
xor edi, edi
xor esi, esi
mov dword [ebp - 0x98], esi
mov ecx, 0x101a209c
call fcn.10001240
cmp esi, eax
jge 0x10077ae9
lea ecx, [ebp - 0x80]
mov eax, dword [0x101a209c]
mov eax, dword [eax + esi*4]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10077ad0
test dl, dl
je 0x10077acc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077ad0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077ab0
xor eax, eax
jmp 0x10077ad5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077ae6
mov ecx, dword [0x101a20a8]
mov eax, dword [ecx + esi*4]
inc dword [eax]
jmp 0x10077b07
inc esi
jmp 0x10077a8f
test edi, edi
jne 0x10077b07
lea edx, [ebp - 0x80]
push edx
mov ecx, 0x101a209c
call fcn.10001100
push 1
mov ecx, 0x101a20a8
call fcn.100011e0
mov eax, dword [0x2fb6ac4]
mov dword [ebp - 0x88], eax
cmp dword [0x10197fd0], 1
jne 0x10077dc1
xor ebx, ebx
xor esi, esi
mov edi, dword [0x101a20b4]
mov dword [ebp - 0x9c], esi
cmp esi, 7
jge 0x10077b8c
mov ecx, dword [esi*4 + 0x2f9a2b0]
test ecx, ecx
je 0x10077bd8
cmp byte [ecx + 0x330], bl
je 0x10077bd8
mov edx, dword [edi + esi*4]
mov eax, dword [edx]
add eax, 2
add ecx, 0x338
lea ecx, [ecx]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10077b80
test dl, dl
je 0x10077b7c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077b80
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077b60
xor eax, eax
jmp 0x10077b85
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077bd8
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0x90], esi
mov ecx, 0x101a2078
call fcn.10001240
cmp esi, eax
jge 0x10077bea
mov eax, dword [0x101a20b4]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx]
add eax, 2
mov edx, dword [0x101a2078]
mov ecx, dword [edx + esi*4]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10077bde
test dl, dl
je 0x10077bd4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077bde
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077bb8
xor eax, eax
jmp 0x10077be3
inc esi
jmp 0x10077b29
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077c36
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0xa0], esi
mov ecx, 0x101a206c
call fcn.10001240
cmp esi, eax
jge 0x10077c4c
mov eax, dword [0x101a20b4]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx]
add eax, 2
mov edx, dword [0x101a206c]
mov ecx, dword [edx + esi*4]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10077c3c
test dl, dl
je 0x10077c32
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077c3c
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077c16
xor eax, eax
jmp 0x10077c41
inc esi
jmp 0x10077b8e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10077dc1
inc esi
jmp 0x10077bec
test ebx, ebx
jne 0x10077dc1
mov esi, dword [0x101a20b4]
cmp dword [0x10198a34], 1
jne 0x10077cb3
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x14]
imul ecx, ecx, 0x1cc
add ecx, 0x333aac5
mov edx, dword [ebp - 0x84]
mov eax, dword [esi + edx*4]
mov eax, dword [eax]
add eax, 0x15
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10077ca6
test dl, dl
je 0x10077ca2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077ca6
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077c86
xor eax, eax
jmp 0x10077cab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10077d2c
cmp dword [0x10197fd4], 1
jne 0x10077ce1
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + 0x14]
imul eax, eax, 0x1cc
mov edx, dword [ebp - 0x84]
mov ecx, dword [esi + edx*4]
mov edx, dword [ecx]
mov cl, byte [edx + 0x27]
cmp cl, byte [eax + 0x333aad7]
je 0x10077d2c
mov edi, dword [ebp - 0x84]
mov edx, dword [esi + edi*4]
mov eax, dword [edx]
add eax, 2
push eax
mov ecx, 0x10197d90
call fcn.10006380
mov ecx, dword [0x101a20b4]
mov edx, dword [ecx + edi*4]
mov eax, dword [edx]
add eax, 2
push eax
mov ecx, 0x101a206c
call fcn.10001100
lea esi, [edi + 1]
push esi
mov ecx, 0x101a20c0
call fcn.10001250
push esi
mov ecx, 0x101a20b4
call fcn.10001250
mov esi, dword [ebp - 0x8c]
mov ecx, esi
sub ecx, dword [0x101b8d54]
cmp ecx, 0xea60
jb 0x10077d48
mov dword [0x101b8d54], esi
mov eax, dword [0x1012d3e4]
mov edi, 1
cmp eax, edi
je 0x10077d60
cmp eax, 2
je 0x10077d60
cmp eax, 3
jne 0x10077d65
call fcn.1006f890
xor ebx, ebx
cmp dword [0x2fb6ac4], ebx
je 0x100783b5
cmp dword [0xe7b5c0], edi
jne 0x10077da7
push 0x1009456c
call fcn.100072c0
add esp, 4
cmp eax, edi
jne 0x10077da7
cmp dword [0x34d1968], ebx
jle 0x10077da7
push 0x1009b108
call fcn.10038c30
add esp, 4
mov dword [0xe7b5c0], ebx
cmp dword [0x101960d4], edi
jne 0x10077dd2
mov edx, dword [0x2fb6ac4]
mov dword [edx + 0x2740], 0x10f
jmp 0x10077de1
mov edi, dword [ebp - 0x84]
jmp 0x10077d13
inc edi
jmp 0x10077a17
mov eax, dword [0x2fb6ac4]
mov dword [eax + 0x2740], 0xf
mov ecx, esi
sub ecx, dword [0x101b8d50]
cmp ecx, 0xea60
jb 0x10077dfc
mov dword [0x101b8d50], esi
call fcn.10047a40
cmp dword [0x101919f4], edi
jne 0x10077e2f
mov edx, esi
sub edx, dword [0x1011cd84]
mov eax, dword [0x10191ddc]
imul eax, eax, 0x3e8
cmp edx, eax
jb 0x10077e2f
mov ecx, dword [0x1011cd20]
cmp ecx, dword [0x10191de0]
jl 0x10077e2f
mov dword [0x1011cd20], ebx
mov eax, dword [0x1011cd90]
cmp eax, ebx
je 0x10077e48
sub esi, eax
cmp esi, 0x3e8
jb 0x10077e48
mov dword [0x1011cd90], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x88], eax
mov eax, dword [0x10196104]
mov esi, dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov edi, dword [sym.imp.USER32.dll_PeekMessageA]
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
jmp 0x10077e70
imul eax, eax, 0xffffd8f0
cdq
sub eax, edx
sar eax, 1
cdq
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], edx
push 0
push 0
push 0
push 0
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [0x101a43c0]
push eax
call dword [sym.imp.KERNEL32.dll_SetWaitableTimer]
push 0xff
push 0xffffffffffffffff
push 0
push 0x101a43c0
push 1
call esi
test eax, eax
je 0x10077eed
lea esp, [esp]
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0xc4]
push ecx
call edi
test eax, eax
je 0x10077ea3
lea edx, [ebp - 0xc4]
push edx
call ebx
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x10077ec0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x88]
mov eax, dword [0x10196104]
cmp ecx, eax
jb 0x10077e70
push 0x100945d8
call fcn.100072c0
add esp, 4
mov ebx, 1
cmp eax, ebx
jne 0x10077fbc
cmp dword [0x1011cd68], 2
jne 0x10077f3e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101b88fc]
cmp eax, 0xbb8
jae 0x10077fb0
cmp dword [0x1019af38], ebx
jne 0x10077fbc
xor edi, edi
xor esi, esi
mov dword [ebp - 0x94], esi
mov ecx, 0x101a2054
call fcn.10001240
cmp esi, eax
jge 0x10077f9b
mov ecx, 0x1011c6d4
mov edx, dword [0x101a2054]
mov eax, dword [edx + esi*4]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10077f90
test dl, dl
je 0x10077f8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077f90
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077f70
xor eax, eax
jmp 0x10077f95
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077fa8
mov edi, ebx
cmp dword [0x1019afe8], 0
jne 0x10077fac
cmp edi, ebx
jmp 0x10077fae
add esi, ebx
jmp 0x10077f4a
test edi, edi
jne 0x10077fbc
push 0
push 3
call fcn.1003b780
add esp, 8
call fcn.1006b590
cmp dword [0x1019f4a8], ebx
jne 0x1007800f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d4c], eax
cmp byte [0x1012d409], bl
jne 0x1007800f
mov ecx, eax
sub ecx, dword [0x101b8d48]
cmp ecx, 0xfa
jb 0x1007800f
mov dword [0x101b8d48], eax
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x10077fff
push eax
jmp 0x10078007
mov edx, dword [0x1019f4ac]
dec edx
push edx
call fcn.10038380
add esp, 8
cmp dword [0x10190dfc], ebx
jne 0x1007804c
cmp dword [0x2fb6ac4], 0
je 0x1007804c
cmp dword [0x34d1968], 0
jle 0x1007804c
mov esi, dword [ebp - 0x8c]
mov eax, esi
sub eax, dword [0x101b8d44]
cmp eax, dword [0x1012d360]
jb 0x10078052
mov dword [0x101b8d44], esi
call fcn.1006b6d0
jmp 0x10078052
mov esi, dword [ebp - 0x8c]
cmp dword [0x10190e00], ebx
jne 0x10078075
mov ecx, esi
sub ecx, dword [0x101b8d40]
cmp ecx, dword [0x1012d364]
jb 0x10078075
mov dword [0x101b8d40], esi
call fcn.1004b510
mov eax, dword [0x1011d1b4]
test eax, eax
jle 0x10078095
mov edx, esi
sub edx, dword [0x1011d1b0]
cmp edx, eax
jb 0x10078095
mov dword [0x1011d1b0], esi
call fcn.10074120
mov eax, dword [0x1011d1a4]
test eax, eax
jle 0x100780b5
mov ecx, esi
sub ecx, dword [0x1011d1a0]
cmp ecx, eax
jb 0x100780b5
mov dword [0x1011d1a0], esi
call fcn.1006cec0
mov eax, dword [0x1011d19c]
test eax, eax
jle 0x100780d5
mov edx, esi
sub edx, dword [0x1011d198]
cmp edx, eax
jb 0x100780d5
mov dword [0x1011d198], esi
call fcn.1005de20
mov eax, dword [0x1011d194]
test eax, eax
jle 0x100780f5
mov ecx, esi
sub ecx, dword [0x1011d190]
cmp ecx, eax
jb 0x100780f5
mov dword [0x1011d190], esi
call fcn.1003c220
mov eax, dword [0x1011d18c]
test eax, eax
jle 0x10078115
mov edx, esi
sub edx, dword [0x1011d188]
cmp edx, eax
jb 0x10078115
mov dword [0x1011d188], esi
call fcn.1003c460
mov eax, dword [0x1011d184]
test eax, eax
jle 0x10078135
mov ecx, esi
sub ecx, dword [0x1011d180]
cmp ecx, eax
jb 0x10078135
mov dword [0x1011d180], esi
call fcn.1003c800
mov eax, dword [0x1011d17c]
test eax, eax
jle 0x10078155
mov edx, esi
sub edx, dword [0x1011d178]
cmp edx, eax
jb 0x10078155
mov dword [0x1011d178], esi
call fcn.1003c650
cmp dword [0x1011d174], 0
jle 0x1007817c
mov eax, dword [0x1011cd68]
cmp eax, 2
je 0x1007817c
cmp eax, 5
je 0x1007817c
cmp eax, 4
je 0x1007817c
cmp eax, 6
je 0x1007817c
call fcn.1007cee0
cmp dword [0x10191854], ebx
jne 0x100781d0
cmp dword [0x1011d1b4], 0
jle 0x100781d0
cmp dword [0x10191860], ebx
jne 0x100781d0
cmp byte [0x1012d3f5], bl
jne 0x100781d0
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0xa0
jb 0x100781d0
mov dword [0x1011cd28], esi
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x100781c0
push eax
jmp 0x100781c8
mov ecx, dword [0x10192e78]
dec ecx
push ecx
call fcn.10038380
add esp, 8
mov eax, dword [0x1011d1ac]
test eax, eax
jle 0x100781f0
mov edx, esi
sub edx, dword [0x1011d1a8]
cmp edx, eax
jb 0x100781f0
mov dword [0x1011d1a8], esi
call fcn.10077180
cmp dword [0x10197fe0], ebx
jne 0x10078227
cmp byte [0x1012d409], bl
jne 0x10078227
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0x190
jb 0x10078227
mov dword [0x1011cd28], esi
push 0xb
mov ecx, dword [0x10197fe4]
dec ecx
push ecx
call fcn.10038380
add esp, 8
cmp dword [0x1019eebc], ebx
jne 0x1007825c
cmp byte [0x1012d412], bl
jne 0x1007825c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d4c], eax
mov edx, eax
sub edx, dword [0x101b8994]
cmp edx, dword [0x100ae398]
jb 0x1007825c
mov dword [0x101b8994], eax
call fcn.10080c10
cmp dword [0x1019ff50], ebx
jne 0x10078287
cmp byte [0x1012d412], bl
jne 0x10078287
mov eax, esi
sub eax, dword [0x101b8d3c]
cmp eax, dword [0x1019ff54]
jb 0x10078287
mov dword [0x101b8d3c], esi
call fcn.1007b410
cmp dword [0x1019efc4], ebx
jne 0x100782b2
cmp byte [0x1012d412], bl
jne 0x100782b2
mov ecx, esi
sub ecx, dword [0x101b8d38]
cmp ecx, 0x12c
jb 0x100782b2
mov dword [0x101b8d38], esi
call fcn.10080d30
cmp dword [0x1019e9c0], ebx
jne 0x100782da
cmp byte [0x1012d412], bl
jne 0x100782da
mov edx, esi
sub edx, dword [0x101b8d34]
cmp edx, 0x64
jb 0x100782da
mov dword [0x101b8d34], esi
call fcn.1007b310
cmp dword [0x1019e5d8], 0
je 0x100782fd
mov eax, esi
sub eax, dword [0x101b8d30]
cmp eax, 0x3e8
jb 0x100782fd
mov dword [0x101b8d30], esi
call fcn.1007c330
cmp dword [0x10191928], ebx
jne 0x10078363
cmp byte [0x1012d401], bl
jne 0x10078352
cmp dword [0x101b897c], 3
jge 0x10078352
mov ecx, esi
sub ecx, dword [0x1012d268]
cmp ecx, 0x96
jb 0x10078363
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x10078334
push eax
jmp 0x1007833c
mov edx, dword [0x10192e80]
dec edx
push edx
call fcn.10038380
add esp, 8
mov dword [0x1012d268], esi
add dword [0x101b897c], ebx
jmp 0x10078363
mov dword [0x101b897c], 0
mov byte [0x1012d401], 0
cmp dword [0x101960f4], ebx
jne 0x100783b5
mov eax, esi
sub eax, dword [0x101b8984]
cmp eax, 0x2710
jb 0x100783b5
mov dword [0x101b8984], esi
call fcn.1003c4d0
jmp 0x100783b5
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.10086738
mov esp, ebp
pop ebp
ret