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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100ab120
push 0x10085f9a
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 0x10077073
mov eax, dword [0x1012d3cc]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10077aac
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 0x100770cf
cmp dword [0x12b4a90], 0
jne 0x100770cf
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 0x10077aa5
push 0
push 0
push 0xfb1
mov ecx, dword [0x100eaf2c]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0x2710
je 0x10077105
push 0x100349a0
push 0xfffffffffffffffc
mov edx, dword [0x100eaf2c]
push edx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [0x101a46e4], eax
xor edi, edi
mov dword [ebp - 0x84], edi
mov ecx, 0x101a20bc
call fcn.10001240
cmp edi, eax
jge 0x1007741c
mov eax, dword [0x101a20bc]
mov ecx, dword [eax + edi*4]
mov edx, ebx
sub edx, dword [ecx]
cmp edx, 0xbb8
ja 0x10077403
mov edx, dword [0x101a20b0]
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 0x10077148
sub eax, esi
je 0x100774bc
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 0x100a1534
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, 0x101a2098
call fcn.10001240
cmp esi, eax
jge 0x100771d9
lea ecx, [ebp - 0x80]
mov eax, dword [0x101a2098]
mov eax, dword [eax + esi*4]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100771c0
test dl, dl
je 0x100771bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100771c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100771a0
xor eax, eax
jmp 0x100771c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100771d6
mov ecx, dword [0x101a20a4]
mov eax, dword [ecx + esi*4]
inc dword [eax]
jmp 0x100771f7
inc esi
jmp 0x1007717f
test edi, edi
jne 0x100771f7
lea edx, [ebp - 0x80]
push edx
mov ecx, 0x101a2098
call fcn.10001160
push 1
mov ecx, 0x101a20a4
call fcn.100011e0
mov eax, dword [0x361f6dc]
mov dword [ebp - 0x88], eax
cmp dword [0x10197fd0], 1
jne 0x100774b1
xor ebx, ebx
xor esi, esi
mov edi, dword [0x101a20b0]
mov dword [ebp - 0x9c], esi
cmp esi, 7
jge 0x1007727c
mov ecx, dword [esi*4 + 0x35f5170]
test ecx, ecx
je 0x100772c8
cmp byte [ecx + 0x330], bl
je 0x100772c8
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 0x10077270
test dl, dl
je 0x1007726c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10077270
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077250
xor eax, eax
jmp 0x10077275
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100772c8
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0x90], esi
mov ecx, 0x101a2074
call fcn.10001240
cmp esi, eax
jge 0x100772da
mov eax, dword [0x101a20b0]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx]
add eax, 2
mov edx, dword [0x101a2074]
mov ecx, dword [edx + esi*4]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x100772ce
test dl, dl
je 0x100772c4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x100772ce
add ecx, 2
add eax, 2
test dl, dl
jne 0x100772a8
xor eax, eax
jmp 0x100772d3
inc esi
jmp 0x10077219
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077326
lea ebx, [eax + 1]
xor esi, esi
mov dword [ebp - 0xa0], esi
mov ecx, 0x101a2068
call fcn.10001240
cmp esi, eax
jge 0x1007733c
mov eax, dword [0x101a20b0]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx]
add eax, 2
mov edx, dword [0x101a2068]
mov ecx, dword [edx + esi*4]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1007732c
test dl, dl
je 0x10077322
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1007732c
add ecx, 2
add eax, 2
test dl, dl
jne 0x10077306
xor eax, eax
jmp 0x10077331
inc esi
jmp 0x1007727e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100774b1
inc esi
jmp 0x100772dc
test ebx, ebx
jne 0x100774b1
mov esi, dword [0x101a20b0]
cmp dword [0x10198a34], 1
jne 0x100773a3
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x14]
imul ecx, ecx, 0x1cc
add ecx, 0xfb9ead
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 0x10077396
test dl, dl
je 0x10077392
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077396
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077376
xor eax, eax
jmp 0x1007739b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007741c
cmp dword [0x10197fd4], 1
jne 0x100773d1
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 + 0xfb9ebf]
je 0x1007741c
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.10006340
mov ecx, dword [0x101a20b0]
mov edx, dword [ecx + edi*4]
mov eax, dword [edx]
add eax, 2
push eax
mov ecx, 0x101a2068
call fcn.10001160
lea esi, [edi + 1]
push esi
mov ecx, 0x101a20bc
call fcn.10001250
push esi
mov ecx, 0x101a20b0
call fcn.10001250
mov esi, dword [ebp - 0x8c]
mov ecx, esi
sub ecx, dword [0x101b8d48]
cmp ecx, 0xea60
jb 0x10077438
mov dword [0x101b8d48], esi
mov eax, dword [0x1012d3e4]
mov edi, 1
cmp eax, edi
je 0x10077450
cmp eax, 2
je 0x10077450
cmp eax, 3
jne 0x10077455
call fcn.1006ef90
xor ebx, ebx
cmp dword [0x361f6dc], ebx
je 0x10077aa5
cmp dword [0x12abfc8], edi
jne 0x10077497
push 0x1009456c
call fcn.100072f0
add esp, 4
cmp eax, edi
jne 0x10077497
cmp dword [0x33cbdd0], ebx
jle 0x10077497
push 0x1009b0f8
call fcn.100386e0
add esp, 4
mov dword [0x12abfc8], ebx
cmp dword [0x101960d4], edi
jne 0x100774c2
mov edx, dword [0x361f6dc]
mov dword [edx + 0x2744], 0x10f
jmp 0x100774d1
mov edi, dword [ebp - 0x84]
jmp 0x10077403
inc edi
jmp 0x10077107
mov eax, dword [0x361f6dc]
mov dword [eax + 0x2744], 0xf
mov ecx, esi
sub ecx, dword [0x101b8d44]
cmp ecx, 0xea60
jb 0x100774ec
mov dword [0x101b8d44], esi
call fcn.100473b0
cmp dword [0x101919f4], edi
jne 0x1007751f
mov edx, esi
sub edx, dword [0x1011cd84]
mov eax, dword [0x10191ddc]
imul eax, eax, 0x3e8
cmp edx, eax
jb 0x1007751f
mov ecx, dword [0x1011cd20]
cmp ecx, dword [0x10191de0]
jl 0x1007751f
mov dword [0x1011cd20], ebx
mov eax, dword [0x1011cd90]
cmp eax, ebx
je 0x10077538
sub esi, eax
cmp esi, 0x3e8
jb 0x10077538
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 0x10077560
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 [0x101a43b8]
push eax
call dword [sym.imp.KERNEL32.dll_SetWaitableTimer]
push 0xff
push 0xffffffffffffffff
push 0
push 0x101a43b8
push 1
call esi
test eax, eax
je 0x100775dd
lea esp, [esp]
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0xc4]
push ecx
call edi
test eax, eax
je 0x10077593
lea edx, [ebp - 0xc4]
push edx
call ebx
lea eax, [ebp - 0xc4]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x100775b0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x88]
mov eax, dword [0x10196104]
cmp ecx, eax
jb 0x10077560
push 0x100945d8
call fcn.100072f0
add esp, 4
mov ebx, 1
cmp eax, ebx
jne 0x100776ac
cmp dword [0x1011cd68], 2
jne 0x1007762e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101b88ec]
cmp eax, 0xbb8
jae 0x100776a0
cmp dword [0x1019af28], ebx
jne 0x100776ac
xor edi, edi
xor esi, esi
mov dword [ebp - 0x94], esi
mov ecx, 0x101a2050
call fcn.10001240
cmp esi, eax
jge 0x1007768b
mov ecx, 0x1011c6d4
mov edx, dword [0x101a2050]
mov eax, dword [edx + esi*4]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10077680
test dl, dl
je 0x1007767c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10077680
add eax, 2
add ecx, 2
test dl, dl
jne 0x10077660
xor eax, eax
jmp 0x10077685
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10077698
mov edi, ebx
cmp dword [0x1019afd8], 0
jne 0x1007769c
cmp edi, ebx
jmp 0x1007769e
add esi, ebx
jmp 0x1007763a
test edi, edi
jne 0x100776ac
push 0
push 3
call fcn.1003b230
add esp, 8
call fcn.1006ace0
cmp dword [0x1019f498], ebx
jne 0x100776ff
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d40], eax
cmp byte [0x1012d409], bl
jne 0x100776ff
mov ecx, eax
sub ecx, dword [0x101b8d3c]
cmp ecx, 0xfa
jb 0x100776ff
mov dword [0x101b8d3c], eax
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x100776ef
push eax
jmp 0x100776f7
mov edx, dword [0x1019f49c]
dec edx
push edx
call fcn.10037da0
add esp, 8
cmp dword [0x10190dfc], ebx
jne 0x1007773c
cmp dword [0x361f6dc], 0
je 0x1007773c
cmp dword [0x33cbdd0], 0
jle 0x1007773c
mov esi, dword [ebp - 0x8c]
mov eax, esi
sub eax, dword [0x101b8d38]
cmp eax, dword [0x1012d360]
jb 0x10077742
mov dword [0x101b8d38], esi
call fcn.1006ae20
jmp 0x10077742
mov esi, dword [ebp - 0x8c]
cmp dword [0x10190e00], ebx
jne 0x10077765
mov ecx, esi
sub ecx, dword [0x101b8d34]
cmp ecx, dword [0x1012d364]
jb 0x10077765
mov dword [0x101b8d34], esi
call fcn.1004ae80
mov eax, dword [0x1011d1b4]
test eax, eax
jle 0x10077785
mov edx, esi
sub edx, dword [0x1011d1b0]
cmp edx, eax
jb 0x10077785
mov dword [0x1011d1b0], esi
call fcn.100737d0
mov eax, dword [0x1011d1a4]
test eax, eax
jle 0x100777a5
mov ecx, esi
sub ecx, dword [0x1011d1a0]
cmp ecx, eax
jb 0x100777a5
mov dword [0x1011d1a0], esi
call fcn.1006c610
mov eax, dword [0x1011d19c]
test eax, eax
jle 0x100777c5
mov edx, esi
sub edx, dword [0x1011d198]
cmp edx, eax
jb 0x100777c5
mov dword [0x1011d198], esi
call fcn.1005d650
mov eax, dword [0x1011d194]
test eax, eax
jle 0x100777e5
mov ecx, esi
sub ecx, dword [0x1011d190]
cmp ecx, eax
jb 0x100777e5
mov dword [0x1011d190], esi
call fcn.1003bcc0
mov eax, dword [0x1011d18c]
test eax, eax
jle 0x10077805
mov edx, esi
sub edx, dword [0x1011d188]
cmp edx, eax
jb 0x10077805
mov dword [0x1011d188], esi
call fcn.1003bf00
mov eax, dword [0x1011d184]
test eax, eax
jle 0x10077825
mov ecx, esi
sub ecx, dword [0x1011d180]
cmp ecx, eax
jb 0x10077825
mov dword [0x1011d180], esi
call fcn.1003c2a0
mov eax, dword [0x1011d17c]
test eax, eax
jle 0x10077845
mov edx, esi
sub edx, dword [0x1011d178]
cmp edx, eax
jb 0x10077845
mov dword [0x1011d178], esi
call fcn.1003c0f0
cmp dword [0x1011d174], 0
jle 0x1007786c
mov eax, dword [0x1011cd68]
cmp eax, 2
je 0x1007786c
cmp eax, 5
je 0x1007786c
cmp eax, 4
je 0x1007786c
cmp eax, 6
je 0x1007786c
call fcn.1007c5d0
cmp dword [0x10191854], ebx
jne 0x100778c0
cmp dword [0x1011d1b4], 0
jle 0x100778c0
cmp dword [0x10191860], ebx
jne 0x100778c0
cmp byte [0x1012d3f5], bl
jne 0x100778c0
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0xa0
jb 0x100778c0
mov dword [0x1011cd28], esi
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x100778b0
push eax
jmp 0x100778b8
mov ecx, dword [0x10192e78]
dec ecx
push ecx
call fcn.10037da0
add esp, 8
mov eax, dword [0x1011d1ac]
test eax, eax
jle 0x100778e0
mov edx, esi
sub edx, dword [0x1011d1a8]
cmp edx, eax
jb 0x100778e0
mov dword [0x1011d1a8], esi
call fcn.10076870
cmp dword [0x10197fe0], ebx
jne 0x10077917
cmp byte [0x1012d409], bl
jne 0x10077917
mov eax, esi
sub eax, dword [0x1011cd28]
cmp eax, 0x190
jb 0x10077917
mov dword [0x1011cd28], esi
push 0xb
mov ecx, dword [0x10197fe4]
dec ecx
push ecx
call fcn.10037da0
add esp, 8
cmp dword [0x1019eeac], ebx
jne 0x1007794c
cmp byte [0x1012d412], bl
jne 0x1007794c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101b8d40], eax
mov edx, eax
sub edx, dword [0x101b8984]
cmp edx, dword [0x100ae398]
jb 0x1007794c
mov dword [0x101b8984], eax
call fcn.100802e0
cmp dword [0x1019ff40], ebx
jne 0x10077977
cmp byte [0x1012d412], bl
jne 0x10077977
mov eax, esi
sub eax, dword [0x101b8d30]
cmp eax, dword [0x1019ff44]
jb 0x10077977
mov dword [0x101b8d30], esi
call fcn.1007ab10
cmp dword [0x1019efb4], ebx
jne 0x100779a2
cmp byte [0x1012d412], bl
jne 0x100779a2
mov ecx, esi
sub ecx, dword [0x101b8d2c]
cmp ecx, 0x12c
jb 0x100779a2
mov dword [0x101b8d2c], esi
call fcn.10080400
cmp dword [0x1019e9b0], ebx
jne 0x100779ca
cmp byte [0x1012d412], bl
jne 0x100779ca
mov edx, esi
sub edx, dword [0x101b8d28]
cmp edx, 0x64
jb 0x100779ca
mov dword [0x101b8d28], esi
call fcn.1007aa10
cmp dword [0x1019e5c8], 0
je 0x100779ed
mov eax, esi
sub eax, dword [0x101b8d24]
cmp eax, 0x3e8
jb 0x100779ed
mov dword [0x101b8d24], esi
call fcn.1007ba20
cmp dword [0x10191928], ebx
jne 0x10077a53
cmp byte [0x1012d401], bl
jne 0x10077a42
cmp dword [0x101b896c], 3
jge 0x10077a42
mov ecx, esi
sub ecx, dword [0x1012d268]
cmp ecx, 0x96
jb 0x10077a53
mov eax, dword [0x100ae394]
push 0
test eax, eax
js 0x10077a24
push eax
jmp 0x10077a2c
mov edx, dword [0x10192e80]
dec edx
push edx
call fcn.10037da0
add esp, 8
mov dword [0x1012d268], esi
add dword [0x101b896c], ebx
jmp 0x10077a53
mov dword [0x101b896c], 0
mov byte [0x1012d401], 0
cmp dword [0x101960f4], ebx
jne 0x10077aa5
mov eax, esi
sub eax, dword [0x101b8974]
cmp eax, 0x2710
jb 0x10077aa5
mov dword [0x101b8974], esi
call fcn.1003bf70
jmp 0x10077aa5
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.10085dc6
mov esp, ebp
pop ebp
ret