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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x100ae8c8]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x1012d412], 1
push ebx
push esi
push edi
mov esi, 1
jne 0x1007c433
cmp dword [0x1019fdcc], esi
jne 0x1007c433
mov eax, dword [0x2fb7ac4]
movzx ecx, word [eax + 0x14]
imul ecx, ecx, 0x1cc
mov edx, dword [ecx + 0x333bb68]
sub edx, dword [0x1011cd1c]
cmp edx, dword [0x1019fdd0]
jl 0x1007c433
mov eax, dword [0x1019e5d8]
push 0
push 0
push 0x22b8
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 8
push 0x100a1fa8
call fcn.1003af20
add esp, 8
cmp dword [0x101a00b4], esi
je 0x1007c447
cmp dword [0x101a00b8], esi
jne 0x1007c61a
mov eax, dword [0x2f9af18]
xor ebx, ebx
mov dword [ebp - 0xa0], 0
lea ecx, [eax + 0x540]
lea edx, [ebx + 0xa]
mov eax, dword [ecx - 4]
test eax, eax
jle 0x1007c47f
mov eax, dword [eax + 0x54]
cmp eax, 0x5e
jne 0x1007c478
mov dword [ebp - 0xa0], esi
jmp 0x1007c47f
cmp eax, 0x60
jne 0x1007c47f
mov ebx, esi
mov eax, dword [ecx]
test eax, eax
jle 0x1007c49c
mov eax, dword [eax + 0x54]
cmp eax, 0x5e
jne 0x1007c495
mov dword [ebp - 0xa0], esi
jmp 0x1007c49c
cmp eax, 0x60
jne 0x1007c49c
mov ebx, esi
mov eax, dword [ecx + 4]
test eax, eax
jle 0x1007c4ba
mov eax, dword [eax + 0x54]
cmp eax, 0x5e
jne 0x1007c4b3
mov dword [ebp - 0xa0], esi
jmp 0x1007c4ba
cmp eax, 0x60
jne 0x1007c4ba
mov ebx, esi
mov eax, dword [ecx + 8]
test eax, eax
jle 0x1007c4d8
mov eax, dword [eax + 0x54]
cmp eax, 0x5e
jne 0x1007c4d1
mov dword [ebp - 0xa0], esi
jmp 0x1007c4d8
cmp eax, 0x60
jne 0x1007c4d8
mov ebx, esi
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x1007c4f6
mov eax, dword [eax + 0x54]
cmp eax, 0x5e
jne 0x1007c4ef
mov dword [ebp - 0xa0], esi
jmp 0x1007c4f6
cmp eax, 0x60
jne 0x1007c4f6
mov ebx, esi
add ecx, 0x14
sub edx, esi
jne 0x1007c461
mov esi, dword [0x2f99460]
xor edi, edi
call fcn.10006a60
test eax, eax
je 0x1007c61a
add esi, 0x53c
lea esp, [esp]
mov eax, dword [esi]
test eax, eax
je 0x1007c559
lea ecx, [eax + 0x64]
mov eax, 0x100a1f9c
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007c550
test dl, dl
je 0x1007c54c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007c550
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007c530
xor eax, eax
jmp 0x1007c555
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007c56b
inc edi
add esi, 4
call fcn.10006a60
cmp edi, eax
jb 0x1007c520
jmp 0x1007c61a
cmp dword [0x101a00b4], 1
jne 0x1007c5c0
test ebx, ebx
jne 0x1007c5c0
push 0x64
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, 0x1019ff5c
call sub.mfc100.dll_Ordinal_6969
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x9c]
push eax
mov dword [ebp - 0x14], 0xffffffff
call fcn.10046a30
mov eax, dword [ebp - 0x14]
add esp, 8
cmp eax, 0xffffffff
je 0x1007c5c0
push eax
push edi
call fcn.1003bb50
mov ecx, dword [ebp - 0x14]
add esp, 8
mov dword [0x101c047c], ecx
cmp dword [0x101a00b8], 1
jne 0x1007c61a
cmp dword [ebp - 0xa0], 0
jne 0x1007c61a
push 0x64
lea edx, [ebp - 0x9c]
push edx
mov ecx, 0x101a0008
call sub.mfc100.dll_Ordinal_6969
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x9c]
push ecx
mov dword [ebp - 0x14], 0xffffffff
call fcn.10046a30
mov eax, dword [ebp - 0x14]
add esp, 8
cmp eax, 0xffffffff
je 0x1007c61a
push eax
push edi
call fcn.1003bb50
mov edx, dword [ebp - 0x14]
add esp, 8
mov dword [0x101c0478], edx
mov ebx, 1
cmp dword [0x1019ff58], ebx
jne 0x1007c6c0
mov eax, dword [0x2fb7ac4]
cmp dword [eax + 0x51e4], 0
jne 0x1007c642
cmp dword [eax + 0x2a50], 6
je 0x1007c654
cmp dword [eax + 0x47f8], 0
jne 0x1007c6c0
cmp dword [eax + 0x2a50], 4
jne 0x1007c6c0
xor edi, edi
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.10006c40
add esp, 8
mov ecx, 0x1019c4e4
xor esi, esi
call fcn.10001240
test eax, eax
jle 0x1007c6b9
mov edx, dword [0x1019c4e4]
mov eax, dword [edx + esi*4]
lea ecx, [ebp - 0x28]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007c6a0
test dl, dl
je 0x1007c69c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007c6a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007c680
xor eax, eax
jmp 0x1007c6a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007c6f9
mov ecx, 0x1019c4e4
add esi, ebx
call fcn.10001240
cmp esi, eax
jl 0x1007c673
add edi, ebx
cmp edi, 0x14
jl 0x1007c656
cmp dword [0x2f92a08], 0x9ca5
jne 0x1007c723
cmp dword [0x34d2968], 0
jne 0x1007c773
cmp dword [0x101a00cc], ebx
jne 0x1007c773
cmp dword [0x101a00c8], 0
jne 0x1007c717
push ebx
call fcn.1003bfc0
add esp, 4
jmp 0x1007c773
mov eax, dword [ebp - 0xc]
push ebx
push eax
call fcn.1003a280
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100867e6
mov esp, ebp
pop ebp
ret
push 0
call fcn.1003bfc0
add esp, 4
jmp 0x1007c773
cmp dword [0x1019ff44], ebx
jne 0x1007c773
cmp byte [0x1012d412], bl
jne 0x1007c773
cmp dword [0x34d2968], 0
jne 0x1007c773
cmp byte [0x101c0424], 0
jne 0x1007c773
mov ecx, dword [0x1019ff48]
mov edx, dword [0x101a46e8]
imul ecx, ecx, 0x3e8
mov eax, dword [0x100eaf2c]
push 0x1007b460
push ecx
add edx, 0x5a
push edx
push eax
mov byte [0x101c0424], bl
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x1019ff4c], ebx
jne 0x1007c7f3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x101c0474]
cmp eax, 0xbb8
jb 0x1007c7f3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x101c0474], eax
call fcn.1003b8a0
mov eax, dword [0x2f99464]
mov edi, dword [sym.imp.MSVCR100.dll_sprintf]
lea esi, [eax + 0x53c]
mov ebx, 0xf
mov eax, dword [esi]
test eax, eax
je 0x1007c7ed
cmp dword [eax + 0xe00], 0x32
jne 0x1007c7ed
movzx ecx, word [eax + 0xf64]
cmp ecx, 0x50
jge 0x1007c7ed
push ecx
add eax, 0x64
push eax
lea ecx, [ebp - 0x38]
push 0x100a1f80
push ecx
call edi
lea edx, [ebp - 0x38]
push edx
push 3
call fcn.10039db0
add esp, 0x18
add esi, 4
dec ebx
jne 0x1007c7b4
mov edi, 0x333bab2
cmp byte [edi - 2], 0
je 0x1007c871
mov ecx, 0x101c045c
xor esi, esi
call fcn.10001240
test eax, eax
jle 0x1007c858
mov edi, edi
mov eax, dword [0x101c045c]
mov ecx, dword [eax + esi*4]
mov eax, edi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007c840
test dl, dl
je 0x1007c83c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007c840
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007c820
xor eax, eax
jmp 0x1007c845
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007c871
mov ecx, 0x101c045c
inc esi
call fcn.10001240
cmp esi, eax
jl 0x1007c810
push edi
mov ecx, 0x101c045c
call fcn.10001100
mov ecx, dword [edi + 0x1e]
push ecx
mov ecx, 0x101c0468
call fcn.100011e0
add edi, 0x1cc
lea edx, [edi - 2]
cmp edx, 0x348c950
jl 0x1007c7f8
cmp byte [0x1012d3fa], 0
mov edi, dword [0x2fb7ac4]
jne 0x1007c89f
push 0
call fcn.100476d0
add esp, 4
cmp dword [0x1019fe74], 1
jne 0x1007ca7a
cmp byte [0x1012d3fa], 0
jne 0x1007ca7a
cmp dword [0x1012d3e4], 0
jne 0x1007ca7a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov esi, edx
shr esi, 6
mov edx, esi
sub edx, dword [0x1012d394]
cmp edx, dword [0x10192ea8]
jl 0x1007c912
push 1
call fcn.100476d0
push 0
mov dword [0x1012d394], esi
call fcn.10060b90
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100867e6
mov esp, ebp
pop ebp
ret
xor esi, esi
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.10006c40
add esp, 8
mov ecx, 0x1009e3f4
lea eax, [ebp - 0x28]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007c950
test dl, dl
je 0x1007c94c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007c950
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007c930
xor eax, eax
jmp 0x1007c955
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007ca60
mov ecx, 0x1009e3c4
lea eax, [ebp - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007c985
test dl, dl
je 0x1007c981
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007c985
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007c965
xor eax, eax
jmp 0x1007c98a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007ca60
mov ecx, 0x1009e3b8
lea eax, [ebp - 0x28]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007c9c0
test dl, dl
je 0x1007c9bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007c9c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007c9a0
xor eax, eax
jmp 0x1007c9c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007ca60
mov ecx, 0x1009e3d0
lea eax, [ebp - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007c9f5
test dl, dl
je 0x1007c9f1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007c9f5
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007c9d5
xor eax, eax
jmp 0x1007c9fa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007ca60
mov ecx, 0x1009e3dc
lea eax, [ebp - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007ca26
test dl, dl
je 0x1007ca22
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007ca26
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007ca06
xor eax, eax
jmp 0x1007ca2b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007ca60
mov ecx, 0x1009e3ac
lea eax, [ebp - 0x28]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007ca57
test dl, dl
je 0x1007ca53
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007ca57
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007ca37
xor eax, eax
jmp 0x1007ca5c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1007ca70
lea ecx, [ebp - 0x28]
push ecx
call fcn.10006d90
add esp, 4
test eax, eax
je 0x1007caae
inc esi
cmp esi, 0x14
jl 0x1007c914
cmp dword [0x1019fe78], 1
jne case.default.0x1007caa7
mov edx, dword [0x2fb7ac4]
cmp dword [edx + 0x297c], 0
jne case.default.0x1007caa7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x1012d210], eax
mov eax, dword [0x1019fe7c]
cmp eax, 4
ja case.default.0x1007caa7
jmp dword [eax*4 + 0x1007cb9c]
pop edi
pop esi
mov dword [0x1012d394], 0xffff8ad0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100867e6
mov esp, ebp
pop ebp
ret
push 0
push 0x92c0d
jmp 0x1007caf4
push 0
push 0x92c0e
jmp 0x1007caf4
push 0
push 0x92c0f
jmp 0x1007caf4
push 0
push 0xf468d
jmp 0x1007caf4
push 0
push 0xf468e
call fcn.1003a280
add esp, 8
mov esi, 1
cmp dword [0x1019fe80], esi
jne 0x1007cb75
lea eax, [edi + 0x4834]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007cb12
sub eax, edx
je 0x1007cb75
cmp byte [edi + 0x4894], cl
jne 0x1007cb75
push 0x32
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x10196a5c
call sub.mfc100.dll_Ordinal_6969
mov ecx, 0x1009b290
lea eax, [ebp - 0x38]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1007cb60
test dl, dl
je 0x1007cb5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1007cb60
add eax, 2
add ecx, 2
test dl, dl
jne 0x1007cb40
xor eax, eax
jmp 0x1007cb65
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1007cb75
lea ecx, [ebp - 0x38]
push ecx
call fcn.1003a0f0
add esp, 4
cmp dword [0x1019fe84], esi
jne 0x1007cb8b
cmp dword [0x34da460], 0
jne 0x1007cb8b
call fcn.1003a470
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100867e6
mov esp, ebp
pop ebp
ret