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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100ab1d8
push 0x1008691a
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 0x100779a3
mov eax, dword [0x1012d3cc]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100783dc
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 0x100779ff
cmp dword [0x12b5b20], 0
jne 0x100779ff
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 0x100783d5
push 0
push 0
push 0xfb1
mov ecx, dword [0x100eaf2c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0x2710
je 0x10077a35
push 0x10034f90
push 0xfffffffffffffffc
mov edx, dword [0x100eaf2c]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x101a46ec], eax
xor edi, edi
mov dword [ebp - 0x84], edi
mov ecx, 0x101a20c0
call fcn.10001040
cmp edi, eax
jge 0x10077d4c
mov eax, dword [0x101a20c0]
mov ecx, dword [eax + edi*4]
mov edx, ebx
sub edx, dword [ecx]
cmp edx, 0xbb8
ja 0x10077d33
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 0x10077a78
sub eax, esi
je 0x10077dec
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 0x100a159c
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.10001040
cmp esi, eax
jge 0x10077b09
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 0x10077af0
test dl, dl
je 0x10077aec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077af0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077ad0
xor eax, eax
jmp 0x10077af5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077b06
mov ecx, dword [0x101a20a8]
mov eax, dword [ecx + esi*4]
inc dword [eax]
jmp 0x10077b27
inc esi
jmp 0x10077aaf
test edi, edi
jne 0x10077b27
lea edx, [ebp - 0x80]
push edx
mov ecx, 0x101a209c
call fcn.10001110
push 1
mov ecx, 0x101a20a8
call fcn.100011f0
mov eax, dword [0x36208e4]
mov dword [ebp - 0x88], eax
cmp dword [0x10197fd0], 1
jne 0x10077de1
xor ebx, ebx
xor esi, esi
mov edi, dword [0x101a20b4]
mov dword [ebp - 0x9c], esi
cmp esi, 7
jge 0x10077bac
mov ecx, dword [esi*4 + 0x35f6378]
test ecx, ecx
je 0x10077bf8
cmp byte [ecx + 0x330], bl
je 0x10077bf8
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 0x10077ba0
test dl, dl
je 0x10077b9c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077ba0
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077b80
xor eax, eax
jmp 0x10077ba5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077bf8
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0x90], esi
mov ecx, 0x101a2078
call fcn.10001040
cmp esi, eax
jge 0x10077c0a
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 0x10077bfe
test dl, dl
je 0x10077bf4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077bfe
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077bd8
xor eax, eax
jmp 0x10077c03
inc esi
jmp 0x10077b49
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077c56
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0xa0], esi
mov ecx, 0x101a206c
call fcn.10001040
cmp esi, eax
jge 0x10077c6c
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 0x10077c5c
test dl, dl
je 0x10077c52
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077c5c
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077c36
xor eax, eax
jmp 0x10077c61
inc esi
jmp 0x10077bae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10077de1
inc esi
jmp 0x10077c0c
test ebx, ebx
jne 0x10077de1
mov esi, dword [0x101a20b4]
cmp dword [0x10198a34], 1
jne 0x10077cd3
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x14]
imul ecx, ecx, 0x1cc
add ecx, 0xfbaf2d
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 0x10077cc6
test dl, dl
je 0x10077cc2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077cc6
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077ca6
xor eax, eax
jmp 0x10077ccb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10077d4c
cmp dword [0x10197fd4], 1
jne 0x10077d01
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 + 0xfbaf3f]
je 0x10077d4c
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.10006350
mov ecx, dword [0x101a20b4]
mov edx, dword [ecx + edi*4]
mov eax, dword [edx]
add eax, 2
push eax
mov ecx, 0x101a206c
call fcn.10001110
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 0x10077d68
mov dword [0x101b8d54], esi
mov eax, dword [0x1012d3e4]
mov edi, 1
cmp eax, edi
je 0x10077d80
cmp eax, 2
je 0x10077d80
cmp eax, 3
jne 0x10077d85
call fcn.1006f8d0
xor ebx, ebx
cmp dword [0x36208e4], ebx
je 0x100783d5
cmp dword [0x12ad060], edi
jne 0x10077dc7
push 0x1009456c
call fcn.10007300
add esp, 4
cmp eax, edi
jne 0x10077dc7
cmp dword [0x33ccfd8], ebx
jle 0x10077dc7
push 0x1009b108
call fcn.10038c20
add esp, 4
mov dword [0x12ad060], ebx
cmp dword [0x101960d4], edi
jne 0x10077df2
mov edx, dword [0x36208e4]
mov dword [edx + 0x2744], 0x10f
jmp 0x10077e01
mov edi, dword [ebp - 0x84]
jmp 0x10077d33
inc edi
jmp 0x10077a37
mov eax, dword [0x36208e4]
mov dword [eax + 0x2744], 0xf
mov ecx, esi
sub ecx, dword [0x101b8d50]
cmp ecx, 0xea60
jb 0x10077e1c
mov dword [0x101b8d50], esi
call fcn.10047a60
cmp dword [0x101919f4], edi
jne 0x10077e4f
mov edx, esi
sub edx, dword [0x1011cd84]
mov eax, dword [0x10191ddc]
imul eax, eax, 0x3e8
cmp edx, eax
jb 0x10077e4f
mov ecx, dword [0x1011cd20]
cmp ecx, dword [0x10191de0]
jl 0x10077e4f
mov dword [0x1011cd20], ebx
mov eax, dword [0x1011cd90]
cmp eax, ebx
je 0x10077e68
sub esi, eax
cmp esi, 0x3e8
jb 0x10077e68
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 0x10077e90
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 0x10077f0d
lea esp, [esp]
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0xc4]
push ecx
call edi
test eax, eax
je 0x10077ec3
lea edx, [ebp - 0xc4]
push edx
call ebx
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x10077ee0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x88]
mov eax, dword [0x10196104]
cmp ecx, eax
jb 0x10077e90
push 0x100945d8
call fcn.10007300
add esp, 4
mov ebx, 1
cmp eax, ebx
jne 0x10077fdc
cmp dword [0x1011cd68], 2
jne 0x10077f5e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101b88fc]
cmp eax, 0xbb8
jae 0x10077fd0
cmp dword [0x1019af38], ebx
jne 0x10077fdc
xor edi, edi
xor esi, esi
mov dword [ebp - 0x94], esi
mov ecx, 0x101a2054
call fcn.10001040
cmp esi, eax
jge 0x10077fbb
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 0x10077fb0
test dl, dl
je 0x10077fac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077fb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077f90
xor eax, eax
jmp 0x10077fb5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077fc8
mov edi, ebx
cmp dword [0x1019afe8], 0
jne 0x10077fcc
cmp edi, ebx
jmp 0x10077fce
add esi, ebx
jmp 0x10077f6a
test edi, edi
jne 0x10077fdc
push 0
push 3
call fcn.1003b770
add esp, 8
call fcn.1006b5d0
cmp dword [0x1019f4a8], ebx
jne 0x1007802f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d4c], eax
cmp byte [0x1012d409], bl
jne 0x1007802f
mov ecx, eax
sub ecx, dword [0x101b8d48]
cmp ecx, 0xfa
jb 0x1007802f
mov dword [0x101b8d48], eax
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x1007801f
push eax
jmp 0x10078027
mov edx, dword [0x1019f4ac]
dec edx
push edx
call fcn.10038380
add esp, 8
cmp dword [0x10190dfc], ebx
jne 0x1007806c
cmp dword [0x36208e4], 0
je 0x1007806c
cmp dword [0x33ccfd8], 0
jle 0x1007806c
mov esi, dword [ebp - 0x8c]
mov eax, esi
sub eax, dword [0x101b8d44]
cmp eax, dword [0x1012d360]
jb 0x10078072
mov dword [0x101b8d44], esi
call fcn.1006b710
jmp 0x10078072
mov esi, dword [ebp - 0x8c]
cmp dword [0x10190e00], ebx
jne 0x10078095
mov ecx, esi
sub ecx, dword [0x101b8d40]
cmp ecx, dword [0x1012d364]
jb 0x10078095
mov dword [0x101b8d40], esi
call fcn.1004b6a0
mov eax, dword [0x1011d1b4]
test eax, eax
jle 0x100780b5
mov edx, esi
sub edx, dword [0x1011d1b0]
cmp edx, eax
jb 0x100780b5
mov dword [0x1011d1b0], esi
call fcn.10074140
mov eax, dword [0x1011d1a4]
test eax, eax
jle 0x100780d5
mov ecx, esi
sub ecx, dword [0x1011d1a0]
cmp ecx, eax
jb 0x100780d5
mov dword [0x1011d1a0], esi
call fcn.1006cf00
mov eax, dword [0x1011d19c]
test eax, eax
jle 0x100780f5
mov edx, esi
sub edx, dword [0x1011d198]
cmp edx, eax
jb 0x100780f5
mov dword [0x1011d198], esi
call fcn.1005de60
mov eax, dword [0x1011d194]
test eax, eax
jle 0x10078115
mov ecx, esi
sub ecx, dword [0x1011d190]
cmp ecx, eax
jb 0x10078115
mov dword [0x1011d190], esi
call fcn.1003c200
mov eax, dword [0x1011d18c]
test eax, eax
jle 0x10078135
mov edx, esi
sub edx, dword [0x1011d188]
cmp edx, eax
jb 0x10078135
mov dword [0x1011d188], esi
call fcn.1003c440
mov eax, dword [0x1011d184]
test eax, eax
jle 0x10078155
mov ecx, esi
sub ecx, dword [0x1011d180]
cmp ecx, eax
jb 0x10078155
mov dword [0x1011d180], esi
call fcn.1003c7e0
mov eax, dword [0x1011d17c]
test eax, eax
jle 0x10078175
mov edx, esi
sub edx, dword [0x1011d178]
cmp edx, eax
jb 0x10078175
mov dword [0x1011d178], esi
call fcn.1003c630
cmp dword [0x1011d174], 0
jle 0x1007819c
mov eax, dword [0x1011cd68]
cmp eax, 2
je 0x1007819c
cmp eax, 5
je 0x1007819c
cmp eax, 4
je 0x1007819c
cmp eax, 6
je 0x1007819c
call fcn.1007cf30
cmp dword [0x10191854], ebx
jne 0x100781f0
cmp dword [0x1011d1b4], 0
jle 0x100781f0
cmp dword [0x10191860], ebx
jne 0x100781f0
cmp byte [0x1012d3f5], bl
jne 0x100781f0
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0xa0
jb 0x100781f0
mov dword [0x1011cd28], esi
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x100781e0
push eax
jmp 0x100781e8
mov ecx, dword [0x10192e78]
dec ecx
push ecx
call fcn.10038380
add esp, 8
mov eax, dword [0x1011d1ac]
test eax, eax
jle 0x10078210
mov edx, esi
sub edx, dword [0x1011d1a8]
cmp edx, eax
jb 0x10078210
mov dword [0x1011d1a8], esi
call fcn.100771a0
cmp dword [0x10197fe0], ebx
jne 0x10078247
cmp byte [0x1012d409], bl
jne 0x10078247
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0x190
jb 0x10078247
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 0x1007827c
cmp byte [0x1012d412], bl
jne 0x1007827c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d4c], eax
mov edx, eax
sub edx, dword [0x101b8994]
cmp edx, dword [0x100ae398]
jb 0x1007827c
mov dword [0x101b8994], eax
call fcn.10080c40
cmp dword [0x1019ff50], ebx
jne 0x100782a7
cmp byte [0x1012d412], bl
jne 0x100782a7
mov eax, esi
sub eax, dword [0x101b8d3c]
cmp eax, dword [0x1019ff54]
jb 0x100782a7
mov dword [0x101b8d3c], esi
call fcn.1007b440
cmp dword [0x1019efc4], ebx
jne 0x100782d2
cmp byte [0x1012d412], bl
jne 0x100782d2
mov ecx, esi
sub ecx, dword [0x101b8d38]
cmp ecx, 0x12c
jb 0x100782d2
mov dword [0x101b8d38], esi
call fcn.10080d50
cmp dword [0x1019e9c0], ebx
jne 0x100782fa
cmp byte [0x1012d412], bl
jne 0x100782fa
mov edx, esi
sub edx, dword [0x101b8d34]
cmp edx, 0x64
jb 0x100782fa
mov dword [0x101b8d34], esi
call fcn.1007b340
cmp dword [0x1019e5d8], 0
je 0x1007831d
mov eax, esi
sub eax, dword [0x101b8d30]
cmp eax, 0x3e8
jb 0x1007831d
mov dword [0x101b8d30], esi
call fcn.1007c380
cmp dword [0x10191928], ebx
jne 0x10078383
cmp byte [0x1012d401], bl
jne 0x10078372
cmp dword [0x101b897c], 3
jge 0x10078372
mov ecx, esi
sub ecx, dword [0x1012d268]
cmp ecx, 0x96
jb 0x10078383
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x10078354
push eax
jmp 0x1007835c
mov edx, dword [0x10192e80]
dec edx
push edx
call fcn.10038380
add esp, 8
mov dword [0x1012d268], esi
add dword [0x101b897c], ebx
jmp 0x10078383
mov dword [0x101b897c], 0
mov byte [0x1012d401], 0
cmp dword [0x101960f4], ebx
jne 0x100783d5
mov eax, esi
sub eax, dword [0x101b8984]
cmp eax, 0x2710
jb 0x100783d5
mov dword [0x101b8984], esi
call fcn.1003c4b0
jmp 0x100783d5
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.10086746
mov esp, ebp
pop ebp
ret