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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x100a69a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
inc esi
cmp byte [0x103d9ec4], 1
jne 0x10077918
mov al, 1
jmp 0x10077d16
cmp dword [0x103b86dc], esi
jne 0x10077953
call dword [sym.imp.KERNEL32.dll_GetTickCount]
movzx ecx, word [ebx + 0x14]
sub eax, dword [ecx*4 + 0x10162868]
cmp eax, 0x1388
ja 0x10077953
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd84
call fcn.1003a41e
pop ecx
pop ecx
xor al, al
jmp 0x10077d16
movzx eax, word [ebx + 0x14]
imul eax, eax, 0x1cc
cmp byte [eax + 0x333aad7], 0
jne 0x10077975
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd6c
jmp 0x10077945
cmp byte [ebx + 0x277c], 0
jbe 0x1007798d
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd60
jmp 0x10077945
cmp dword [0x2f91a04], 0x9ca5
jne 0x100779af
mov ecx, dword [0x2fb6ac4]
mov dx, word [ebx + 0x1ae]
cmp dx, word [ecx + 0x1ae]
je 0x1007797e
movzx eax, byte [eax + 0x333aada]
cmp dword [eax*4 + 0x10342bb8], esi
jne 0x100779d1
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd4c
jmp 0x10077945
cmp dword [0x103b73c8], esi
jne 0x10077a30
fld dword [0x103da0d0]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [0x103da0d4]
fstp dword [esp + 8]
fld dword [ebx + 0x1f68]
fstp dword [esp + 4]
fld dword [ebx + 0x1f60]
fstp dword [esp]
call fcn.10006f97
fild dword [0x103b73d0]
add esp, 0x10
fcompp
fnstsw ax
test ah, 5
jp 0x10077a30
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd34
jmp 0x10077945
movzx eax, word [ebx + 0x14]
imul eax, eax, 0x1cc
cmp byte [eax + 0x333ab45], 0
je 0x10077a59
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd24
jmp 0x10077945
cmp dword [0x103b7490], esi
jne 0x10077a95
mov ecx, dword [0x2fb6ac4]
movzx ecx, word [ecx + 0x14]
mov dl, byte [eax + 0x333aad7]
imul ecx, ecx, 0x1cc
cmp dl, byte [ecx + 0x333aad7]
jne 0x10077a95
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd10
jmp 0x10077945
cmp dword [0x103b7574], esi
jne 0x10077abc
cmp dword [eax + 0x333ab68], 0
jg 0x10077abc
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009cd00
jmp 0x10077945
cmp dword [0x103b749c], esi
jne 0x10077afa
mov eax, dword [ebx + 0x14]
imul eax, eax, 0x1cc
movzx eax, byte [eax + 0x333aad8]
cmp eax, dword [0x103b7494]
jge 0x10077af2
cmp byte [ebp + 0xc], 1
jne 0x1007794c
push 2
push 0x1009ccf0
jmp 0x10077945
cmp eax, dword [0x103b7498]
jg 0x10077adc
lea eax, [ebx + 0x5258]
push eax
lea eax, [ebp - 0x9c]
push eax
call sub.MSVCR100.dll_strcpy
pop ecx
pop ecx
lea eax, [ebp - 0x9c]
cmp byte [eax], 0x7c
jne 0x10077b1d
mov byte [eax], 0
cmp byte [eax], 0
je 0x10077b25
inc eax
jmp 0x10077b15
push edi
cmp dword [0x103b7580], esi
jne 0x10077ba8
mov esi, 0x103bb5bc
mov ecx, esi
xor edi, edi
call fcn.10001036
test eax, eax
jle 0x10077b71
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x103bb5c8]
mov ecx, dword [ecx + edi*4]
sub eax, dword [ecx]
mov ecx, dword [0x103b757c]
imul ecx, ecx, 0x3e8
inc edi
cmp eax, ecx
mov ecx, esi
ja 0x10077c0c
call fcn.10001036
cmp edi, eax
jl 0x10077b40
mov ecx, esi
xor edi, edi
call fcn.10001036
test eax, eax
jle 0x10077ba8
lea eax, [ebp - 0x9c]
push eax
mov eax, dword [0x103bb5bc]
push dword [eax + edi*4]
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10077c22
mov ecx, esi
inc edi
call fcn.10001036
cmp edi, eax
jl 0x10077b7e
mov eax, dword [0x103b7484]
cmp eax, 1
jne 0x10077c82
mov esi, 0x103bb550
mov ecx, esi
xor edi, edi
call fcn.10001036
test eax, eax
jle 0x10077c5e
mov eax, dword [0x103bb55c]
mov eax, dword [eax + edi*4]
cmp dword [eax], 0
je 0x10077c4e
mov eax, dword [0x103bb550]
push dword [eax + edi*4]
lea eax, [ebp - 0x38]
push eax
call sub.MSVCR100.dll_strcpy
lea eax, [ebp - 0x38]
push 0x1009cce8
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
add esp, 0x10
test eax, eax
je 0x10077c38
lea eax, [ebx + 0x1ff4]
push eax
lea eax, [ebp - 0x33]
jmp 0x10077c42
push edi
call fcn.1000103a
push edi
mov ecx, 0x103bb5c8
call fcn.100011dd
jmp 0x10077b33
cmp byte [ebp + 0xc], 1
jne 0x10077d13
push 2
push 0x1009ccd8
jmp 0x10077d0c
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x38]
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10077c65
mov ecx, esi
inc edi
call fcn.10001036
cmp edi, eax
jl 0x10077bcc
mov al, 1
jmp 0x10077d15
cmp byte [ebp + 0xc], 1
jne 0x10077d13
push 2
push 0x1009ccc4
call fcn.1003a41e
pop ecx
pop ecx
jmp 0x10077d05
cmp eax, 3
je 0x10077c5e
mov esi, 0x103bb550
mov ecx, esi
xor edi, edi
call fcn.10001036
test eax, eax
jle 0x10077cff
mov eax, dword [0x103bb55c]
mov eax, dword [eax + edi*4]
cmp dword [eax], 0
je 0x10077cf3
mov eax, dword [0x103bb550]
push dword [eax + edi*4]
lea eax, [ebp - 0x38]
push eax
call sub.MSVCR100.dll_strcpy
lea eax, [ebp - 0x38]
push 0x1009cce8
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
add esp, 0x10
test eax, eax
je 0x10077cd9
lea eax, [ebx + 0x1ff4]
push eax
lea eax, [ebp - 0x33]
jmp 0x10077ce3
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x38]
push eax
call sub.MSVCR100.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x10077c5e
mov ecx, esi
inc edi
call fcn.10001036
cmp edi, eax
jl 0x10077c99
cmp byte [ebp + 0xc], 1
jne 0x10077d13
push 2
push 0x1009ccb0
call fcn.1003a41e
pop ecx
pop ecx
xor al, al
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.10083e24
leave
ret