Function at 0x5191c5
Capabilities:
Check for time delay via gettickcount
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbc8
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
push dword [ebx]
call fcn.0051fafa
mov edi, eax
test edi, edi
je 0x519933
cmp dword [ebp + 0xc], 2
jne 0x519205
push 0x76
push dword [ebx]
call sub.USER32.dll_GetDlgItem
mov esi, eax
push 0x56eba7
push 0
push 0xc
push esi
call sub.USER32.dll_SendMessageA
cmp dword [ebp + 0x1c], 0
je 0x5192ac
push 0x76
push dword [ebx]
call sub.USER32.dll_GetDlgItem
mov esi, eax
push 0x7d000
push 0x7d000
push 1
push esi
call fcn.00478480
push 0x3e7
lea eax, [ebp - 0x418]
push eax
push esi
call sub.USER32.dll_GetWindowTextA
push dword [ebp + 0x1c]
lea edx, [ebp - 0x418]
push edx
call fcn.0054e5a0
add esp, 8
test eax, eax
jne 0x5192ac
mov byte [ebp - 0x418], 0
push esi
call sub.USER32.dll_GetWindowTextLengthA
test eax, eax
jle 0x519279
push 0x56ebab
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054e1b0
add esp, 8
push dword [ebp + 0x1c]
lea eax, [ebp - 0x418]
push eax
call fcn.0054e1b0
add esp, 8
lea edx, [ebp - 0x418]
push edx
push 0
push 0xc2
push esi
call sub.USER32.dll_SendMessageA
push esi
call sub.USER32.dll_UpdateWindow
push dword [ebx]
call fcn.0051884c
push dword [ebx]
call sub.USER32.dll_GetDC
mov esi, eax
test esi, esi
je 0x519933
push dword [edi + 0x924]
push esi
call sub.GDI32.dll_SelectObject
mov dword [ebp - 0xc], eax
push dword [0x561938]
push esi
call sub.GDI32.dll_SetTextColor
mov dword [ebp - 4], eax
push dword [0x561924]
push esi
call sub.GDI32.dll_SetBkColor
mov dword [ebp - 8], eax
cmp dword [ebp + 0xc], 0
je 0x519490
push 0x67
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
push eax
lea edi, [ebx + 0x234]
push edi
call fcn.0054e28c
pop ecx
pop edx
cmp edx, eax
je 0x519324
push edi
push 0
push 0xc
push 0x67
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
mov eax, dword [ebx + 0x35c]
test eax, eax
jbe 0x519362
push 1
push 0
push 1
push 1
push 0
push 0
lea ecx, [ebp - 0x418]
push ecx
mov dword [ebp - 0x430], eax
xor eax, eax
mov dword [ebp - 0x42c], eax
fild qword [ebp - 0x430]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e6c02
jmp 0x519372
push esi
mov esi, 0x56ebaf
lea edi, [ebp - 0x418]
mov eax, edi
movsd dword es:[edi], dword [esi]
pop esi
push 0x69
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
mov edi, eax
lea eax, [ebp - 0x418]
push eax
call fcn.0054e28c
pop ecx
cmp edi, eax
je 0x5193a8
lea edx, [ebp - 0x418]
push edx
push 0
push 0xc
push 0x69
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
lea ecx, [ebx + 4]
push esi
mov edi, ecx
lea esi, [ebp - 0x418]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
cmp dword [ebx + 0x374], 0
je 0x51942a
lea eax, [ebx + 0x68]
push eax
lea edx, [ebx + 4]
push edx
call fcn.0054e450
add esp, 8
test eax, eax
je 0x51942a
push 0x56ebb4
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054e1b0
add esp, 8
lea eax, [ebx + 0x68]
push eax
lea edx, [ebp - 0x418]
push edx
call fcn.0054e1b0
add esp, 8
push 0x56ebb8
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054e1b0
add esp, 8
push 0x6b
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
mov edi, eax
lea eax, [ebp - 0x418]
push eax
call fcn.0054e28c
pop ecx
cmp edi, eax
je 0x519460
lea edx, [ebp - 0x418]
push edx
push 0
push 0xc
push 0x6b
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
push 0x6d
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
push eax
lea edi, [ebx + 0x130]
push edi
call fcn.0054e28c
pop ecx
pop edx
cmp edx, eax
je 0x519490
push edi
push 0
push 0xc
push 0x6d
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
cmp dword [ebp + 0x18], 0
jne 0x5194a0
cmp dword [ebp + 0xc], 0
je 0x5197c6
xor eax, eax
mov dword [ebp - 0x10], eax
xor edi, edi
mov eax, dword [ebx + 0x388]
test eax, eax
jle 0x5194b9
mov edi, dword [ebx + 0x38c]
sub edi, eax
mov byte [ebp - 0x418], 0
test edi, edi
jbe 0x51965f
cmp dword [ebx + 0x350], 0
jbe 0x51965f
cmp dword [ebx + 0x33c], 4
jne 0x51960a
call fcn.0042e7ed
sub eax, dword [ebx + 0x390]
sbb edx, dword [ebx + 0x394]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0
jne 0x51950d
cmp dword [ebp - 0x30], 0x7d0
ja 0x519513
jmp 0x51960a
jle 0x51960a
fild qword [ebp - 0x30]
fld xword [0x51993d]
fmulp st(1)
fstp xword [ebp - 0x1c]
wait
fld xword [ebp - 0x1c]
fcomp dword [0x519949]
fnstsw ax
sahf
jae 0x519542
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], 0x80000000
mov word [ebp - 0x14], 0x3fff
mov ecx, dword [ebx + 0x350]
mov dword [ebp - 0x430], ecx
xor eax, eax
mov dword [ebp - 0x42c], eax
fild qword [ebp - 0x430]
mov edx, dword [ebx + 0x398]
mov dword [ebp - 0x438], edx
xor ecx, ecx
mov dword [ebp - 0x434], ecx
fild qword [ebp - 0x438]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
fld xword [ebp - 0x28]
fcomp dword [0x51994d]
fnstsw ax
sahf
jae 0x519596
xor edx, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
mov word [ebp - 0x20], dx
fld xword [ebp - 0x28]
fld xword [ebp - 0x1c]
fdivp st(1)
call fcn.005569e8
test eax, eax
ja 0x5195b8
cmp dword [ebx + 0x39c], 2
jae 0x5195b8
inc dword [ebx + 0x39c]
jmp 0x5195e6
xor edx, edx
mov dword [ebx + 0x39c], edx
mov edx, dword [ebx + 0x364]
cmp eax, edx
jb 0x5195d6
sub eax, edx
shr eax, 1
add dword [ebx + 0x364], eax
jmp 0x5195e6
mov ecx, dword [ebx + 0x364]
sub ecx, eax
shr ecx, 1
sub dword [ebx + 0x364], ecx
call fcn.0042e7ed
mov dword [ebx + 0x390], eax
mov dword [ebx + 0x394], edx
mov eax, dword [ebx + 0x350]
mov dword [ebx + 0x398], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebx + 0x364]
push 1
push 0
push 1
push 1
push 0
push 0
lea edx, [ebp - 0x418]
push edx
mov dword [ebp - 0x430], eax
xor ecx, ecx
mov dword [ebp - 0x42c], ecx
fild qword [ebp - 0x430]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e6c02
cmp byte [ebp - 0x418], 0
je 0x51965f
push str._Sec
lea eax, [ebp - 0x418]
push eax
call fcn.0054e1b0
add esp, 8
lea edx, [ebp - 0x428]
push edx
push 0x74
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea ecx, [ebp - 0x428]
push ecx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.0054e28c
pop ecx
push eax
lea edx, [ebp - 0x418]
push edx
lea ecx, [ebp - 0x428]
push ecx
push 6
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call sub.GDI32.dll_ExtTextOutA
mov byte [ebp - 0x418], 0
test edi, edi
jbe 0x51976c
cmp dword [ebx + 0x35c], 0
jbe 0x51976c
cmp dword [ebx + 0x364], 0
jbe 0x51976c
cmp dword [ebx + 0x344], 0
je 0x5196ef
xor edi, edi
jmp 0x519736
cmp dword [ebp - 0x10], 0
je 0x519727
mov edi, dword [ebx + 0x35c]
sub edi, dword [ebx + 0x350]
mov eax, edi
xor edx, edx
div dword [ebx + 0x364]
mov edi, eax
test edi, edi
ja 0x519716
mov edi, 1
mov dword [ebx + 0x3a0], edi
test edi, edi
ja 0x519736
mov edi, 1
jmp 0x519736
mov edi, dword [ebx + 0x3a0]
test edi, edi
ja 0x519736
mov edi, 1
push 3
push edi
push 0x56ebc1
call fcn.00512d37
push esi
push edi
mov edi, eax
lea esi, [ebp - 0x418]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea eax, [ebp - 0x428]
push eax
push 0x72
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea edx, [ebp - 0x428]
push edx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054e28c
pop ecx
push eax
lea eax, [ebp - 0x418]
push eax
lea edx, [ebp - 0x428]
push edx
push 6
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x10], 0
jne 0x5197d6
cmp dword [ebp + 0xc], 0
je 0x5198b6
mov byte [ebp - 0x418], 0
push 1
push 0
push 1
push 1
push 0
push 0
lea ecx, [ebp - 0x418]
push ecx
mov eax, dword [ebx + 0x350]
mov dword [ebp - 0x430], eax
xor edx, edx
mov dword [ebp - 0x42c], edx
fild qword [ebp - 0x430]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e6c02
mov eax, dword [ebx + 0x388]
test eax, eax
jle 0x51985c
mov edi, dword [ebx + 0x38c]
sub edi, eax
test edi, edi
jbe 0x51985c
push str._in
lea eax, [ebp - 0x418]
push eax
call fcn.0054e1b0
add esp, 8
push 3
push edi
push 0x56ebcb
call fcn.00512d37
push eax
lea edx, [ebp - 0x418]
push edx
call fcn.0054e1b0
add esp, 8
lea ecx, [ebp - 0x428]
push ecx
push 0x70
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea eax, [ebp - 0x428]
push eax
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea edx, [ebp - 0x418]
push edx
call fcn.0054e28c
pop ecx
push eax
lea ecx, [ebp - 0x418]
push ecx
lea eax, [ebp - 0x428]
push eax
push 6
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x14], 0
jne 0x5198c2
cmp dword [ebp + 0xc], 0
je 0x519910
lea edx, [ebp - 0x428]
push edx
push 0x6e
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea ecx, [ebp - 0x428]
push ecx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
push dword [ebx + 0x358]
push dword [ebp - 0x41c]
push dword [ebp - 0x420]
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call fcn.005188b5
push dword [ebp - 4]
push esi
call sub.GDI32.dll_SetTextColor
push dword [ebp - 8]
push esi
call sub.GDI32.dll_SetBkColor
push dword [ebp - 0xc]
push esi
call sub.GDI32.dll_SelectObject
push esi
push dword [ebx]
call sub.USER32.dll_ReleaseDC
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18