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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100ab228
push 0x100869ba
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 0x100779f3
mov eax, dword [0x1012d3cc]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1007842c
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 0x10077a4f
cmp dword [0xe7c850], 0
jne 0x10077a4f
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 0x10078425
push 0
push 0
push 0xfb1
mov ecx, dword [0x100eaf2c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0x2710
je 0x10077a85
push 0x10035000
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 0x10077d9c
mov eax, dword [0x101a20c0]
mov ecx, dword [eax + edi*4]
mov edx, ebx
sub edx, dword [ecx]
cmp edx, 0xbb8
ja 0x10077d83
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 0x10077ac8
sub eax, esi
je 0x10077e3c
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 0x100a15ec
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 0x10077b59
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 0x10077b40
test dl, dl
je 0x10077b3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077b40
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077b20
xor eax, eax
jmp 0x10077b45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077b56
mov ecx, dword [0x101a20a8]
mov eax, dword [ecx + esi*4]
inc dword [eax]
jmp 0x10077b77
inc esi
jmp 0x10077aff
test edi, edi
jne 0x10077b77
lea edx, [ebp - 0x80]
push edx
mov ecx, 0x101a209c
call fcn.10001100
push 1
mov ecx, 0x101a20a8
call fcn.100011e0
mov eax, dword [0x2fb7ac4]
mov dword [ebp - 0x88], eax
cmp dword [0x10197fd0], 1
jne 0x10077e31
xor ebx, ebx
xor esi, esi
mov edi, dword [0x101a20b4]
mov dword [ebp - 0x9c], esi
cmp esi, 7
jge 0x10077bfc
mov ecx, dword [esi*4 + 0x2f9b2b0]
test ecx, ecx
je 0x10077c48
cmp byte [ecx + 0x330], bl
je 0x10077c48
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 0x10077bf0
test dl, dl
je 0x10077bec
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077bf0
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077bd0
xor eax, eax
jmp 0x10077bf5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077c48
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0x90], esi
mov ecx, 0x101a2078
call fcn.10001240
cmp esi, eax
jge 0x10077c5a
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 0x10077c4e
test dl, dl
je 0x10077c44
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077c4e
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077c28
xor eax, eax
jmp 0x10077c53
inc esi
jmp 0x10077b99
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077ca6
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0xa0], esi
mov ecx, 0x101a206c
call fcn.10001240
cmp esi, eax
jge 0x10077cbc
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 0x10077cac
test dl, dl
je 0x10077ca2
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077cac
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077c86
xor eax, eax
jmp 0x10077cb1
inc esi
jmp 0x10077bfe
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10077e31
inc esi
jmp 0x10077c5c
test ebx, ebx
jne 0x10077e31
mov esi, dword [0x101a20b4]
cmp dword [0x10198a34], 1
jne 0x10077d23
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x14]
imul ecx, ecx, 0x1cc
add ecx, 0x333bac5
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 0x10077d16
test dl, dl
je 0x10077d12
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077d16
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077cf6
xor eax, eax
jmp 0x10077d1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10077d9c
cmp dword [0x10197fd4], 1
jne 0x10077d51
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 + 0x333bad7]
je 0x10077d9c
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 0x10077db8
mov dword [0x101b8d54], esi
mov eax, dword [0x1012d3e4]
mov edi, 1
cmp eax, edi
je 0x10077dd0
cmp eax, 2
je 0x10077dd0
cmp eax, 3
jne 0x10077dd5
call fcn.1006f900
xor ebx, ebx
cmp dword [0x2fb7ac4], ebx
je 0x10078425
cmp dword [0xe7c5c4], edi
jne 0x10077e17
push 0x10094590
call fcn.10007390
add esp, 4
cmp eax, edi
jne 0x10077e17
cmp dword [0x34d2968], ebx
jle 0x10077e17
push 0x1009b130
call fcn.10038cd0
add esp, 4
mov dword [0xe7c5c4], ebx
cmp dword [0x101960d4], edi
jne 0x10077e42
mov edx, dword [0x2fb7ac4]
mov dword [edx + 0x2740], 0x10f
jmp 0x10077e51
mov edi, dword [ebp - 0x84]
jmp 0x10077d83
inc edi
jmp 0x10077a87
mov eax, dword [0x2fb7ac4]
mov dword [eax + 0x2740], 0xf
mov ecx, esi
sub ecx, dword [0x101b8d50]
cmp ecx, 0xea60
jb 0x10077e6c
mov dword [0x101b8d50], esi
call fcn.10047ae0
cmp dword [0x101919f4], edi
jne 0x10077e9f
mov edx, esi
sub edx, dword [0x1011cd84]
mov eax, dword [0x10191ddc]
imul eax, eax, 0x3e8
cmp edx, eax
jb 0x10077e9f
mov ecx, dword [0x1011cd20]
cmp ecx, dword [0x10191de0]
jl 0x10077e9f
mov dword [0x1011cd20], ebx
mov eax, dword [0x1011cd90]
cmp eax, ebx
je 0x10077eb8
sub esi, eax
cmp esi, 0x3e8
jb 0x10077eb8
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 0x10077ee0
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 0x10077f5d
lea esp, [esp]
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0xc4]
push ecx
call edi
test eax, eax
je 0x10077f13
lea edx, [ebp - 0xc4]
push edx
call ebx
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x10077f30
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x88]
mov eax, dword [0x10196104]
cmp ecx, eax
jb 0x10077ee0
push 0x100945fc
call fcn.10007390
add esp, 4
mov ebx, 1
cmp eax, ebx
jne 0x1007802c
cmp dword [0x1011cd68], 2
jne 0x10077fae
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101b88fc]
cmp eax, 0xbb8
jae 0x10078020
cmp dword [0x1019af38], ebx
jne 0x1007802c
xor edi, edi
xor esi, esi
mov dword [ebp - 0x94], esi
mov ecx, 0x101a2054
call fcn.10001240
cmp esi, eax
jge 0x1007800b
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 0x10078000
test dl, dl
je 0x10077ffc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10078000
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077fe0
xor eax, eax
jmp 0x10078005
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10078018
mov edi, ebx
cmp dword [0x1019afe8], 0
jne 0x1007801c
cmp edi, ebx
jmp 0x1007801e
add esi, ebx
jmp 0x10077fba
test edi, edi
jne 0x1007802c
push 0
push 3
call fcn.1003b820
add esp, 8
call fcn.1006b600
cmp dword [0x1019f4a8], ebx
jne 0x1007807f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d4c], eax
cmp byte [0x1012d409], bl
jne 0x1007807f
mov ecx, eax
sub ecx, dword [0x101b8d48]
cmp ecx, 0xfa
jb 0x1007807f
mov dword [0x101b8d48], eax
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x1007806f
push eax
jmp 0x10078077
mov edx, dword [0x1019f4ac]
dec edx
push edx
call fcn.10038420
add esp, 8
cmp dword [0x10190dfc], ebx
jne 0x100780bc
cmp dword [0x2fb7ac4], 0
je 0x100780bc
cmp dword [0x34d2968], 0
jle 0x100780bc
mov esi, dword [ebp - 0x8c]
mov eax, esi
sub eax, dword [0x101b8d44]
cmp eax, dword [0x1012d360]
jb 0x100780c2
mov dword [0x101b8d44], esi
call fcn.1006b740
jmp 0x100780c2
mov esi, dword [ebp - 0x8c]
cmp dword [0x10190e00], ebx
jne 0x100780e5
mov ecx, esi
sub ecx, dword [0x101b8d40]
cmp ecx, dword [0x1012d364]
jb 0x100780e5
mov dword [0x101b8d40], esi
call fcn.1004b5b0
mov eax, dword [0x1011d1b4]
test eax, eax
jle 0x10078105
mov edx, esi
sub edx, dword [0x1011d1b0]
cmp edx, eax
jb 0x10078105
mov dword [0x1011d1b0], esi
call fcn.10074180
mov eax, dword [0x1011d1a4]
test eax, eax
jle 0x10078125
mov ecx, esi
sub ecx, dword [0x1011d1a0]
cmp ecx, eax
jb 0x10078125
mov dword [0x1011d1a0], esi
call fcn.1006cf30
mov eax, dword [0x1011d19c]
test eax, eax
jle 0x10078145
mov edx, esi
sub edx, dword [0x1011d198]
cmp edx, eax
jb 0x10078145
mov dword [0x1011d198], esi
call fcn.1005de90
mov eax, dword [0x1011d194]
test eax, eax
jle 0x10078165
mov ecx, esi
sub ecx, dword [0x1011d190]
cmp ecx, eax
jb 0x10078165
mov dword [0x1011d190], esi
call fcn.1003c2b0
mov eax, dword [0x1011d18c]
test eax, eax
jle 0x10078185
mov edx, esi
sub edx, dword [0x1011d188]
cmp edx, eax
jb 0x10078185
mov dword [0x1011d188], esi
call fcn.1003c4f0
mov eax, dword [0x1011d184]
test eax, eax
jle 0x100781a5
mov ecx, esi
sub ecx, dword [0x1011d180]
cmp ecx, eax
jb 0x100781a5
mov dword [0x1011d180], esi
call fcn.1003c890
mov eax, dword [0x1011d17c]
test eax, eax
jle 0x100781c5
mov edx, esi
sub edx, dword [0x1011d178]
cmp edx, eax
jb 0x100781c5
mov dword [0x1011d178], esi
call fcn.1003c6e0
cmp dword [0x1011d174], 0
jle 0x100781ec
mov eax, dword [0x1011cd68]
cmp eax, 2
je 0x100781ec
cmp eax, 5
je 0x100781ec
cmp eax, 4
je 0x100781ec
cmp eax, 6
je 0x100781ec
call fcn.1007cf70
cmp dword [0x10191854], ebx
jne 0x10078240
cmp dword [0x1011d1b4], 0
jle 0x10078240
cmp dword [0x10191860], ebx
jne 0x10078240
cmp byte [0x1012d3f5], bl
jne 0x10078240
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0xa0
jb 0x10078240
mov dword [0x1011cd28], esi
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x10078230
push eax
jmp 0x10078238
mov ecx, dword [0x10192e78]
dec ecx
push ecx
call fcn.10038420
add esp, 8
mov eax, dword [0x1011d1ac]
test eax, eax
jle 0x10078260
mov edx, esi
sub edx, dword [0x1011d1a8]
cmp edx, eax
jb 0x10078260
mov dword [0x1011d1a8], esi
call fcn.100771e0
cmp dword [0x10197fe0], ebx
jne 0x10078297
cmp byte [0x1012d409], bl
jne 0x10078297
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0x190
jb 0x10078297
mov dword [0x1011cd28], esi
push 0xb
mov ecx, dword [0x10197fe4]
dec ecx
push ecx
call fcn.10038420
add esp, 8
cmp dword [0x1019eebc], ebx
jne 0x100782cc
cmp byte [0x1012d412], bl
jne 0x100782cc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d4c], eax
mov edx, eax
sub edx, dword [0x101b8994]
cmp edx, dword [0x100ae398]
jb 0x100782cc
mov dword [0x101b8994], eax
call fcn.10080cc0
cmp dword [0x1019ff50], ebx
jne 0x100782f7
cmp byte [0x1012d412], bl
jne 0x100782f7
mov eax, esi
sub eax, dword [0x101b8d3c]
cmp eax, dword [0x1019ff54]
jb 0x100782f7
mov dword [0x101b8d3c], esi
call fcn.1007b4a0
cmp dword [0x1019efc4], ebx
jne 0x10078322
cmp byte [0x1012d412], bl
jne 0x10078322
mov ecx, esi
sub ecx, dword [0x101b8d38]
cmp ecx, 0x12c
jb 0x10078322
mov dword [0x101b8d38], esi
call fcn.10080de0
cmp dword [0x1019e9c0], ebx
jne 0x1007834a
cmp byte [0x1012d412], bl
jne 0x1007834a
mov edx, esi
sub edx, dword [0x101b8d34]
cmp edx, 0x64
jb 0x1007834a
mov dword [0x101b8d34], esi
call fcn.1007b3a0
cmp dword [0x1019e5d8], 0
je 0x1007836d
mov eax, esi
sub eax, dword [0x101b8d30]
cmp eax, 0x3e8
jb 0x1007836d
mov dword [0x101b8d30], esi
call fcn.1007c3c0
cmp dword [0x10191928], ebx
jne 0x100783d3
cmp byte [0x1012d401], bl
jne 0x100783c2
cmp dword [0x101b897c], 3
jge 0x100783c2
mov ecx, esi
sub ecx, dword [0x1012d268]
cmp ecx, 0x96
jb 0x100783d3
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x100783a4
push eax
jmp 0x100783ac
mov edx, dword [0x10192e80]
dec edx
push edx
call fcn.10038420
add esp, 8
mov dword [0x1012d268], esi
add dword [0x101b897c], ebx
jmp 0x100783d3
mov dword [0x101b897c], 0
mov byte [0x1012d401], 0
cmp dword [0x101960f4], ebx
jne 0x10078425
mov eax, esi
sub eax, dword [0x101b8984]
cmp eax, 0x2710
jb 0x10078425
mov dword [0x101b8984], esi
call fcn.1003c560
jmp 0x10078425
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.100867e6
mov esp, ebp
pop ebp
ret