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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbc4
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
push dword [ebx]
call fcn.0051fafa
mov edi, eax
test edi, edi
je 0x5191a8
cmp dword [ebp + 0xc], 2
jne 0x518a85
push 0x76
push dword [ebx]
call sub.USER32.dll_GetDlgItem
mov esi, eax
push 0x56eb7f
push 0
push 0xc
push esi
call sub.USER32.dll_SendMessageA
cmp dword [ebp + 0x1c], 0
je 0x518b2c
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 - 0x41c]
push eax
push esi
call sub.USER32.dll_GetWindowTextA
push dword [ebp + 0x1c]
lea edx, [ebp - 0x41c]
push edx
call fcn.0054e5a0
add esp, 8
test eax, eax
jne 0x518b2c
mov byte [ebp - 0x41c], 0
push esi
call sub.USER32.dll_GetWindowTextLengthA
test eax, eax
jle 0x518af9
push 0x56eb83
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0054e1b0
add esp, 8
push dword [ebp + 0x1c]
lea eax, [ebp - 0x41c]
push eax
call fcn.0054e1b0
add esp, 8
lea edx, [ebp - 0x41c]
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 0x5191a8
push dword [edi + 0x924]
push esi
call sub.GDI32.dll_SelectObject
mov dword [ebp - 0x10], 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 0x518d10
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 0x518ba4
push edi
push 0
push 0xc
push 0x67
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
mov eax, dword [ebx + 0x360]
test eax, eax
jbe 0x518be2
push 1
push 0
push 1
push 1
push 0
push 0
lea ecx, [ebp - 0x41c]
push ecx
mov dword [ebp - 0x434], eax
xor eax, eax
mov dword [ebp - 0x430], eax
fild qword [ebp - 0x434]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e6c02
jmp 0x518bf2
push esi
mov esi, 0x56eb87
lea edi, [ebp - 0x41c]
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 - 0x41c]
push eax
call fcn.0054e28c
pop ecx
cmp edi, eax
je 0x518c28
lea edx, [ebp - 0x41c]
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 - 0x41c]
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 0x518caa
lea eax, [ebx + 0x68]
push eax
lea edx, [ebx + 4]
push edx
call fcn.0054e450
add esp, 8
test eax, eax
je 0x518caa
push 0x56eb8c
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0054e1b0
add esp, 8
lea eax, [ebx + 0x68]
push eax
lea edx, [ebp - 0x41c]
push edx
call fcn.0054e1b0
add esp, 8
push 0x56eb90
lea ecx, [ebp - 0x41c]
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 - 0x41c]
push eax
call fcn.0054e28c
pop ecx
cmp edi, eax
je 0x518ce0
lea edx, [ebp - 0x41c]
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 0x518d10
push edi
push 0
push 0xc
push 0x6d
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
cmp dword [ebp + 0x18], 0
jne 0x518d20
cmp dword [ebp + 0xc], 0
je 0x51902e
xor eax, eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0xc], ecx
xor edi, edi
mov eax, dword [ebx + 0x37c]
test eax, eax
jle 0x518d3e
mov edi, dword [ebx + 0x380]
sub edi, eax
mov byte [ebp - 0x41c], 0
test edi, edi
jbe 0x518ef4
cmp dword [ebx + 0x354], 0
jbe 0x518ef4
cmp dword [ebx + 0x33c], 2
jne 0x518e99
call fcn.0042e7ed
sub eax, dword [ebx + 0x388]
sbb edx, dword [ebx + 0x38c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0
jne 0x518d92
cmp dword [ebp - 0x34], 0x7d0
ja 0x518d98
jmp 0x518e99
jle 0x518e99
fild qword [ebp - 0x34]
fld xword [0x5191b1]
fmulp st(1)
fstp xword [ebp - 0x20]
wait
fld xword [ebp - 0x20]
fcomp dword [0x5191bd]
fnstsw ax
sahf
jae 0x518dc7
xor edx, edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 0x80000000
mov word [ebp - 0x18], 0x3fff
mov ecx, dword [ebx + 0x354]
mov dword [ebp - 0x434], ecx
xor eax, eax
mov dword [ebp - 0x430], eax
fild qword [ebp - 0x434]
mov edx, dword [ebx + 0x390]
mov dword [ebp - 0x43c], edx
xor ecx, ecx
mov dword [ebp - 0x438], ecx
fild qword [ebp - 0x43c]
fsubp st(1)
fstp xword [ebp - 0x2c]
wait
fld xword [ebp - 0x2c]
fcomp dword [0x5191c1]
fnstsw ax
sahf
jae 0x518e1b
xor edx, edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], edx
mov word [ebp - 0x24], dx
fld xword [ebp - 0x2c]
fld xword [ebp - 0x20]
fdivp st(1)
call fcn.005569e8
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
ja 0x518e42
cmp dword [ebx + 0x394], 2
jae 0x518e42
inc dword [ebx + 0x394]
jmp 0x518e75
xor edx, edx
mov dword [ebx + 0x394], edx
mov eax, dword [ebx + 0x368]
cmp eax, dword [ebp - 0xc]
ja 0x518e64
mov edx, dword [ebp - 0xc]
sub edx, eax
shr edx, 1
add dword [ebx + 0x368], edx
jmp 0x518e75
mov ecx, dword [ebx + 0x368]
sub ecx, dword [ebp - 0xc]
shr ecx, 1
sub dword [ebx + 0x368], ecx
call fcn.0042e7ed
mov dword [ebx + 0x388], eax
mov dword [ebx + 0x38c], edx
mov eax, dword [ebx + 0x354]
mov dword [ebx + 0x390], eax
mov dword [ebp - 0x14], 1
mov edx, dword [ebx + 0x368]
mov dword [ebp - 0xc], edx
push 1
push 0
push 1
push 1
push 0
push 0
lea ecx, [ebp - 0x41c]
push ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x434], eax
xor edx, edx
mov dword [ebp - 0x430], edx
fild qword [ebp - 0x434]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e6c02
cmp byte [ebp - 0x41c], 0
je 0x518ef4
push 0x56eb93
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0054e1b0
add esp, 8
lea eax, [ebp - 0x42c]
push eax
push 0x74
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea edx, [ebp - 0x42c]
push edx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0054e28c
pop ecx
push eax
lea eax, [ebp - 0x41c]
push eax
lea edx, [ebp - 0x42c]
push edx
push 6
push dword [ebp - 0x428]
push dword [ebp - 0x42c]
push esi
call sub.GDI32.dll_ExtTextOutA
mov byte [ebp - 0x41c], 0
test edi, edi
jbe 0x518fd4
cmp dword [ebp - 0xc], 0
jbe 0x518fd4
cmp dword [ebx + 0x344], 0
je 0x518f6c
xor edi, edi
jmp 0x518f9e
cmp dword [ebp - 0x14], 0
je 0x518f98
mov edi, dword [ebx + 0x360]
sub edi, dword [ebx + 0x34c]
mov eax, edi
xor edx, edx
div dword [ebp - 0xc]
mov edi, eax
test edi, edi
ja 0x518f90
mov edi, 1
mov dword [ebx + 0x398], edi
jmp 0x518f9e
mov edi, dword [ebx + 0x398]
push 3
push edi
push 0x56eb99
call fcn.00512d37
push esi
push edi
mov edi, eax
lea esi, [ebp - 0x41c]
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 - 0x42c]
push eax
push 0x72
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea edx, [ebp - 0x42c]
push edx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea ecx, [ebp - 0x41c]
push ecx
call fcn.0054e28c
pop ecx
push eax
lea eax, [ebp - 0x41c]
push eax
lea edx, [ebp - 0x42c]
push edx
push 6
push dword [ebp - 0x428]
push dword [ebp - 0x42c]
push esi
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x10], 0
jne 0x51903e
cmp dword [ebp + 0xc], 0
je 0x519127
mov byte [ebp - 0x41c], 0
cmp dword [ebx + 0x354], 0
jbe 0x5190cd
push 1
push 0
push 1
push 1
push 0
push 0
lea ecx, [ebp - 0x41c]
push ecx
mov eax, dword [ebx + 0x34c]
mov dword [ebp - 0x434], eax
xor edx, edx
mov dword [ebp - 0x430], edx
fild qword [ebp - 0x434]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e6c02
mov eax, dword [ebx + 0x37c]
test eax, eax
jle 0x5190cd
mov edi, dword [ebx + 0x380]
sub edi, eax
test edi, edi
jbe 0x5190cd
push 0x56eb9d
lea eax, [ebp - 0x41c]
push eax
call fcn.0054e1b0
add esp, 8
push 3
push edi
push 0x56eba3
call fcn.00512d37
push eax
lea edx, [ebp - 0x41c]
push edx
call fcn.0054e1b0
add esp, 8
lea ecx, [ebp - 0x42c]
push ecx
push 0x70
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea eax, [ebp - 0x42c]
push eax
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea edx, [ebp - 0x41c]
push edx
call fcn.0054e28c
pop ecx
push eax
lea ecx, [ebp - 0x41c]
push ecx
lea eax, [ebp - 0x42c]
push eax
push 6
push dword [ebp - 0x428]
push dword [ebp - 0x42c]
push esi
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x14], 0
jne 0x519133
cmp dword [ebp + 0xc], 0
je 0x519185
lea edx, [ebp - 0x42c]
push edx
push 0x6e
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea ecx, [ebp - 0x42c]
push ecx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push dword [ebx + 0x358]
push dword [ebx + 0x35c]
push dword [ebp - 0x420]
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push dword [ebp - 0x42c]
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 - 0x10]
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