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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov esi, 0x58ad60
push dword [ebx]
call fcn.00516145
mov dword [0x58acc0], eax
cmp dword [0x58acc0], 0
je 0x50c2fb
cmp edi, 2
jne 0x50bbdc
push 0x76
push dword [ebx]
call sub.USER32.dll_GetDlgItem
mov dword [0x58acd8], eax
push 0x55ad33
push 0
push 0xc
push dword [0x58acd8]
call sub.USER32.dll_SendMessageA
cmp dword [ebp + 0x1c], 0
je 0x50bc73
push 0x76
push dword [ebx]
call sub.USER32.dll_GetDlgItem
mov dword [0x58acd8], eax
push 0xea60
push 0xea60
push 0xb1
push dword [0x58acd8]
call sub.USER32.dll_SendMessageA
push 0
push 0
push 0xb7
push dword [0x58acd8]
call sub.USER32.dll_SendMessageA
mov byte [esi], 0
push dword [0x58acd8]
call sub.USER32.dll_GetWindowTextLengthA
test eax, eax
jle 0x50bc42
push 0x55ad37
push esi
call fcn.005394dc
add esp, 8
push dword [ebp + 0x1c]
push esi
call fcn.005394dc
add esp, 8
push esi
push 0
push 0xc2
push dword [0x58acd8]
call sub.USER32.dll_SendMessageA
push dword [0x58acd8]
call sub.USER32.dll_UpdateWindow
push dword [ebx]
call fcn.0050b8c8
push dword [ebx]
call sub.USER32.dll_GetDC
mov dword [0x58acec], eax
cmp dword [0x58acec], 0
je 0x50c2fb
mov eax, dword [0x58acc0]
push dword [eax + 0x7a0]
push dword [0x58acec]
call sub.GDI32.dll_SelectObject
mov dword [0x58acd4], eax
push dword [0x54d2e4]
push dword [0x58acec]
call sub.GDI32.dll_SetTextColor
mov dword [0x58acc4], eax
push dword [0x54d2d0]
push dword [0x58acec]
call sub.GDI32.dll_SetBkColor
mov dword [0x58acc8], eax
test edi, edi
je 0x50be44
push 0x67
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
push eax
lea edx, [ebx + 0x234]
push edx
call fcn.005395b8
pop ecx
pop ecx
cmp ecx, eax
je 0x50bd11
lea eax, [ebx + 0x234]
push eax
push 0
push 0xc
push 0x67
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
mov eax, dword [ebx + 0x360]
test eax, eax
jbe 0x50bd40
push 1
push 0
push 1
push 1
push 0
push 0
push esi
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 4], edx
fild qword [ebp - 8]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004d83fe
jmp 0x50bd4e
push esi
push edi
mov edi, esi
mov esi, 0x55ad3b
mov eax, edi
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0x69
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
push eax
push esi
call fcn.005395b8
pop ecx
pop edx
cmp edx, eax
je 0x50bd78
push esi
push 0
push 0xc
push 0x69
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
lea ecx, [ebx + 4]
push esi
push edi
mov edi, ecx
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
cmp dword [ebx + 0x374], 0
je 0x50bde4
lea eax, [ebx + 0x68]
push eax
lea edx, [ebx + 4]
push edx
call fcn.0053977c
add esp, 8
test eax, eax
je 0x50bde4
push 0x55ad40
push esi
call fcn.005394dc
add esp, 8
lea ecx, [ebx + 0x68]
push ecx
push esi
call fcn.005394dc
add esp, 8
push 0x55ad44
push esi
call fcn.005394dc
add esp, 8
push 0x6b
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
push eax
push esi
call fcn.005395b8
pop ecx
pop edx
cmp edx, eax
je 0x50be0e
push esi
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 eax, [ebx + 0x130]
push eax
call fcn.005395b8
pop ecx
pop ecx
cmp ecx, eax
je 0x50be44
lea eax, [ebx + 0x130]
push eax
push 0
push 0xc
push 0x6d
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
cmp dword [ebp + 0x18], 0
jne 0x50be52
test edi, edi
je 0x50c188
xor edx, edx
mov dword [0x58acf0], edx
xor ecx, ecx
mov dword [0x58acd0], ecx
xor eax, eax
mov dword [0x58accc], eax
mov eax, dword [ebx + 0x37c]
test eax, eax
jle 0x50be81
mov edx, dword [ebx + 0x380]
sub edx, eax
mov dword [0x58accc], edx
mov byte [esi], 0
cmp dword [0x58accc], 0
jbe 0x50c033
cmp dword [ebx + 0x354], 0
jbe 0x50c033
cmp dword [ebx + 0x33c], 2
jne 0x50bff2
call sub.KERNEL32.dll_GetTickCount
sub eax, dword [ebx + 0x384]
mov dword [0x58ad0c], eax
cmp dword [0x58ad0c], 0x7d0
jbe 0x50bff2
mov ecx, dword [0x58ad0c]
mov dword [ebp - 8], ecx
xor eax, eax
mov dword [ebp - 4], eax
fild qword [ebp - 8]
fld xword [0x50c304]
fmulp st(1)
fstp xword [0x58acf4]
wait
fld xword [0x58acf4]
fcomp dword [0x50c310]
fnstsw ax
sahf
jae 0x50bf17
xor edx, edx
mov dword [0x58acf4], edx
mov dword [0x58acf8], 0x80000000
mov word [0x58acfc], 0x3fff
mov ecx, dword [ebx + 0x354]
mov dword [ebp - 8], ecx
xor eax, eax
mov dword [ebp - 4], eax
fild qword [ebp - 8]
mov edx, dword [ebx + 0x388]
mov dword [ebp - 0x10], edx
xor ecx, ecx
mov dword [ebp - 0xc], ecx
fild qword [ebp - 0x10]
fsubp st(1)
fstp xword [0x58ad00]
wait
fld xword [0x58ad00]
fcomp dword [0x50c314]
fnstsw ax
sahf
jae 0x50bf68
xor edx, edx
mov dword [0x58ad00], edx
mov dword [0x58ad04], edx
mov word [0x58ad08], dx
fld xword [0x58ad00]
fld xword [0x58acf4]
fdivp st(1)
call fcn.00542680
mov dword [0x58acd0], eax
cmp dword [0x58acd0], 0
ja 0x50bf9a
cmp dword [ebx + 0x38c], 2
jae 0x50bf9a
inc dword [ebx + 0x38c]
jmp 0x50bfd1
xor edx, edx
mov dword [ebx + 0x38c], edx
mov edx, dword [ebx + 0x368]
mov eax, dword [0x58acd0]
cmp edx, eax
ja 0x50bfbd
sub eax, edx
shr eax, 1
add dword [ebx + 0x368], eax
jmp 0x50bfd1
mov ecx, dword [ebx + 0x368]
sub ecx, dword [0x58acd0]
shr ecx, 1
sub dword [ebx + 0x368], ecx
call sub.KERNEL32.dll_GetTickCount
mov dword [ebx + 0x384], eax
mov eax, dword [ebx + 0x354]
mov dword [ebx + 0x388], eax
mov dword [0x58acf0], 1
mov eax, dword [ebx + 0x368]
mov dword [0x58acd0], eax
push 1
push 0
push 1
push 1
push 0
push 0
push esi
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 4], edx
fild qword [ebp - 8]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004d83fe
cmp byte [esi], 0
je 0x50c033
push 0x55ad47
push esi
call fcn.005394dc
add esp, 8
push 0x58acdc
push 0x74
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
push 0x58acdc
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
push esi
call fcn.005395b8
pop ecx
push eax
push esi
push 0x58acdc
push 6
push dword [0x58ace0]
push dword [0x58acdc]
push dword [0x58acec]
call sub.GDI32.dll_ExtTextOutA
mov byte [esi], 0
cmp dword [0x58accc], 0
jbe 0x50c13b
cmp dword [0x58acd0], 0
jbe 0x50c13b
cmp dword [ebx + 0x344], 0
je 0x50c0b0
xor ecx, ecx
mov dword [0x58accc], ecx
jmp 0x50c106
cmp dword [0x58acf0], 0
je 0x50c0fa
mov ecx, dword [ebx + 0x360]
sub ecx, dword [ebx + 0x34c]
mov dword [0x58accc], ecx
mov eax, ecx
xor edx, edx
div dword [0x58acd0]
mov dword [0x58accc], eax
cmp dword [0x58accc], 0
ja 0x50c0ed
mov dword [0x58accc], 1
mov eax, dword [0x58accc]
mov dword [ebx + 0x390], eax
jmp 0x50c106
mov edx, dword [ebx + 0x390]
mov dword [0x58accc], edx
push 3
push dword [0x58accc]
push 0x55ad4d
call fcn.004a8254
push esi
push edi
mov edi, eax
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
push 0x58acdc
push 0x72
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
push 0x58acdc
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
push esi
call fcn.005395b8
pop ecx
push eax
push esi
push 0x58acdc
push 6
push dword [0x58ace0]
push dword [0x58acdc]
push dword [0x58acec]
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x10], 0
jne 0x50c196
test edi, edi
je 0x50c25e
mov byte [esi], 0
cmp dword [ebx + 0x354], 0
jbe 0x50c211
push 1
push 0
push 1
push 1
push 0
push 0
push esi
mov eax, dword [ebx + 0x34c]
mov dword [ebp - 8], eax
xor edx, edx
mov dword [ebp - 4], edx
fild qword [ebp - 8]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004d83fe
mov eax, dword [ebx + 0x37c]
test eax, eax
jle 0x50c211
mov edx, dword [ebx + 0x380]
sub edx, eax
mov dword [0x58accc], edx
test edx, edx
jbe 0x50c211
push 0x55ad51
push esi
call fcn.005394dc
add esp, 8
push 3
push dword [0x58accc]
push 0x55ad57
call fcn.004a8254
push eax
push esi
call fcn.005394dc
add esp, 8
push 0x58acdc
push 0x70
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
push 0x58acdc
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
push esi
call fcn.005395b8
pop ecx
push eax
push esi
push 0x58acdc
push 6
push dword [0x58ace0]
push dword [0x58acdc]
push dword [0x58acec]
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x14], 0
jne 0x50c268
test edi, edi
je 0x50c2bb
push 0x58acdc
push 0x6e
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
push 0x58acdc
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push dword [ebx + 0x358]
push dword [ebx + 0x35c]
push dword [0x58ace8]
push dword [0x58ace4]
push dword [0x58ace0]
push dword [0x58acdc]
push dword [0x58acec]
call fcn.0050b95e
push dword [0x58acc4]
push dword [0x58acec]
call sub.GDI32.dll_SetTextColor
push dword [0x58acc8]
push dword [0x58acec]
call sub.GDI32.dll_SetBkColor
push dword [0x58acd4]
push dword [0x58acec]
call sub.GDI32.dll_SelectObject
push dword [0x58acec]
push dword [ebx]
call sub.USER32.dll_ReleaseDC
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18