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

Disassembly:
push ecx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebp
push esi
mov esi, dword [esp + 0x14]
xor ebp, ebp
push edi
mov dword [esp + 0x10], ebp
cmp dword [esi + 0xfe0], ebp
je 0x431699
call ebx
mov edi, eax
sub edi, dword [esi + 0xfdc]
cmp edi, 0xffffffff
jne 0x4317ae
cmp dword [0x4fa5f4], ebp
je 0x431781
mov eax, dword [esi + 0xfb0]
cmp eax, ebp
je 0x431781
cmp dword [eax + 0x40], ebp
jle 0x431781
test byte [esp + 0x1c], 1
jne 0x431781
push dword [0x4fac6c]
call fcn.0042ebfb
cmp eax, ebp
je 0x431781
mov eax, dword [eax + 0xfb0]
cmp eax, ebp
je 0x431781
mov ecx, dword [eax + 0x40]
cmp ecx, ebp
je 0x431781
xor edx, edx
cmp ecx, ebp
jle 0x431781
add eax, 0x30
cmp dword [eax], esi
je 0x43170e
inc edx
add eax, 4
cmp edx, ecx
jl 0x431700
jmp 0x431781
call ebx
mov edi, eax
sub edi, dword [0x4fac70]
cmp dword [0x506fb4], 4
jl 0x431738
push edi
lea eax, [esi + 0xcf6]
push eax
push str.companion_highlight_for__s___T_u
push 4
call fcn.004452a3
add esp, 0x10
mov eax, dword [0x4fa5f4]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x43175a
cmp eax, 2
jne 0x43177c
mov eax, dword [0x4fa5e4]
mov edx, dword [0x4fa5e8]
add edx, eax
cmp edi, edx
jae 0x43177c
mov eax, dword [esi + 0xfb0]
cmp dword [eax + 4], 2
mov edx, dword [esp + 0x20]
mov eax, dword [0x4fa608]
je 0x431774
mov eax, dword [0x4fa60c]
mov dword [edx], eax
mov dword [esi + 0xfe4], ecx
cmp edi, 0xffffffff
jne 0x4317ae
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [0x4fa550]
je 0x431a4e
test byte [esp + 0x1c], 1
je 0x431a4e
mov eax, dword [0x4fa610]
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
jmp 0x431a49
cmp dword [esi + 8], ebp
je 0x431a4e
push 5
pop ebp
cmp dword [0x4f9f50], ebp
jne 0x4317cf
push 1
push dword [0x4fa548]
call fcn.00425c27
cmp dword [0x506fb4], ebp
mov ebx, dword [esp + 0x1c]
jl 0x431800
push dword [esi + 0x81c]
push edi
push ebx
push dword [esi + 8]
push dword [0x4fa550]
call fcn.004271c4
push eax
push str.GetNodeBkColor__s__0x_02X_...______T_i___s
push ebp
call fcn.004452a3
add esp, 0x18
cmp dword [esi + 0xfe0], 0
jne 0x431812
cmp dword [0x4fa5f4], 2
jne 0x431842
mov edx, dword [0x4fa5e4]
cmp edi, edx
jb 0x431842
mov ecx, dword [0x4fa5e8]
lea eax, [ecx + edx]
cmp edi, eax
jae 0x43183a
mov eax, edi
sub eax, edx
imul eax, eax, 0x64
xor edx, edx
div ecx
mov dword [esp + 0x10], eax
jmp 0x431842
mov dword [esp + 0x10], 0x64
push 8
mov edi, ebp
pop eax
cmp ebx, 0x11
jne 0x431853
push 0xd
pop edi
push 0xe
jmp 0x43185d
cmp ebx, 1
jne 0x43185e
push 4
pop edi
push 7
pop eax
cmp dword [0x506fb4], 4
jl 0x43187c
push eax
push edi
push dword [esp + 0x18]
push str._fade__i_percent__TargetBackColorIdx_i_TargetForeColorIdx_i
push 4
call fcn.004452a3
add esp, 0x14
cmp dword [esi + 0xfe0], 0
je 0x431971
mov eax, dword [esi + 0xfc0]
test eax, eax
je 0x4318c2
mov eax, dword [eax + 0x39e4]
test eax, eax
je 0x4318a6
cmp dword [esi + 0xffc], 0
jne 0x4318d4
push eax
call fcn.00444652
test eax, eax
jne 0x4318d4
mov eax, dword [esi + 0xfc0]
push dword [eax + 0x10]
call fcn.0044466f
test eax, eax
jne 0x4318d4
mov eax, dword [esi + 0xfc0]
test eax, eax
jne 0x4318f4
cmp dword [esi + 0xffc], eax
je 0x4318f0
cmp dword [0x506fb4], ebp
jl 0x4318e9
push str._cyan
push ebp
call fcn.004452a3
pop ecx
pop ecx
mov eax, dword [0x4fa604]
jmp 0x43196b
test eax, eax
je 0x431951
mov ecx, dword [0x4fc94c]
push eax
call fcn.004011ae
test eax, eax
je 0x431951
mov eax, dword [esi + 0xfc0]
cmp dword [eax + 8], 0
je 0x431951
cmp dword [eax + 0x39e4], 0
je 0x431935
cmp dword [0x506fb4], ebp
jl 0x43192e
push str._yellow
push ebp
call fcn.004452a3
pop ecx
pop ecx
mov eax, dword [0x4fa600]
jmp 0x43196b
cmp dword [0x506fb4], ebp
jl 0x43194a
push str._green
push ebp
call fcn.004452a3
pop ecx
pop ecx
mov eax, dword [0x4fa5f8]
jmp 0x43196b
cmp dword [0x506fb4], ebp
jl 0x431966
push str._red
push ebp
call fcn.004452a3
pop ecx
pop ecx
mov eax, dword [0x4fa5fc]
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
cmp dword [esp + 0x10], 0x64
jne 0x431986
and dword [esi + 0xfe0], 0
and dword [esi + 0xfe4], 0
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
push edi
call esi
and ebx, 0x11
mov edi, eax
cmp bl, 0x11
jne 0x431a0d
push 0xe
call esi
mov ecx, eax
movzx edx, al
shr ecx, 8
shr eax, 0x10
movzx ecx, cl
movzx eax, al
cmp ecx, eax
mov esi, ecx
jg 0x4319b6
mov esi, eax
cmp edx, esi
jle 0x4319be
mov eax, edx
jmp 0x4319c4
cmp ecx, eax
jle 0x4319c4
mov eax, ecx
cmp eax, 0xf0
jle 0x431a0d
mov ebp, dword [esp + 0x20]
movzx ebx, byte [ebp]
mov eax, 0xc8
cmp ebx, eax
jl 0x4319df
sub ebx, 0x16
movzx edx, byte [ebp + 1]
cmp edx, eax
jl 0x4319ea
sub edx, 0x2c
movzx ecx, byte [ebp + 2]
cmp ecx, eax
jl 0x4319f5
sub ecx, 0x21
movzx eax, cl
movzx ecx, dl
shl eax, 8
or eax, ecx
movzx ecx, bl
shl eax, 8
or eax, ecx
mov dword [ebp], eax
jmp 0x431a11
mov ebp, dword [esp + 0x20]
push edi
push dword [esp + 0x14]
push dword [ebp]
call fcn.00427f65
cmp dword [0x506fb4], 4
mov esi, eax
jl 0x431a41
push esi
push edi
push dword [esp + 0x18]
push dword [ebp]
push str._bg0x_06X____i_____0x_06X_____0x_06X
push 4
call fcn.004452a3
add esp, 0x18
cmp esi, dword [ebp]
je 0x431a4e
mov dword [ebp], esi
xor eax, eax
inc eax
jmp 0x431a50
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 0x10